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": {}}
,{}