Les Techniques de Tests: Techniques Basées Sur Les Structures (Boite Blanche)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
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