Prévia do material em texto
Casos de teste a partir de casos de uso: Correção ➢ A partir do Caso de Uso – Depositar Fundos elabore pelo menos 3 fluxos alternativos + 4 casos de testes utilizando o modelo de caso de teste fornecido. Curso: Análise e Desenvolvimento de Sistemas Disciplina: Verificação e Validação de Software Aula 07: Teste Funcional e Teste Estrutural Prof. Hemir da C. Santiago hemir.santiago@pe.senac.br mailto:hemircsantiago@fac.pe.senac.br Agenda ➢ Resolução de exercício: Casos de Testes ➢ Teste Funcional: ▪ Introdução ▪ Particionamento de Equivalência ▪ Análise de Valor Limite ▪ Tabela de Decisão ➢ Teste Estrutural: ▪ Introdução ▪ Teste de Condição ▪ Teste de Ciclo ➢ Conclusões Teste Funcional: Introdução • A derivação de casos de teste a partir da especificação do programa (ou de um caso de uso) é chamada teste funcional. • “Quais casos de teste usarei para executar o programa?” • Também conhecido como teste caixa-preta. • É eficaz para encontrar alguns tipos de falhas que normalmente escapam no teste caixa-branca. • Tem por objetivo validar as entradas e saídas do sistema. Teste Funcional: Introdução • Ele é comumente realizado utilizando-se a experiência do usuário. • Todas as entradas/saídas possíveis precisam ser testadas. • A falta de clareza dos requisitos pode (e vai) impactar nas entradas e saídas aceitas para o teste. • Exemplo: imagine que você utiliza apenas números para testar um campo de CPF, mas o desenvolvedor declara o campo como string. Teste Funcional: Particionamento de Equivalência • Imagine que em um programa há um campo que receba apenas números pares. É necessário validar que o tal campo não recebe todos os números ímpares? • Segundo a técnica de partição de equivalência, não. • O número 5 e o número 11 possuem a mesma saída (são ímpares), logo, basta testar com um deles. Teste Funcional: Particionamento de Equivalência • Divide o domínio de possíveis entradas de um software em classes de equivalência (partições ou subconjuntos), a partir das quais os casos de teste serão derivados. • Assume que todos os valores presentes em uma mesma classe (partição) possuem a capacidade de revelar as mesmas falhas. Teste Funcional: Análise de Valor Limite • Utilizar apenas os valores que estejam no limite permitido. • Exemplo: ▪ Para uma dada operação o usuário deve ter idade superior a dezoito anos, os melhores valores para o teste são: 17, 18 e 19. Teste Funcional: Análise de Valor Limite • Um número considerável de erros tende a ocorrer nos valores limites do domínio de entrada. • Este critério de teste utiliza os limites dos valores de cada classe de equivalência para gerar casos de teste. Teste Funcional: Tabela de Decisão • Pressuponha que você testará uma funcionalidade que possui uma série de condições. Como saber se todos os casos estão apresentando as saídas esperadas? • Exemplo para o teste de uma baixa de estoque: Teste Funcional: Tabela de Decisão • Exemplo para o teste de uma baixa de estoque: Cenário 1 2 3 4 Funcionário tem permissão? Sim Sim Sim Não Produto válido? Sim Não Sim X Produto tem estoque disponível? Sim X Não X Saída esperada Baixa do produto no estoque Produto inválido Produto sem estoque Funcionário não tem permissão Teste Funcional: Tabela de Decisão • A tabela de decisão se baseia na verificação do resultado esperado para os conjuntos formados através da combinação desses parâmetros. • Para o nosso exemplo, temos certeza de que ao menos 4 das combinações possíveis possuem cobertura por 4 testes. Teste Estrutural: Introdução • O testador tem acesso à estrutura interna da aplicação. • Também conhecido como: caixa branca ou caixa de vidro. • Busca garantir a qualidade da implementação do sistema. • Ele é comumente realizado no código-fonte. Teste Estrutural: Teste de condição • Avaliar se os operadores/variáveis lógicos (booleanos – true / false) estão consistentes. • Exemplos: ▪ Em um sistema de controle de estoque, testar se as condições para cadastro de produtos (data de validade, fornecedor etc.) são respeitadas. ▪ Em um sistema que controla empréstimos a pessoas físicas, verificar se a pessoa está com pagamento em dia e pode solicitar outro empréstimo. Teste Estrutural: Teste de ciclo • Valida / testa estruturas de repetição. • Considera 3 tipos de ciclos: ▪ Simples: estrutura de repetição sendo testada. Teste estrutural: Teste de ciclo • Considera 3 tipos de ciclos: ▪ Desestruturado: conjunto de blocos de repetição utilizados de maneira desordenada. Teste estrutural: Teste de ciclo • Considera 3 tipos de ciclos: ▪ Aninhados (encadeados): são estruturas de repetição dentro de outras estruturas de repetição. Conclusões • Os testes funcionais e estruturais são complementares. • Não existe uma técnica melhor que a outra, depende do tipo de teste que se quer realizar. • O importante é garantir a qualidade do sistema. Plano de Aulas DATA AULA 1 09/08/2023 Apresentação da disciplina | Revisão: Qualidade de Software 2 16/08/2023 Introdução à Verificação e Validação de Software 3 19/08/2023 Sábado letivo (atividade online) 4 23/08/2023 Fundamentos de Teste de Software 5 30/08/2023 Processo e Planejamento de Testes 6 06/09/2023 Projeto de Testes 7 13/09/2023 Casos de Teste a partir de Casos de Uso 8 20/09/2023 Congresso Internacional de Tecnologia na Educação - CITE 9 27/09/2023 Teste Funcional e Teste Estrutural 10 04/10/2023 Atividade avaliativa Plano de Aulas DATA AULA 11 11/10/2023 1ª Devolutiva | Proposta de Projeto e Seminário 12 18/10/2023 Ferramentas para automação e realização de testes 13 25/10/2023 Metodologia de Teste: TDD 14 01/11/2023 Reunião de acompanhamento dos projetos 15 08/11/2023 Entrega e apresentação de projetos 16 11/11/2023 Sábado letivo (atividade online) 17 22/11/2023 Atividade avaliativa 18 29/11/2023 2ª Devolutiva 19 06/11/2023 Revisão para a Recuperação 20 13/12/2023 Recuperação | Devolutiva da recuperação Slide 1 Slide 2: Curso: Análise e Desenvolvimento de Sistemas Disciplina: Verificação e Validação de Software Aula 07: Teste Funcional e Teste Estrutural Slide 3: Agenda Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20