Cobertura de Decisões em Testes de Software
Classificado em Computação
Escrito em em
português com um tamanho de 2,04 KB
Este documento explora o conceito de cobertura de decisões em testes de software, fornecendo exemplos de código e soluções válidas e inválidas.
Exemplos de Código
Exemplo 1: for (int i=0; i < records.length; i++)
Para testar este parâmetro, considere as seguintes soluções:
- Solução Válida:
records.length > 0(executa o loop e imprime os registros) - Solução Válida:
records.length == 0(não executa o loop) - Solução Inválida:
records == null(lança uma exceção)
Exemplo 2: if(++a > 5 && ++a > 6) a++
Para cobrir as decisões, é necessário testar para verdadeiro (V) e falso (F). Os valores para cobertura de a em condições múltiplas são:
int a, paraa ≥ 5; condição fica V V, decisão é Vint a, paraa ≤ 4; condição fica F F, decisão é F
As condições V F e F V não se confirmam, logo não serão testadas.
Exemplo 3: while(a!=1 || b!=1 || c!=1)
Para cobrir as decisões, é necessário testar para verdadeiro e falso. a, b e c podem assumir qualquer valor numérico para uma solução válida, mas não podem ser 1 simultaneamente.
- Solução Válida:
a=1; b=1; c=3(condição fica F; F; V, decisão é V) - Solução Inválida:
a=1; b=1; c=1(condição fica F; F; F, decisão é F)
Exemplo 4: {"idade": 20}
Solução para verificar se não é nulo:
if(obj && typeof obj.idade === "integer" && obj.idade >= 0) { }
Soluções para testar o parâmetro:
- Solução Válida:
{"idade": 30} - Solução Inválida:
{"idade": {}},{}