O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Fabrício Ferrari de Campos
Baseadas em Estrutura
Teste e Cobertura de Comandos
Teste e Cobertura de Decisão
Outras técnicas baseadas na estrutura
O que e cobertura de
           teste
Cobertura de teste é uma medida, referente
ao número de itens (código) testados, pel...
Teste e Cobertura de
        Comandos
Definir casos de teste que executem todos
os comandos pelo menos uma vez (passa por...
Teste e Cobertura de
        Comandos
Cobertura de comando é medida, de acordo
com o número de comandos exercitados
dividi...
Teste e Cobertura de
         Comandos                           2   1


1.a = Integer.parseInt(args[0]);
                ...
Teste e Cobertura de
         Comandos
Questão simulado (CTFL-BSTQB)
Se você estiver voando com um bilhete da classe
econô...
Teste e Cobertura de
      Comandos
             n                             s                       s
  cartão         ...
Teste e Cobertura de
          Comandos
Questão simulado (CTFL-BSTQB)
Três testes foram executados:
Teste 1: O passageiro ...
Teste e Cobertura de
         Comandos
Resposta correta
Alternativa: c) 80%

Os três testes apresentados cobrem 8 comandos...
Teste e Cobertura de
               ~
          Decisao
Uma decisão é um IF, um loop (ex. do-while
ou repeat-until), ou u...
Teste e Cobertura de
               ~
          Decisao
Teste de decisão é uma forma de teste de
controle de fluxo, já qu...
Teste e Cobertura de
               ~
          Decisao
Os testes devem cobrir cada saída possível
de um nodo que tenha u...
Teste e Cobertura de
                 ~
            Decisao                           2   1


1.a = Integer.parseInt(args[...
Teste e Cobertura de
                  ~
             Decisao
Questão simulado (CTFL-BSTQB)
Tendo como base o pseudocódigo...
Teste e Cobertura de
                   ~
              Decisao
Resposta correta
Alternativa: c) 3
Criando três testes con...
Outras tecnicas baseadas
     na estrutura
Cobertura de desvio
LCSAJ (Linear Code Sequence and Jump -
Seqüência de Códig...
Cobertura de desvio
Está estreitamente relacionada com a
cobertura de decisão, tanto que 100% de
cobertura de desvio, equ...
LCSAJ
Inclui a cobertura de código linear e salto,
cobertura de decisão, cobertura de condições
e cobertura de múltiplas ...
Cobertura de Caminho
Especifica dos caminhos possíveis de um
software, quantos são cobertos na execução
de um teste
Porc...
^
  Baseadas na experiencia
Suposição de erro
Teste exploratório
~
       Suposicao de erro
Deve ser usada sempre como um
complemento à outras técnicas mais formais
Não há regras para a...
Teste exploratorio
Ocorre simultaneamente à modelagem,
execução e registro de teste, e baseia-se nos
objetivos de teste, ...
Teste exploratorio
Pode servir como uma checagem do
processo de teste, assegurando que os
defeitos mais importantes sejam...
 BSTQB. Base de Conhecimento para Certificação em Teste -
Foundation Level Syllabus. 2007br.
 BSTQB. Glossário Padrão de...
Técnicas de modelagem de teste (parte 2)
Próximos SlideShares
Carregando em…5
×

Técnicas de modelagem de teste (parte 2)

Livros relacionados

Gratuito durante 30 dias do Scribd

Ver tudo
  • Seja o primeiro a comentar

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)

×