Développement logiciel et gestion de projet
Pour la décision « A et B » (A et B sont des conditions dont les valeurs de vérité peuvent être fixées indépendamment), on a exécuté deux cas de test : (A = vrai, B = faux) et (A = faux, B = vrai). Quelle affirmation sur les critères de couverture est correcte ?
- ALa couverture des branches est atteinte, mais pas la couverture des conditions
- BLa couverture des branches et la couverture des conditions sont toutes deux atteintes
- CLa couverture des conditions est atteinte, mais pas la couverture des branches
Afficher la réponse et l'explication
Réponse : C. La couverture des conditions est atteinte, mais pas la couverture des branches
La couverture des conditions exige que chaque condition individuelle d'une décision (A et B) prenne au moins une fois la valeur vrai et la valeur faux. Dans les deux cas de test, A et B prennent chacune une fois vrai et faux : la couverture des conditions est donc atteinte. En revanche, « A et B » est faux dans les deux cas de test, et la branche correspondant à une décision vraie n'est jamais empruntée : la couverture des branches n'est donc pas atteinte. Comme la couverture des conditions seule ne garantit pas la couverture des branches, on utilise des critères qui satisfont les deux, comme la couverture décision/condition. Notez que ce raisonnement porte sur les valeurs données à chaque condition ; avec l'évaluation en court-circuit, comme pour && en C, où le côté droit n'est pas évalué quand le côté gauche est faux, on peut aussi ne compter que les conditions réellement évaluées.
Continuer : 9 autres questions sur Développement logiciel et gestion de projet