TTL-Chapitre-2-Partie 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 46

Technique de Test Logiciel ( TTL )

Université de Biskra
Département d’informatique

1er année Master

Option : GLSD

Module : TTL

Présenté par
Dr. Ouaar Hanane

1
Année universitaire 2019/2020
Chapitre 2:

Technique de
Test Logiciel
2
Chapitre 2 : Technique de test logiciel
Autres Méthodes de Test

Test de robustesse (‫)اﻟﻤﺘﺎﻧﺔ‬:

C’est une technique de test qui a pour objectif de


déterminer si le système se comporte comme attendu
en présence de conditions d'exécution erronées ou non
prévues .

Exemple
Application industrielle (incendie, courant, fumée. etc)

3
Chapitre 2 : Technique de test logiciel
Autres Méthodes de Test

Test de performance:

C’est une technique de test qui a pour but de


déterminer les performances d’un système dans une
situation particulière (temps de réponse d’un logiciel,
utilisation des ressources, etc.).

Exemple
Application web/mobile
Jeux 4
Chapitre 2 : Technique de test logiciel
Autres Méthodes de Test

Test de sécurité:
Cette technique de test vise à rechercher par des tests
les vulnérabilités (‫( )ﻧﻘﺎط اﻟﻀﻌﻒ‬points faibles) d’un
système.

Exemple
Application bancaire, DBA, etc

5
Chapitre 2 : Technique de test logiciel
Rapport de test

-Pour chaque phase de test l’équipe doit élaborer un


rapport de tests.

Ce rapport est la synthèse des actions menées suivantes :

6
Chapitre 2 : Technique de test logiciel
Rapport de test
-Exécution des fiches de tests (effectuer les actions décrites).
-Analyser les résultats obtenus: comparer les résultats
attendus avec les résultats obtenus. Les éléments de mesure
sont très importants !
-Emettre des fiches de non-conformité si nécessaire (ces
fiches sont aussi appelées fiches d’anomalie, fiches de bug).
Il s’agit de coupler intelligemment la gestion des tests et la
gestion des corrections (incidents).
-Consigner (‫ )ﺗﺴﺠﯿﻞ‬tous les résultats d’exécution de tests.
-Rédiger des comptes rendus de tests.
La somme de ces comptes rendus constituera le rapport
7
de tests
Chapitre 2 : Technique de test logiciel
Les niveaux de test
A chaque phase (niveau) de développement logiciel est associée sont
propre type de test comme suite:

8
Chapitre 2 : Technique de test logiciel
Positionnement des types de tests dans un cycle en V
Temps

Détail 9
Chapitre 2 : Technique de test logiciel
Les niveaux de test
 1- Test unitaire

10
Chapitre 2 : Technique de test logiciel
Les niveaux de test
Environnement du test unitaire

11
Chapitre 2 : Technique de test logiciel
Les niveaux de test
2- Test d’intégration

Si tous les modules marchent bien


séparément, pourquoi douter qu’ils
ne marcheraient pas ensemble ?

Réunir les modules : Interfacer

12
Chapitre 2 : Technique de test logiciel
Les niveaux de test
2.Test d’intégration

Big bang (interface)

Stratégie de construction incrémentale

Intégration partielle

Test de non régression (‫)اﻻﻧﺤﺪار‬: permet de vérifier


que les changements effectués durant la mise au
point ne permet pas d’introduire d’autres défauts.
13
Chapitre 2 : Technique de test logiciel
Les niveaux de test
Intégration descendante

(‫)ﻣﺗﺄﺧرا‬
ً
14
Chapitre 2 : Technique de test logiciel
Les niveaux de test
Intégration ascendante

15
Chapitre 2 : Technique de test logiciel
Les niveaux de test
Intégration en Sandwich (mixte)

16
Chapitre 2 : Technique de test logiciel
Les niveaux de test
3- Test Système
Le test système a pour but de vérifier que le logiciel est conforme à ses

spécifications.

En d’autres termes cela revient à s’assurer par des tests que le logiciel

remplit bien les fonctionnalités attendues.

Cette phase vient après celle de l'intégration du logiciel. La méthode de

test boite noire est généralement utilisée pour ce type de test.


17
Chapitre 2 : Technique de test logiciel
Les niveaux de test
4- Test d'Acceptation
Cette phase de test est l’une des plus importantes, car elle fait
intervenir les exigences du client.

En effet, elle a pour but de vérifier si le logiciel est


conforme, en plus de ses spécifications, aux différentes
exigences fixées par le client.

18
Chapitre 2 : Technique de test logiciel
Les niveaux de test
5- Test Alpha
Le test alpha est réalisé après les tests d’acceptation.

Il a pour objectif de faire tester le logiciel en interne,


interne par des
utilisateurs qui n’ont pas participé au développement du
projet.

19
Chapitre 2 : Technique de test logiciel
Les niveaux de test
6- Test Bêta
Le test bêta est réalisé après le test alpha.

Il a pour but de faire tester le logiciel par un échantillon de


personnes, le plus souvent externes à l’entreprise (des
potentiels utilisateurs par exemple).

20
Chapitre 2 : Technique de test logiciel
Synthèse 1: Niveaux de tests

21
Chapitre 2 : Technique de test logiciel
Synthèse 2: Niveaux de tests
les principaux acteurs et activités qui interviennent tout au long du test:

22
Chapitre 2 : Technique de test logiciel
Degré de tests

23
Chapitre 2 : Technique de test logiciel
Les activistes liées aux projet de tests

L’activité de tests est un projet à part entière.


C’est la raison pour laquelle nous retrouvons l’ensemble des
caractéristiques d’un projet
1. Planifier les tests : c’est-à-dire prévoir où et en quelle
quantité porter les efforts en personne et en temps ;
Métriques: estimation des charges, définition des métriques,
définition des environnements matériels et logiciels, définition
de la campagne, du plan et des livrables.
24
Chapitre 2 : Technique de test logiciel
Plan de tests

25
Chapitre 2 : Technique de test logiciel
Les activistes liées aux tests
2. Spécifier les tests : c’est-à-dire préciser ce que l’on attend
des tests en termes de détection d’erreurs (fonctionnel ou
non fonctionnel par exemple).

Les techniques et les outils à utiliser ou à ne pas utiliser, les


parties du logiciel sur lesquelles porteront les tests ;

26
Chapitre 2 : Technique de test logiciel
Les activistes liées aux tests
3. Concevoir les tests : c’est-à-dire définir les scénarios de
tests, appelés aussi cas de test, permettant de mettre en
évidence des défauts recherchés par les tests, en fonction de
leurs spécifications; il s’agit aussi de préciser les
environnements d’exécution de ces tests;
Métriques: organisation du référentiel, identification des
conditions de tests, traçabilité, cas de tests, données de tests,
procédures de tests, scénarios.
27
Chapitre 2 : Technique de test logiciel
Les activistes liées aux tests
4. Établir les conditions de tests : c’est-à-dire prévoir pour
chaque scénario de tests les jeux de valeurs à fournir au
logiciel pour réaliser ce scénario ;
Métriques suivi, exécution et reporting

28
Chapitre 2 : Technique de test logiciel
Les activistes liées aux projet de tests

5. Définir les conditions d’arrêt d’une campagne de tests :


c’est-à-dire définir, en relation avec la phase de planification,
ce qui permettra de décider l’arrêt ou la poursuite des tests ;
Métriques :Evaluation des risques et Gestion des incidents.

6. Contrôler les résultats : c’est-à-dire comparer les données


fournies par l’exécution des tests par rapport aux données
attendues ou constatées lors de phases précédentes de tests ;
29
Chapitre 2 : Technique de test logiciel
Les activistes liées aux projet de tests
7. Tracer les tests vis-à-vis des exigences grâce à une
matrice de traçabilité : c’est-à-dire analyser en quoi les tests
fournissent une exhaustivité de la recherche d’erreurs dans les attendus
du logiciel.

Cette matrice permet de vérifier qu’à toute exigence correspond au


moins un scénario de test (mesure de la complétude des tests) et, à
l’opposé, elle permet également de vérifier qu’un scénario de test sert à
valiser au moins une exigence (mesure de l’efficacité des tests).
Métriques(recette ou arrêt des tests) et Amélioration des processus
30
Chapitre 2 : Technique de test logiciel
Jeu de test

31
Chapitre 2 : Technique de test logiciel
Tests exhaustifs
 Programme de 50-100 lignes

1boucles(1-20 itérations), 4
conditions imbriquées à
l’intérieur de la boucle

1014 chemins d’exécution


Possibles

 pour tester tous les chemins à


raison d’un chemin par
milliseconde!
~3174 ans 32
Chapitre 2 : Technique de test logiciel
Tests exhaustifs
l y a 520 chemins possibles:

En exécutant 1 test par


milliseconde, cela prendrait
3024 ans pour tester ce
programme !

33
Chapitre 2 : Technique de test logiciel

Tests exhaustifs

L’objet principal est d’analyser le comportement d’un


logiciel dans un environnement donné.

Ainsi, il ne sert a priori à rien de tester le bon


fonctionnement de la gestion du système de freinage
d’une automobile pour une vitesse de 1000 km/h.

34
Chapitre 2 : Technique de test logiciel
Tests exhaustifs
En général, tester un programme de façon exhaustive est
impossible

Il faut choisir un sous-ensemble des tests qui maximise la


probabilité de détecter les erreurs

 Il est possible d’utiliser des tests aléatoires, mais leur


efficacité est faible pour tester le comportement attendu.

Une meilleure approche:


**déterminer un ensemble de tests fonctionnels qui
seront complémentés de tests structurels**
35
Chapitre 2 : Technique de test logiciel
Approches des jeux de test
Soit la spécification suivante :

Un programme prend en entrée trois entiers. Ces trois entiers


sont interprétés comme représentant les longueurs des cotés
d’un triangle. Le programme rend un résultat précisant si il
s’agit d’un triangle scalène, isocèle ou équilatéral.

Produire une suite de cas de tests pour ce programme 36


Chapitre 2 : Technique de test logiciel
Approches des jeux de test
14 cas de test –GJ Myers –«The Art of Software Testing»- 1979
1. Cas scalène valide (1,2,3 et 2,5,10 ne sont pas valides)
2. Cas équilatéral valide
3. Cas isocèle valide (2,2,4 n’est pas valide)
4. Cas isocèle valide avec les trois permutations (e.g. 3,3,4; 3,4,3; 4,3,3)
5. Cas avec une valeur à 0
6. Cas avec une valeur négative
7. Cas ou la somme de deux entrées est égale à la troisième entrée
8. cas pour le test 7 avec les trois permutations
9. Cas ou la somme de deux entrées est inférieur à la troisième entrée
10. 3 cas pour le test 9 avec les trois permutations
11. Cas avec les trois entrées à 0
12. Cas avec une entrée non entière
13. Cas avec un nombre erroné de valeur (e.g. 2 entrées, ou 4)
14. Pour chaque cas de test, avez-vous défini le résultat attendu ? 37
Chapitre 2 : Technique de test logiciel
Approches des jeux de test

-Chacun de ces 14 tests correspond à un défaut constaté dans


des implantations de cet exemple triangle

- La moyenne des résultats obtenus par un ensemble de


développeurs expérimentés est de 7.8 sur 14.

La conception de tests est une activité complexe, a fortiori sur


de grandes applications

38
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests

Un nombre de principes de test ont été suggérés


au cours des 40 dernières années et offrent des
indications communes à tous les tests.

39
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests
Principe 1: Les tests montrent la présence de défauts
-Les tests peuvent prouver la présence de défauts,
mais ne peuvent pas en prouver l’absence.

-Les tests réduisent la probabilité que des défauts


restent cachés dans le logiciel mais, même si aucun
défaut n’est découvert, ce n’est pas une preuve
d’exactitude.
40
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests

Principe 2: Les tests exhaustifs sont impossibles


-Tout tester! (toutes les combinaisons d’entrées et de
préconditions) n’est pas faisable, sauf pour des cas
triviaux.
- Plutôt que des tests exhaustifs, nous utilisons
l’analyse des risques et des priorités pour focaliser les
efforts de tests.
41
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests

Principe 3 :Tester tôt

Pour trouver des défauts tôt, les activités de tests

devraient commencer aussi tôt que possible dans le

cycle de développement du logiciel ou du système, et

devraient être focalisées vers des objectifs définis.


42
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests
Principe 4 : Regroupement des défauts
L’effort de test devrait être fixé proportionnellement à
la densité des défauts prévus et constatés dans les
différents modules.
Un petit nombre de modules contiennent généralement
la majorité des défauts détectés lors des tests pré-
livraison, ou affichent le plus de défaillances en
opération. 43
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests
Principe 5 : Paradoxe du pesticide (‫)ﻣﺒﯿﺪات‬
Si les mêmes tests sont répétés de nombreuses fois, il arrivera
que le même ensemble de cas de tests ne trouvera plus de
nouveaux défauts.
Pour prévenir ce “paradoxe du pesticide”, les cas de tests
doivent être régulièrement revus et révisés, et de nouveaux
tests différents doivent être écrits pour couvrir d’autres
chemins dans le logiciel ou le système de façon à permettre la
découverte de nouveaux défauts. 44
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests

Principe 6 : Les tests dépendent du contexte


Les tests sont effectués différemment dans des
contextes différents.

Par exemple, les logiciels de sécurité critique seront


testés différemment d’un site de commerce
électronique.
45
Chapitre 2 : Technique de test logiciel
Les 7 principes généraux des tests

Principe 7 : L’illusion de l’absence d’erreurs


Trouver et corriger des défauts n’aide pas si le
système conçu est inutilisable et ne comble pas les
besoins et les attentes des utilisateurs.

46

Vous aimerez peut-être aussi