Baixe o app para aproveitar ainda mais
Prévia do material em texto
MATERIAL DO CURSO Teste de Software APOSTILA 02 CONCEITOS BÁSICOS - TESTES × O que é Teste de Software? Teste é o processo de executar um programa com o objetivo de verificar sua conformidade em relação aos requisitos especificados. CONCEITOS BÁSICOS - TESTES Porque Testamos? × para verificar se o software está fazendo o que foi pedido que ele fizesse num requisito; × para garantir que o negócio não vai correr riscos provocados por defeitos em produção; × para assegurar a qualidade do software; CONCEITOS BÁSICOS - PROCESSOS Qual a diferença entre Projeto e Processo? × Projeto é um empreendimento temporário conduzido para criar um produto ou serviço ou resultado único × Processo - Um processo de Engenharia de Software é formado por um conjunto de passos de processo parcialmente ordenados, relacionados com artefatos, pessoas, recursos, estruturas organizacionais e restrições, tendo como objetivo produzir e manter os produtos de software finais requeridos. CONCEITOS BÁSICOS - PROCESSOS Projeto x Processo × O teste também deve ser considerado um projeto; × É importante termos um processo de teste; 6 CONCEITOS BÁSICOS - PROCESSOS PRINCÍPIO BASE DOS MODELOS DE QUALIDADE Melhores processos Melhores produtos OBJETIVO Melhorar os processos para melhorar os produtos (bens e serviços) CONCEITOS BÁSICOS - DEFEITOS O que é Defeito? × Qualquer condição que causa um desvio de um resultado baseado no que diz um requisito, um documento de especificação, um documento do usuário, um padrão, ou conforme a experiência ou percepção do técnico, que requeira investigação. Obs.: Defeitos podem ser encontrados em produtos de software ou artefatos de software Custo do Defeito Conceitos Básicos 8 CONCEITOS BÁSICOS × O RUP é um framework de processo iterativo e incremental que provê uma abordagem disciplinada para o desenvolvimento de software × Possui duas dimensões: + O eixo horizontal representa o aspecto dinâmico do processo e mostra as fases do ciclo de vida à medida que este se desenvolve + O eixo vertical representa o aspecto estático do processo, como ele é descrito em termos de disciplinas × As disciplinas fundamentais do processo de desenvolvimento de software também estão presentes na estrutura do RUP × O RUP é um framework de processo iterativo e incremental que provê uma abordagem disciplinada para o desenvolvimento de software × Possui duas dimensões: + O eixo horizontal representa o aspecto dinâmico do processo e mostra as fases do ciclo de vida à medida que este se desenvolve + O eixo vertical representa o aspecto estático do processo, como ele é descrito em termos de disciplinas × As disciplinas fundamentais do processo de desenvolvimento de software também estão presentes na estrutura do RUP TESTE X DESENVOLVIMENTO Casos de Testes PROCESSO BÁSICO DE TESTE Planejar Testes Projet ar Testes Execut ar Testes Analisar Resultad os Gerenci ar Defeito s Planeja r Teste s 12 CASOS DE TESTE Eu quero Testar mas não sei por onde começar....... Um bom começo seria escrever os casos de testes de cada uma das funcionalidades ou requisito do software. CASOS DE TESTE Casos de Testes é um conjunto de condições usadas para: • Encontrar defeitos na estrutura interna do software • Garantir que os requisitos do software que foi construído seja plenamente atendidos. Requisit os Estratégia de Testes Planos de Teste Roteiros de Teste Casos de Teste Scripts ou procedimentos de teste Planejament o Especificaç ão Execuçã o Preparaçã o Planejament o Especificaç ão Etapas de Suporte Produto s Etapas de Realizaçã o 15 Pré Requisitos para criação dos Casos de Testes Para planejar os testes, devemos saber: • O que pretendemos testar; • Quando iremos testar; • Como iremos testar Logo, precisamos ter definido a nossa Estratégia de teste. 16 Estratégia de Teste Macro-atividade: Projetar Teste ou Especificar O projeto dos testes (ou especificar teste) contempla a criação dos casos de teste (conforme template) e demais artefatos necessários às atividades de execução dos testes conforme definido no Plano de Teste. Na ocorrência de alterações de requisitos, de design ou do código do sistema, durante ou posteriormente a esta atividade, a alteração é feita através de uma solicitação formal de mudança, onde são avaliadas as mudanças necessárias nos artefatos envolvidos. Para tal o projeto deve ser monitorado. Atividad e: Atividad e: Atividad e: Definir os cenários de teste Elaborar Casos de Teste Elaborar Procedimento de Teste 17 PROCESSO DE TESTE – PROJETAR A tarefa de elaboração do teste é coberta por 3 documentos: Especificação de Desenho ou Design (Projeto) de Teste – Trata-se de um detalhamento da abordagem apresentada no Plano de Teste e identifica as funcionalidades e características a serem testadas pelo projeto. Este documento também identifica os casos e os procedimentos de teste, se existirem, e apresenta os critérios de aprovação. Especificação de Caso de Teste – Define os casos de teste, incluindo dados de entrada, resultados esperados, ações e condições gerais para a execução do teste. Utilizaremos a nomenclatura de Plano de Caso de Teste para este documento gerado. Especificação do Procedimento de Teste – Identifica todos os passos necessários para operar o sistema e exercitar os Casos de Testes especificados, de maneira a cobrir o Projeto de Teste planejado. Os procedimentos de testes formam um documento separado com a intenção de que seja seguido passo a passo, sem ocorrências não previstas. ELABORAÇÃO DO TESTE 18 Atividade: Descrição: Definir Cenários de Teste O Analista de Teste com base nos requisitos de teste ou nos casos de uso, e usando o Plano de Teste como referência, deve definir os Cenários de Teste e que servirão posteriormente para a elaboração dos Procedimentos (ou Roteiro) de Teste. Responsáve is: Participante s: Artefatos: Ferramentas : Analista de Teste Analista de Sistemas, Testador Plano de Teste, Requisitos, Casos de Uso (testáveis) Precisam ser definidas PROCESSO DE TESTE – PROJETAR TESTE DESENHO OU PROJETO DE TESTE PADRÃO IEEE 829 × Introdução + Identificador + Escopo + Referências × Detalhes deste nível do desenho (projeto) de teste + Features (ou funcionalidades) a serem testadas + Abordagem refinada + Casos de Teste com a sua respectiva identificação + Critérios de passagem e falha por feature ou funcionalidade + Entregáveis × Global + Glossário + Procedimentos de alterações do documento e histórico de alterações 20 Atividad e: Descrição: Elaborar Casos de Teste O Analista de Teste define e elabora os casos de teste baseados nas especificações dos casos de uso ou requisitos e em especificação suplementar (caso exista), tomando como base o Plano de Teste. Os testes não funcionais, caso existam, como, por exemplo, teste de desempenho, também devem estar definidos, nos casos de teste. Responsáve is: Participante s: Artefatos: Ferramentas : Analista de Teste Analista de Sistemas, Testador Plano de Teste, Caso de Teste Precisam ser definidas PROCESSO DE TESTE – PROJETAR TESTAR CASO DE TESTE PADRÃO IEEE 829 • × Introdução (uma por documento) • + Identificador do documento • + Escopo • + Referências (itens de teste) • + Contexto • + Notas para descrição • × Detalhes (um por caso de teste) • + Identificador do caso de teste • + Objetivos • + Especificações de entrada • + Especificações de saída • + Necessidades de ambiente • + Requisitos ou procedimentosespeciais • + Dependências entre casos de teste • × Global • + Glossário • + Procedimentos de alterações do documento e histórico de alterações 22 × Referências (Itens de teste) + Requisitos + Projeto de teste e features + Guia do Usuário + Guia Operacional + Guia de Instalação + Etc..... Atividade: Elaborar Procedimentos de Teste (ou Roteiro de Teste) Descrição: Os procedimentos de teste devem ser elaborados com o intuito de manter a sequencia necessária para a execução dos casos de teste que se enquadrem nesta situação. Responsáve is: Participante s: Artefatos: Ferramentas : Analista de Testes Analista de Sistemas ,Testador Casos de Teste, Procedimentos de Teste Precisam ser definidas PROCESSO DE TESTE – PROJETAR TESTE PROCEDIMENTOS DE TESTE PADRÃO IEEE 829 × Introdução + Identificador do documento + Escopo + Referências + Relações com outros documentos de procedimentos × Detalhes deste nível do desenho (projeto) de teste + Entradas, saídas e requisitos especiais + Ordem para execução dos casos de teste × Global + Glossário + Procedimentos de alterações do documento e histórico de alterações 24 O caso de Teste como centro motivador do teste Requisit os Iteraçã o Implementaçã o Configuraçõ es Caso de Teste O que motivou o meu teste ? Quando devo testar ? Como devo testar ? Onde devo testar ? 25 ELABORAÇÃO DO PLANO DE CASO DE TESTE Para a elaborar os casos de teste a partir do requisitos especificados deve-se considerar os seguintes itens: Identificar todos os cenários contidos nas especificação existente; Para cada cenário, identificar um ou mais casos de teste; Para cada caso de teste, identificar condições de execução; Adicionar os dados para as condições nos casos de teste. 26 Os seguintes itens devem ser abordados: Abordagens para determinar os casos de testes – ISO 29.119 Teste Dinâmico -Teste que para ser executado precisa de um código de programa Teste Estático - Teste que para ser executado não precisa de um código de programa, exemplo, revisão, verificação, inspeção • Identificação das condições de testes: • Identificação dos casos de testes (o que testar) • Deve conter uma definição de cada caso de teste identificado • Detalhamento da massa de entrada, de Saída ( resultante ) • Critérios especiais para geração da massa de Teste, com o nome do responsável • Necessidades de ambiente – Especificar as necessidades adicionais de equipamentos • Definir agenda de levantamento (como testar) • Cronograma •Interdependências – Listar as interdependências entre os Casos de Testes. ELABORAÇÃO DO CASO DE TESTE 27 × Elaboração dos Casos de Teste para a revisão da especificação + Checklist TESTE NA FASE DE ESPECIFICAÇÃO “Recomenda-se o uso de templates para a revisão” 28 Caso de Teste Artefatos Gerados CENÁRIOS DE TESTES (EXEMPLO REAL) Cenário de teste é o caminho ou situação a ser testada Em um Caso de Uso de Transferência Bancária, um dos cenários é a Transferência “DOC para conta de terceiros”. Para se testar este cenário de especificação, devemos criar um cenário de teste para validar esta funcionalidade. Este cenário de teste, deve seguir os seguintes passos: Pré Condição Estar logado internet bank e existir Banco e Conta Corrente de origem Passos 1. Selecionar opção de “Transferência” 2. Preencher Dados Destinatário • Código do Banco • Agência • Conta Corrente • CPF do Destinatário • Valor 3. Verificar o saldo da conta de origem, 4. Transferir o valor da conta origem para conta destino, 5.Consultar novamente o saldo da conta origem, verificando que o saldo inicial menos o valor transferido é igual ao saldo atual, 6.Imprimir comprovante de transferência Teste de Cenário – Teste de Sistema 37 Dentro deste cenário de teste podemos destacar diversos casos de testes: · CT01 Preenchimento dos campos obrigatório na tela de transferência · CT02 Validação de CPF · CT03 Conta Destino inválida · CT04 38 Preencher o campo número de confirmação com um número inválido O Sistema apresenta uma mensagem 39 CT – Preenchimento EXEMPLO DE CASO DE TESTES × Considere as seguintes situações: 1 – Um Sistema web com os seguintes requisitos não-funcionais: • Deve operar em diferentes Browsers • Deve poder usar diferentes plug-ins • Rodar em diferentes sistemas operacionais nas máquinas clientes • Deve receber páginas por diferentes servidores • Deve rodar em diferentes servidores × Exemplo de Caso de teste • Testar o requisito funcional – Manter Usuário × O sistema deve: - incluir usuário - alterar usuário - excluir usuário EXEMPLIFICANDO CENÁRIO × Funcionalidade – Uma das funcionalidades Incluir usuário. - um dos Testes: × Passo: Preencher a tela de usuário com seus campos obrigatórios e selecionar a opção incluir. × Resultado esperado: Mensagem de Incluído com sucesso. × Ambiente de teste: Máquina cliente com sistema operacional windows 2000, utilizando o Internet explorer 6.0 como Browser, recebendo páginas de um servidor com IIS e ter um servidor de Websphere em Linux. DETALHANDO A SITUAÇÃO ANTERIOR Algumas tecnícas para derivar Casos de Teste As técnicas de especificação usam vários princípios para a derivação dos casos de teste, alguns dos quais estão abaixo listados: • Classes de equivalência; • Análise de valores limítrofes; 43 Classes de Equivalência e Análise de Valores Limítrofes Vamos supor que o campo idade deva ter valores dentro dos seguintes limites: 18 <= idade <= 65 Isto daria as seguintes classes de equivalência para serem testadas: • idade menor ou igual a 18; • idade entre 18 e 65; • idade maior do que 65. O caso de teste deveria incluir o seguinte: • Entrada = 10 - Resultado = valor inválido • Entrada = 35 - Resultado = valor correto • Entrada = 70 - Resultado = valor inválido Além disso os valores limítrofes 17,18 e 19 e 64, 65 e 66 deveriam também ser testados ou um valor absurdo do tipo 999999, 00000. 44 Produção, Edição, Elaboração e Revisão de Texto: ESCON - Escola de Cursos Online Proibida a reprodução total ou parcial sem permissão expressa da ESCON. (Lei 9.619/98)
Compartilhar