Jartege
Jartege est un outil
de génération automatique aléatoire de programmes de
test pour des classes Java.
Il permet de générer de façon aléatoire des programmes
de test pour des classes Java spécifiées en JML
(Java Modelling Language).
Jartege produit des test unitaires, c'est-à-dire des tests
pour un petit nombre de classes. Un test est
constitué de séquences d'appels aux différentes opérations
des classes sous test.
L'aspect aléatoire de l'outil peut être en partie paramétré,
en particulier en associant des poids aux classes sous test
ainsi qu'à leurs opérations, et en contrôlant la quantité
d'instances créées de chaque classe.
Références
- C. Oriat. Jartege: A Tool for Random Generation of Unit Tests
for Java Classes. In
Quality of Sofware Architectures and Software Quality,
2nd International Workshop of Software Quality - SOQUA'05,
LNCS 3712, pages 242-256, Erfurt, Germany, Sept 2005.
(postscript,
pdf)
The original publication is available at:
http://www.springeronline.com/lncs
- L. du Bousquet, Y. Ledru, O. Maury, C. Oriat, J.-L. Lanet.
A case study in JML-based software validation.
In (short paper)
Proceedings of 19th Int. IEEE Conf. on Automated Sofware Engineering
(ASE'04),
IEEE CS Press, Linz, Sep. 2004.
Téléchargement
Jartege est diffusée sous le contrat de licence
CeCILL
(Ce : CEA ; C : CNRS ; I : INRIA ; LL : Logiciel Libre).
Jartege est donc libre de diffusion et le code source est accessible.
Cependant, tout utilisateur doit accepter les termes de la licence CeCILL.
Jartege fonctionne avec Java 1.4. JML doit également être installé,
ainsi que JUnit.
Télécharger Jartege (v0.04) :
jartege.tar
Ancienne version (v0.03) :
jartege_0.03.tar
Exemple des listes
Programmes source
Commandes à exécuter
- Mettre le répertoire contenant Jartege dans le CLASSPATH Java.
- Compiler les programmes avec les assertions JML :
jmlc Liste.java Sequence.java
- Compiler le programme de génération de tests :
- Exécuter le programme de géneration de tests :
Jartege génère un programme de test TestSequence.java
.
- Compiler le programme de test
- Executer le programme de test
Le programme de test révèle un certain nombre d'erreurs
(assertions JML non respectées).