Jean-Michel Richer [email protected] http ...richer/ens/m2/tests.pdf · Les Tests...

23
Les Tests en G ´ enie Logiciel Les Tests en G ´ enie Logiciel Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer Universit´ e d’Angers LERIA - Laboratoire d’Etudes et de Recherche en Informatique d’Angers 2008 1 / 23

Transcript of Jean-Michel Richer [email protected] http ...richer/ens/m2/tests.pdf · Les Tests...

Les Tests en Genie Logiciel

Les Tests en Genie Logiciel

Jean-Michel [email protected]

http://www.info.univ-angers.fr/pub/richer

Universite d’AngersLERIA - Laboratoire d’Etudes et de Recherche

en Informatique d’Angers

2008

1 / 23

Les Tests en Genie Logiciel

Plan

Plan

1 Cours

2 Mise en application

2 / 23

Les Tests en Genie Logiciel

Cours

Pourquoi tester le logiciel

• la realisation d’un logiciel demande beaucoup d’efforts etd’attention.

3 / 23

Les Tests en Genie Logiciel

Cours

Pourquoi tester le logiciel

• la realisation d’un logiciel demande beaucoup d’efforts etd’attention.

• le nombre de concepts / d’objets a manipuler peut vitedevenir problematique

4 / 23

Les Tests en Genie Logiciel

Cours

Pourquoi tester le logiciel

• la realisation d’un logiciel demande beaucoup d’efforts etd’attention.

• le nombre de concepts / d’objets a manipuler peut vitedevenir problematique

• les tests assurent la coh erence et la fiabilit e du logiciel

5 / 23

Les Tests en Genie Logiciel

Cours

Les differents types de tests

On peut distinguer au moins 3 types de tests :

• tests de validation, coherence des algorithmes

6 / 23

Les Tests en Genie Logiciel

Cours

Les differents types de tests

On peut distinguer au moins 3 types de tests :

• tests de validation, coherence des algorithmes

• tests de (non) regression

7 / 23

Les Tests en Genie Logiciel

Cours

Les differents types de tests

On peut distinguer au moins 3 types de tests :

• tests de validation, coherence des algorithmes

• tests de (non) regression

• tests de performance

8 / 23

Les Tests en Genie Logiciel

Cours

Les tests de validation

• assurent que l’implantation des algorithmes est fiable etcorrespond ace qui etait demande

9 / 23

Les Tests en Genie Logiciel

Cours

Les tests de validation

• assurent que l’implantation des algorithmes est fiable etcorrespond ace qui etait demande

• difficile a mettre en oeuvre

10 / 23

Les Tests en Genie Logiciel

Cours

Les tests de validation

• assurent que l’implantation des algorithmes est fiable etcorrespond ace qui etait demande

• difficile a mettre en oeuvre

• pas toujours necessaires voire inutile

11 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression

• assurent que le logiciel fonctionne correctement

12 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression

• assurent que le logiciel fonctionne correctement

• assurent que toute modification d’un code correctn’introduit pas d’erreur

13 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression

• assurent que le logiciel fonctionne correctement

• assurent que toute modification d’un code correctn’introduit pas d’erreur

• peuvent etre ecrits avant le code (cas des methodesagiles)

14 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression

• assurent que le logiciel fonctionne correctement

• assurent que toute modification d’un code correctn’introduit pas d’erreur

• peuvent etre ecrits avant le code (cas des methodesagiles)

• peuvent etre mis en oeuvre de maniere automatique(framework xUnit ) ou a la main (design for testability)

15 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression en pratique

• pour chaque module, pour chaque classe et pour chaquemethode il faut creer un test

16 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression en pratique

• pour chaque module, pour chaque classe et pour chaquemethode il faut creer un test

• le test a pour but de verifier le comportement de lamethode

17 / 23

Les Tests en Genie Logiciel

Cours

Les tests de (non) regression en pratique

• pour chaque module, pour chaque classe et pour chaquemethode il faut creer un test

• le test a pour but de verifier le comportement de lamethode

• regulierement on lance les tests, en cas d’erreur on envoieun message aux programmeurs

18 / 23

Les Tests en Genie Logiciel

Cours

Les tests de performance

• assurent que l’implantation est efficace

19 / 23

Les Tests en Genie Logiciel

Cours

Les tests de performance

• assurent que l’implantation est efficace

• recherchent les parametres qui rendent les algorithmes lesplus performants possibles

20 / 23

Les Tests en Genie Logiciel

Cours

Les tests de performance

• assurent que l’implantation est efficace

• recherchent les parametres qui rendent les algorithmes lesplus performants possibles

• demandent generalement beaucoup de temps de calcul(cluster)

21 / 23

Les Tests en Genie Logiciel

Mise en application

Mise enapplication

22 / 23

Les Tests en Genie Logiciel

Mise en application

• tests de non regression (make)

• tests de performance (utilisation make, shell, awk, gnuplot)

23 / 23