Pergunta

Ao usar o método de teste de caixa branca chamada cobertura de múltiplas condições, realizamos todas as declarações condicionais ou apenas as com várias condições? Agora talvez as pistas no nome, mas não tenho certeza.

Então, se eu tiver o seguinte método

void someMethod()
  {

      if(a && b && (c || (d && e)) )  //Conditional A
      {

      }

      if(z && q)   // Conditional  B
      {
      }

  }

Eu gero a tabela de verdade apenas para "condicional a", ou também faço B condicional?

Obrigado,

Foi útil?

Solução

Posso estar perdendo alguma coisa aqui, mas, a maneira como você escreveu o código em sua pergunta, as condições A e B são completamente independentes umas das outras. Portanto, você não cobrirá todo o código, a menos que teste os dois condicionais.

Outras dicas

Encontrei o seguinte na cobertura de várias condições. Isso parece indicar que a cobertura de múltiplas condições, como o nome sugere, se aplica apenas a condicionais com várias declarações.

Então, para o seguinte condicional:

if ((a>0)&&(b<=4)&&(c>0))

Nós criamos o seguinte

Test Case   a > 0   b <= 4    c > 0
MCC1        F        F         F
MCC2        F        F         T
MCC3        F        T         F
MCC4        F        T         T
MCC5        T        F         F
MCC6        T        F         T
MCC7        T        T         F
MCC8        T        T         T
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top