Ce rapport présente Jartege, un outil qui permet la génération aléatoire de tests unitaires pour des classes Java spécifiées en JML. JML (Java Modeling Language) est un langage de spécification pour Java qui permet d'écrire des invariants pour des classes, ainsi que des pré-et des post-conditions pour des opérations. Comme dans l'outil JML-JUnit, nous utilisons les spécifications JML d'une part pouréliminer des cas de test non pertinents, et d'autre part comme oracle de test. Jartege génère de façon aléatoire des cas de test, qui consistent en une séquence d'appels de constructeurs et de méthodes des classes sous test. L'aspect aléatoire de l'outil peutêtre paramétré en associant des poids aux classes et aux opérations, et en contrôlant le nombre d'instances créées pour chaque classe sous test. L'utilisation pratique de Jartege est illustrée par une petiteétude de cas. Test, test unitaire, génération aléatoire de cas de test, Java, JML This report presents Jartege, a tool which allows random generation of unit tests for Java classes specified in JML. JML (Java Modeling Language) is a specification language for Java which allows one to write invariants for classes, and pre-and postconditions for operations. As in the JML-JUnit tool, we use JML specifications on the one hand to eliminate irrelevant test cases, and on the other hand as a test oracle. Jartege randomly generates test cases, which consist of a sequence of constructor and method calls for the classes under test. The random aspect of the tool can be parameterized by associating weights to classes and operations, and by controlling the number of instances which are created for each class under test. The practical use of Jartege is illustrated by a small case study.
Tool oriented, the authors propose in REF a configurable unit testing tool of java classes specified in JML.
Jartege: a Tool for Random Generation of Unit Tests for Java Classes
ArXiv
ArXiv
Computer Science