Teste de cobertura de múltiplas condições
-
27-09-2019 - |
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,
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