tcnicasdeteste-parte2

Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF