Les Tests en Génie Logiciel

Transcription

Les Tests en Génie Logiciel
Les Tests en Génie Logiciel
Les Tests en Génie Logiciel
Jean-Michel Richer
[email protected]
http://www.info.univ-angers.fr/pub/richer
Université d’Angers
LERIA - Laboratoire d’Etudes et de Recherche
en Informatique d’Angers
2008
1 / 23
Les Tests en Génie Logiciel
Plan
Plan
1
Cours
2
Mise en application
2 / 23
Les Tests en Génie Logiciel
Cours
Pourquoi tester le logiciel
• la réalisation d’un logiciel demande beaucoup d’efforts et
d’attention.
3 / 23
Les Tests en Génie Logiciel
Cours
Pourquoi tester le logiciel
• la réalisation d’un logiciel demande beaucoup d’efforts et
d’attention.
• le nombre de concepts / d’objets à manipuler peut vite
devenir problématique
4 / 23
Les Tests en Génie Logiciel
Cours
Pourquoi tester le logiciel
• la réalisation d’un logiciel demande beaucoup d’efforts et
d’attention.
• le nombre de concepts / d’objets à manipuler peut vite
devenir problématique
• les tests assurent la cohérence et la fiabilité du logiciel
5 / 23
Les Tests en Génie Logiciel
Cours
Les différents types de tests
On peut distinguer au moins 3 types de tests :
• tests de validation, cohérence des algorithmes
6 / 23
Les Tests en Génie Logiciel
Cours
Les différents types de tests
On peut distinguer au moins 3 types de tests :
• tests de validation, cohérence des algorithmes
• tests de (non) régression
7 / 23
Les Tests en Génie Logiciel
Cours
Les différents types de tests
On peut distinguer au moins 3 types de tests :
• tests de validation, cohérence des algorithmes
• tests de (non) régression
• tests de performance
8 / 23
Les Tests en Génie Logiciel
Cours
Les tests de validation
• assurent que l’implantation des algorithmes est fiable et
correspond àce qui était demandé
9 / 23
Les Tests en Génie Logiciel
Cours
Les tests de validation
• assurent que l’implantation des algorithmes est fiable et
correspond àce qui était demandé
• difficile à mettre en oeuvre
10 / 23
Les Tests en Génie Logiciel
Cours
Les tests de validation
• assurent que l’implantation des algorithmes est fiable et
correspond àce qui était demandé
• difficile à mettre en oeuvre
• pas toujours nécessaires voire inutile
11 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression
• assurent que le logiciel fonctionne correctement
12 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression
• assurent que le logiciel fonctionne correctement
• assurent que toute modification d’un code correct
n’introduit pas d’erreur
13 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression
• assurent que le logiciel fonctionne correctement
• assurent que toute modification d’un code correct
n’introduit pas d’erreur
• peuvent être écrits avant le code (cas des méthodes
agiles)
14 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression
• assurent que le logiciel fonctionne correctement
• assurent que toute modification d’un code correct
n’introduit pas d’erreur
• peuvent être écrits avant le code (cas des méthodes
agiles)
• peuvent être mis en oeuvre de manière automatique
(framework xUnit) ou à la main (design for testability)
15 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression en pratique
• pour chaque module, pour chaque classe et pour chaque
méthode il faut créer un test
16 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression en pratique
• pour chaque module, pour chaque classe et pour chaque
méthode il faut créer un test
• le test a pour but de vérifier le comportement de la
méthode
17 / 23
Les Tests en Génie Logiciel
Cours
Les tests de (non) régression en pratique
• pour chaque module, pour chaque classe et pour chaque
méthode il faut créer un test
• le test a pour but de vérifier le comportement de la
méthode
• régulièrement on lance les tests, en cas d’erreur on envoie
un message aux programmeurs
18 / 23
Les Tests en Génie Logiciel
Cours
Les tests de performance
• assurent que l’implantation est efficace
19 / 23
Les Tests en Génie Logiciel
Cours
Les tests de performance
• assurent que l’implantation est efficace
• recherchent les paramètres qui rendent les algorithmes les
plus performants possibles
20 / 23
Les Tests en Génie Logiciel
Cours
Les tests de performance
• assurent que l’implantation est efficace
• recherchent les paramètres qui rendent les algorithmes les
plus performants possibles
• demandent généralement beaucoup de temps de calcul
(cluster)
21 / 23
Les Tests en Génie Logiciel
Mise en application
Mise en
application
22 / 23
Les Tests en Génie Logiciel
Mise en application
• tests de non régression (make)
• tests de performance (utilisation make, shell, awk, gnuplot)
23 / 23

Documents pareils