Vous êtes sur la page 1sur 20

Les techniques de Tests

Techniques basées sur les structures (boite blanche)


Introduction
 Tests basés sur l’analyse du code source de l’application pour établir les
tests en fonction des critères de couvertures => générer un jeu de test
(DT) selon le niveau de couverture souhaité
 Ces techniques peuvent être appliquées aux différents niveaux de test,
mais souvent niveau unitaire  Le code constitue la base de test pour
ces techniques
 Techniques issues de l’analyse de :
o Flot de contrôle : avec différents critères de couverture
(instructions, décisions, branches, etc.)
o Flot de données : avec différents critères de couverture ( toutes les
définitions, toutes les utilisations, etc.)
1
1
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Un flot de contrôle est une représentation abstraite de toutes les


séquences du code

 Graphe orienté et connexe (N,A,e,s)


o e: un sommet entrée
o s: un sommet sortie
o N. ensemble des nœuds
o A: ensemble des arcs
1
2
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Un nœud corresponds à:
o Point de départ (initial).
o Une instruction simple (affectation, lecture, écriture, …),
o Le prédicat d’une instruction conditionnelle ou répétitive (if, while,
for, …).
o Point d’arrivée (sortie)
 Un arc entre deux nœuds correspond à un flux de contrôle
possible

1
3
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Une exécution possible = un chemin de contrôle dans le graphe


 Chemin de contrôle = chemins exécutables + chemins non
exécutables
 Chemin exécutable : il y a une DT qui sensibilise ce chemin
 Chemin non exécutable : aucune DT qui sensibilise ce chemin
 NB: L’existence de chemins non exécutables est un signe de
mauvais codage

1
4
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Notation

1
5
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Un graphe de contrôle peut être exprimé sous forme algébrique


avec une expression qui donne l’ensemble des chemins de
contrôle
 Cas possibles pour l’expression des chemins

1
6
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle
 Soit le programme suivant :

 Etablir le graphe flot de contrôle de ce programme


 Donner les chemins de contrôle puis l’expression des chemins sous forme
réduite
 Déduire les chemins exécutables.
1
7
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Soit le graphe suivant :

1
8
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Graphe flot de contrôle

 Le problème des chemins


exécutables/non exécutables
peut s’avérer difficile si la taille
de la graphe est important

 Trouver les chemins non


exécutables dans ce graphe

L’arc h-a ne sera jamais sensibilisé car b<c !!


1
9
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Critères de couverture flot de contrôle

 ISTQB définit 4 critères de couverture pour le flot de contrôle en


allant du plus faible au plus fort :
o Couverture des instructions / Couverture des décisions /Couverture
des conditions / Couverture des chemins
 Pour chaque critère de couverture ISTQB définit un type de test
 Le problème de chaque test est de trouver les données de test
qui garantit ce niveau de couverture
 Des donnés de test avec un indicateur de couverture

1
10
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des instructions

 Le test d’instruction est « une technique de conception de tests


boîte-blanche dans laquelle les cas de test sont conçus (DT) pour
exécuter des instructions » (ISTQB).
 Couverture = pourcentage des instructions exécutables qui ont
été exécutées par une suite de tests
o Couverture = (nombre des instructions exécutées (DT) /
nombre total des instructions)
 Une instruction = Une action atomique qui doit être exécutée =
un nœud dans le graphe de flot de contrôle
1
11
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des instructions
 Exemple

 Un seul test est suffisant pour


assurer la couvertures des deux
instructions (une couverture 100%
des instructions)
1
12
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Limite du test des instructions

 Soit le programme et le graphe flot de contrôle associé :

 Définir les données de test qui assure la couverture toutes les


instructions. Interpréter.
1
13
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des décisions
 Le test des décisions est « une technique de conception de tests
boîte blanche selon laquelle les cas de tests sont conçus pour
exécuter les résultats de décisions » (ISQTB)
 Une décision = Le flot d’exécution a au moins deux chemins
possibles (if , select case, while, etc.)
 Une branche = Résultat d’une décision. Pour une décision if il y a
deux branches une suite à TRUE et une suite à FALSE
 Couverture des décisions : le pourcentage des résultats de
décisions qui ont été exécutées par une suite de tests
=> 100% de couverture des décisions implique 100% de couverture
des branches et 100% de couvertures des instructions 1
14
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des décisions

 Exemple 1

 Combien de tests sont nécessaires


pour une couverture 100% de la
décision?
1
15
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des décisions
 Exemple 2 :

 Tracer le diagramme de flot de contrôle puis déterminer le


nombre de tests nécessaires pour une couverture 100% de la
décision? 1
16
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des chemins
 Un chemin : une séquence d’exécution dans le code
 Un chemin indépendant
o Une suite d’instructions permettant d’aller du début à la fin du
code
o Un chemin du graphe de flot de contrôle qui parcourt au moins
un nouvel arc par rapport aux autres chemins définis (introduit
au moins une nouvelle instruction non parcourue)
 Deux couvertures
o Couverture de tous les chemins
o Couverture de tous les chemins indépendants
1
17
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des chemins

 Nombre Cyclomatique donne le nombre de chemins


indépendants au travers d’un programme.
o La complexité Cyclomatique est définie par L –N + 2P
o L: le nombre d’arcs/liens d’un graphe
o N: le nombre de nœuds du graphe
o P: le nombre de parties déconnectées du graphe (appel d’un
sous programme)

1
18
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des chemins

1
19
R. MZID KEBEILI Test des logiciels
Les techniques de Tests
Techniques basées sur les structures (boite blanche)
Test des chemins
 Soit le programme suivant :

 Donner le GFC puis déterminer le nombre de tests ainsi que les


DT nécessaires pour assurer 100% de couverture des instructions,
décisions, des chemins indépendants et de tous les chemins.
1
20
R. MZID KEBEILI Test des logiciels

Vous aimerez peut-être aussi