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, para a ≥ 5; condição fica V V, decisão é V
  • int a, para a ≤ 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": {}}, {}

Entradas relacionadas: