tcnicasdeteste-parte2
Short Description
Tecnicas de testes...
Description
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, pelo total de itens, multiplicado por 100%.
Cobertura =
número de itens exercitados total de itens
x 100%
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
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
Teste e Cobertura de 2 Comandos 1.a = Integer.parseInt(args[0]); 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ 4. if (b < 0){ 5. b = b + 2; Um teste é o 6. } suficiente 7. a = a + 1; a b C (resultado) 8.} -1 -1 1 9.c = a + b;
1
3
4
5 7 9
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 "despejado" do vôo se ele estiver lotado e você chegar atrasado.
Teste e Cobertura de Comandos cartão fidelidade
n
s executiva lotada
n mudar
embarcar
econômica lotada
s
n s
executiva lotada
s
n
econômica econômica mudar
despejado do vôo
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 "despejado" do vôo Qual é a cobertura de comando obtida com esses três testes? a) 60% b) 70% c) 80% d) 90%
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.
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
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
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
Teste e Cobertura de 2 Decisao 1.a = Integer.parseInt(args[0]); 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ três testes são 4. if (b < 0){ necessários 5. b = b + 2; a b C (resultado) 6. } -1 -1 1 7. a = a + 1; 0 0 0 8.} -1 0 0 9.c = a + b;
1
3
4
5 7 9
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? 1. If x = 3 then 2. Display_messageX; 3. If y = 2 then 4. Display_messageY; 5. else 6. Display_messageZ; 7. else 8. Display_messageZ;
a) b) c) d)
1 2 3 4
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
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
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
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
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
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 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
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
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
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)
View more...
Comments