đ» TP â DĂ©velopper des tests automatisĂ©s (dĂ©couverte)
1. Introduction
Dans ce TP nous allons dĂ©couvrir le test logiciel automatisĂ© Ă l’aide d’un framework de test : JUnit 5. Une classe simple Ă tester vous est fournie, et vous devrez implĂ©menter les scripts de test qui couvrent tous les scĂ©narios de test demandĂ©s.
Objectifs :
-
Implémenter des scénarios de test avec JUnit 5,
-
(Optionnel) Proposer des scénarios de test additionnels pertinents.
2. Classe Ă tester
Vous devez tester une classe appelĂ©e BasicSortedList, qui est l’implĂ©mentation d’une interface Java appelĂ©e SortedList.
L’interface SortedList est ici notre document de conception pour le logiciel.
Une SortedList est spĂ©cifiĂ©e au comme Ă©tant une collection Java qui est toujours triĂ©e, et qui donc s’assure que tout Ă©lĂ©ment ajoutĂ© soit ajoutĂ© au bon emplacement de la liste.
Vous trouverez tout le code Java dans un projet disponible dans un projet Gitlab dédié.
Ce projet contient :
-
Une interface
SortedListqui est la spĂ©cification de la classe qu’on souhaite tester, -
Une classe
BasicSortedListqui est la classe que nous souhaitons tester, -
Une classe de test
BasicSortedListTestqui implémente un unique scénario de test unitaire. -
Un fichier de configuration Maven
pom.xmlqui inclut la dépendance requise à JUnit 5.
4. Exercices
4.1. Question 1 â exĂ©cuter un premier scĂ©nario de test
-
Soit le scénario de test S1 suivant :
-
DonnĂ©es d’entrĂ©es :
-
this : SortedList = [1,2,4] -
e : Integer = 3
-
-
ProcĂ©dure d’exĂ©cution :
this.add(e) -
Oracle :
this == [1,2,3,4]
Une implĂ©mentation de ce scĂ©nario de test vous est fournie. Compilez le code et exĂ©cutez les tests Ă l’aide de la commande
mvn test, et observez le rĂ©sultat. Normalement l’exĂ©cution est une rĂ©ussite. -
-
Dans le fichier
BasicSortedList.java, allez dans la mĂ©thodeaddet commentez la ligne qui effectue lesort. ExĂ©cutez Ă nouveau votre scĂ©nario de test : normalement l’exĂ©cution est dĂ©sormais un Ă©chec. Cela signifie que le scĂ©nario arrive avec succĂšs Ă dĂ©celer une dĂ©faillance, dĂ©clenchĂ©e par le dĂ©faut que vous venez d’introduire !
4.2. Question 2 â autres scĂ©narios de test
ImplĂ©mentez les scĂ©narios de test suivants. N’oubliez pas de les exĂ©cuter !
4.2.1. Méthode add
-
S2
-
DonnĂ©es d’entrĂ©es :
-
this : SortedList = [] -
e : Integer = null
-
-
ProcĂ©dure d’exĂ©cution :
this.add(e) -
Oracle : une
IllegalArgumentExceptionest envoyĂ©e â attention cet oracle nĂ©cessite l’assertionassertThrows
-
-
S3
-
DonnĂ©es d’entrĂ©es :
-
this : SortedList = [0,8,32] -
e : Integer = -1
-
-
ProcĂ©dure d’exĂ©cution :
this.add(e) -
Oracle :
this == [-1,0,8,32]
-