Question

Lorsque vous utilisez la méthode de test de la boîte blanche appelée couverture des conditions multiples, prenons-nous toutes les instructions conditionnelles ou simplement celles qui ont plusieurs conditions? Maintenant, peut-être les indices du nom, mais je ne suis pas sûr.

Donc, si j'ai la méthode suivante

void someMethod()
  {

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

      }

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

  }

Dois-je générer la table de vérité pour juste "conditionnel A", ou est-ce que je fais aussi conditionnal b?

Merci,

Était-ce utile?

La solution

Je manque peut-être quelque chose ici, mais, la façon dont vous avez écrit le code dans votre question, les conditions A et B sont complètement indépendantes les unes des autres. Vous ne couvrirez donc pas tout le code à moins que vous ne testiez les deux conditions.

Autres conseils

J'ai trouvé ce qui suit sur la couverture de plusieurs conditions. Cela semblerait indiquer que la couverture des conditions multiples, comme son nom l'indique, ne s'applique qu'aux conditionnels avec plusieurs instructions.

Donc pour le conditionnel suivant:

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

Nous créons ce qui suit

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top