Contre-exemple : une couverture des conditions n'implique pas une couverture des décisionsConsidérons l'extrait de code suivant : si ( ((u=0) ou (x>5)) et ((y<6) ou (z=0)) ) alors La table de vérité suivante regroupe l'ensemble des cas de tests envisageables pour cet extrait de code.
Dans le cadre d'une couverture des conditions, il nous suffirait (par exemple) de tester uniquement les deux combinaisons ci-dessus surlignées en jaune. Cependant, dans ces deux cas de test, la décision finale est évaluée deux fois "vraie" mais jamais "fausse" : la couverture des décisions n'est pas effective... Il nous faudrait par exemple choisir les deux combinaisons ci-dessus surlignées en bleu pour à la fois réaliser la couverture des décisions et celle des conditions. Revoir les différents niveaux de couverture de test L´outil d´analyse de couverture du code Testwell CTC++ englobe toutes les catégories de couvertures de test, y compris les niveaux les plus élevés : la couverture des conditions / décisions modifiées (MC/DC) et surtout celle des conditions multiples (MCC). Il peut ainsi être utilisé pour obtenir des certifications comme par exemple DO-178B. Memento : Condition (ou Opérande booléen ou Sous-décision) : une formule logique insécable (atomique). On parle souvent de variable booléenne, elle est représentée par une lettre majuscule (A, B, C, etc.), peut avoir pour valeur "vrai" ou "faux", mais ne peut pas être redivisée en d´autres "sous-conditions" plus simples. Décision : une formule logique pouvant être composée de plusieurs conditions séparées par des connecteurs logiques tels "ou", "et", "ou exclusif", etc. last updated: 20.07.2010 © 2010 Verifysoft GmbH |