Técnicas de modelagem de teste (parte 2)

14.564 visualizações

Publicada em

Publicada em: Tecnologia, Negócios
3 comentários
14 gostaram
Estatísticas
Notas
  • Que ótima didática e apresentação muito bem feita!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Fabrício,

    esse material é o melhor que encontrei até o presente momento, pois o mesmo abrange as técnicas muito bem e de uma forma muito dinâmica.

    Vlww!!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Mto bom Fabrício
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
14.564
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5.066
Ações
Compartilhamentos
0
Downloads
545
Comentários
3
Gostaram
14
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Técnicas de modelagem de teste (parte 2)

  1. 1. Fabrício Ferrari de Campos
  2. 2. Baseadas em Estrutura Teste e Cobertura de Comandos Teste e Cobertura de Decisão Outras técnicas baseadas na estrutura
  3. 3. O que e cobertura de teste Cobertura de teste é uma medida, referente ao número de itens (código) testados, pelo total de itens, multiplicado por 100%. número de itens x 100% exercitados Cobertura = total de itens
  4. 4. Teste e Cobertura de Comandos Definir casos de teste que executem todos os comandos pelo menos uma vez (passa por todos os nodos do grafo) Métrica: número de nodos cobertos Fácil de satisfazer Não garante qualidade do código
  5. 5. Teste e Cobertura de Comandos Cobertura de comando é medida, de acordo com o número de comandos exercitados divididos pelo total de comandos, multiplicado por 100%. número de comandos x 100% exercitados Cobertura = de comando total de comandos
  6. 6. Teste e Cobertura de Comandos 2 1 1.a = Integer.parseInt(args[0]); 3 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ 4 4. if (b < 0){ 5. b = b + 2; Um teste é o 5 6. } suficiente 7 7. a = a + 1; a b C 9 8.} (resultado) -1 -1 1 9.c = a + b;
  7. 7. Teste e Cobertura de Comandos Questão simulado (CTFL-BSTQB) Se você estiver voando com um bilhete da classe econômica, há uma possibilidade de você conseguir mudar para a classe executiva. Principalmente se você tiver um cartão fidelidade da companhia aérea. Se você não tiver o cartão fidelidade (CF), há a possibilidade de você ser quot;despejadoquot; do vôo se ele estiver lotado e você chegar atrasado.
  8. 8. Teste e Cobertura de Comandos n s s cartão econômica executiva fidelidade lotada lotada s n n s executiva econômica lotada n econômica despejado mudar mudar do vôo embarcar
  9. 9. Teste e Cobertura de Comandos Questão simulado (CTFL-BSTQB) Três testes foram executados: Teste 1: O passageiro tem o CF e mudou para a classe executiva Teste 2: O passageiro não tem o CF e permaneceu na classe econômica Teste 3: O passageiro foi quot;despejadoquot; do vôo Qual é a cobertura de comando obtida com esses três testes? a) 60% b) 70% c) 80% d) 90%
  10. 10. Teste e Cobertura de Comandos Resposta correta Alternativa: c) 80% Os três testes apresentados cobrem 8 comandos de 10, ou seja, 80% dos comandos. Os testes não cobrem o comando 3 e o 9.
  11. 11. Teste e Cobertura de ~ Decisao Uma decisão é um IF, um loop (ex. do-while ou repeat-until), ou um CASE, no qual existem duas ou mais possibilidades de saídas ou resultados a partir de um comando número de decisões x 100% exercitados Cobertura = de decisão total de decisões
  12. 12. Teste e Cobertura de ~ Decisao Teste de decisão é uma forma de teste de controle de fluxo, já que ele gera um fluxo específico através dos pontos de decisões A cobertura de decisão é mais eficiente que a cobertura de comandos: 100% da cobertura de decisão garante 100% da cobertura de comandos, mas não vice-versa
  13. 13. Teste e Cobertura de ~ Decisao Os testes devem cobrir cada saída possível de um nodo que tenha uma condição Métrica: número de arestas cobertas Teste de decisão derivam-se dos casos de testes para executar decisões específicas, normalmente para se aumentar a cobertura
  14. 14. Teste e Cobertura de ~ Decisao 2 1 1.a = Integer.parseInt(args[0]); 3 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ três testes são 4 4. if (b < 0){ necessários 5. b = b + 2; ab C 5 (resultado) 6. } -1 -1 1 7 7. a = a + 1; 00 0 9 8.} -1 0 0 9.c = a + b;
  15. 15. Teste e Cobertura de ~ Decisao Questão simulado (CTFL-BSTQB) Tendo como base o pseudocódigo abaixo, quantos testes são necessários para atingir 100% da cobertura de desvio/decisão? a) 1 1. If x = 3 then b) 2 2. Display_messageX; c) 3 3. If y = 2 then d) 4 4. Display_messageY; 5. else 6. Display_messageZ; 7. else 8. Display_messageZ;
  16. 16. Teste e Cobertura de ~ Decisao Resposta correta Alternativa: c) 3 Criando três testes conseguimos cobrir 100% das decisões do pseudocódigo, por exemplo: x y 3 2 0 0 3 0
  17. 17. Outras tecnicas baseadas na estrutura Cobertura de desvio LCSAJ (Linear Code Sequence and Jump - Seqüência de Código Linear e Salto) Cobertura de Caminho
  18. 18. Cobertura de desvio Está estreitamente relacionada com a cobertura de decisão, tanto que 100% de cobertura de desvio, equivale a 100% de cobertura de decisão Cobertura de decisão medi a cobertura dos desvios condicionais, já a cobertura de desvio medi a cobertura de desvios condicionais e não condicionais
  19. 19. LCSAJ Inclui a cobertura de código linear e salto, cobertura de decisão, cobertura de condições e cobertura de múltiplas condições Essa técnica requer a cobertura de todas as condições que podem afetar ou determinar o resultado de uma condição
  20. 20. Cobertura de Caminho Especifica dos caminhos possíveis de um software, quantos são cobertos na execução de um teste Porcentagem de caminhos exercitada por uma suite de teste. 100% de cobertura de caminho implicam em 100% de cobertura LCSAJ
  21. 21. ^ Baseadas na experiencia Suposição de erro Teste exploratório
  22. 22. ~ Suposicao de erro Deve ser usada sempre como um complemento à outras técnicas mais formais Não há regras para a suposição de erro Quando usado para aumentar a técnica sistemática, testes intuitivos podem ser úteis para identificar testes específicos que não são facilmente identificados pelas técnicas formais Depende muito da habilidade e experiência do testador
  23. 23. Teste exploratorio Ocorre simultaneamente à modelagem, execução e registro de teste, e baseia-se nos objetivos de teste, onde é realizado em um tempo predefinido É uma abordagem muito usual, em locais onde a especificação é rara ou inadequada e existe grande pressão por conta de prazo, ou para aprimorar/complementar um teste mais formal
  24. 24. Teste exploratorio Pode servir como uma checagem do processo de teste, assegurando que os defeitos mais importantes sejam encontrados O aspecto principal é a aprendizagem: sobre o software, seu uso, seu pontos fortes e fracos Também pode servir de complemento para outras técnicas formais
  25. 25.  BSTQB. Base de Conhecimento para Certificação em Teste - Foundation Level Syllabus. 2007br.  BSTQB. Glossário Padrão de Termos Utilizados em Teste de Software. Versão 1.3br  D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006. www.inf.pucrs.br/~copstein/CursoTeste/Dia3/Dia3_TesteFunciona lTesteEstrutural.ppt (Professor Dr. Bernardo Copstein)

×