Plan
• Introduction au test logiciel
• Test : définition
• Types de test
• Familles de Tests
▫ Test fonctionnel
▫ Test structurel
1
17/02/2019
Des questions
• Est-ce que mon logiciel fonctionne?
• Est-ce que mon logiciel correspond aux
spéciations?
• Je viens de faire une modification, est-ce que ca
fonctionne toujours?
• Comment puis-je devenir un meilleur
programmeur?
La réponse en testant
Le Test Logiciel
2
17/02/2019
Quelques définitions
3
17/02/2019
Principles of testing
• Les tests mettent en évidence des problèmes.
▫ Ils ne peuvent pas prouver qu'il n'y a pas de problèmes
• Plus généralement
▫ Trouver des malfaçons
▫ Avoir confiance dans la qualité du produit
▫ Fournir un retour sur les spécifications
▫ Prévenir des problèmes futurs
4
17/02/2019
Types de test
International Software Testing Qualifications Board
Types de test
International Software Testing Qualifications Board
5
17/02/2019
11
• Tests de fiabilité
résistance aux pannes
• Tests de sécurité,
• ...
☛ Tous types et étapes de test pas nécessairement présents : dépend de la
criticité du logiciel
12
Niveaux de test
• Tests de boîte noire [black box testing]
Le test porte sur le fonctionnement externe du système. La façon
dont le système réalise les traitements n'entre pas dans le champ
du test.
– évaluation de l'extérieur (sans regarder le code),
uniquement en fonction des entrées et des sorties
– sur le logiciel ou un de ses composants
6
17/02/2019
13
Types de Tests
14
7
17/02/2019
15
16
8
17/02/2019
17
Familles de Tests
9
17/02/2019
10
17/02/2019
21
22
11
17/02/2019
23
24
12
17/02/2019
25
26
13
17/02/2019
27
28
Question :
• Etablir le graphe de flot de contrôle de ce programme
• Fournir l’expression des chemins
14
17/02/2019
29
30
Question :
• Etablir le graphe de flot de contrôle de ce programme
• Fournir l’expression des chemins
15
17/02/2019
31
32
Chemins Exécutables
16
17/02/2019
33
Chemins Exécutables
• DT1={x=2}
• DT1 sensibilise le chemin [acdfg] : [acdfg] est un
chemin exécutable
• [abdfg] est un chemin non exécutable : aucune DT
capable de sensibiliser ce chemin
34
Chemins Exécutables
17
17/02/2019
35
36
18
17/02/2019
37
38
19
17/02/2019
39
40
20
17/02/2019
41
42
21
17/02/2019
43
44
22
17/02/2019
45
46
23
17/02/2019
47
48
24
17/02/2019
49
50
25
17/02/2019
51
52
26
17/02/2019
53
54
begin
read(x); read(y)
while x <> y do
If x>y then x:= x-y;
else y:= y-x;
end if
end while
pgcd := x;
end
27
17/02/2019
55
56
Limites
Found:= false; counter:=1;
While (not found) and counter< numberItems do /* erreur <= */
If table(counter) = desiredElem then
found := true; Limite…
endif Ex: Soit le jeu de test suivant qui parcourt
counter:= counter+1; tous les chemins indépendants du graphe
End while; (il y en a 4, mais l’un d’eux est impossible à
If found then parcourir) :
write(« Elément existe. »); • table vide
Else • table avec 1 élément ne contenant pas
write(« Élément n’existe pas. »); celui désiré.
Endif; • table avec 3 éléments dont le premier est
celui cherché.
28
17/02/2019
57
58
29
17/02/2019
59
60
30
17/02/2019
61
31