Académique Documents
Professionnel Documents
Culture Documents
Résumé
Ce document exemplifie l’utilisation de différentes méthodes simples de
tests logiciel à boı̂te blanche sur un programme jouet de décompte de
mots adapté de l’exemple désormais classique de K. Gallagher.
V V
14 16
V 12 F F 21
13 15
6 7
F 17
5 8
V 18 19
10 11
F
24 25 26
Pour couvrir tous les énoncés, un examen rapide de la figure 1 nous apprend
qu’il suffit de passer succesivement par chacune des deux branches condition-
nelles des noeuds 11, 15 et 17 (losanges verts), ainsi que par la branche ’vrai’
du noeud 13. En clair, cela correspond à une entrée :
1. Non vide (noeud 11)
2. Contenant un retour chariot (noeud 13)
3. Contenant au moins deux caractères, un retour chariot, un espace ou une
tabulation ET un autre (noeud 15)
4. Contenant au moins un mot (noeud 17)
L’examen des règles précédentes nous apprend que toute entrée contenant au
moins un retour chariot et un caractère qui n’est ni un retour chariot, ni un
espace, ni une tabulation assurera la couverture des énoncés.
Pour le programme wc.cpp, les conditions à respecter pour couvrir les branches
du programme seront identiques à celles assurant la couverture des énoncés, à
la différence qu’il faudra maintenant également passer dans les deux branches
conditionnelles du noeud 13. Cette fois, l’entrée doit :
1. Être non vide (noeud 11)
2. Contenir aux moins deux caractères, un retour chariot et un autre (noeud 13)
3. Contenir au moins deux caractères, un retour chariot, un espace ou une ta-
bulation ET un autre (noeud 15)
4. Contenir au moins un mot (noeud 17)
Ainsi, une entrée contenant au moins un retour chariot et un caractère qui n’est
ni un retour chariot, ni un espace, ni une tabulation assurera également la cou-
verture des branches du programme.
Il n’est ainsi pas possible ici d’utiliser un test unique permettant de respecter
toutes les contraintes précédentes, certaines de ces contraintes étant conflic-
tuelles : par exemple, il sera impossible d’avoir à la fois une entrée vide et au
moins deux caractères dans une même entrée.