Stratégies de génération automatique de tests à partir de modèles comportementaux UML/OCL
Institution:
BesançonDisciplines:
Directors:
Abstract EN:
This thesis de scribes a test generation environment that generates tests from UMUOCL models. Three classic kinds of UML diagrams are used to specify the test model. A class diagram is used to design the data structure of the system under test. An object diagram instantiates this class diagram to define the initial state and ail the data available for use during the evolution of the system. A state diagram, used as an extended finite state machine, specifies the dynamic behavior of the system under test. The abject Constraint Language (OCL) is used with UML to formalize the different system behaviors. It specifies the operation preconditions and postconditions and the transition guards and actions. We introduce a new interpretation of OCL for postconditions and actions, which treats some OCL constructs as actions rather than as predicates. This new interpretation makes it possible to animate the UML test model, using OCL as an executable action language. This new Model-based Testing solution is now embedded in the Smartesting Test Designer tool. To improve the test relevance, we propose a set of four coverage criteria, based on the structure of the data and the OCL predicates. The Guarantee-Effect criterium measures coverage of the atomic actions within an OCL postcondition/action. The Guarantee-Context criterium measures coverage of the activation conditions of a transition. The Guarantee-Evolution criterium measures the changes in the values of state variables. The Def-Use Pairs criterium measures the coverage of pairs of behaviors in the model. These criteria make it possible to generate test suites that cover a wider range of activation conditions and behaviors.
Abstract FR:
Les travaux présentés dans cette thèse proposent un environnement de génération de tests à partir de notations UML/OCL. La notation UML proposée pour la conception de modèles de test se compose de trois diagrammes usuels. Le diagramme de classes est utilisé pour structurer les données du système sous test dans un paradigme objet. Le diagramme d'objets instancie ce diagramme de classes pour définir l'état initial du modèle ainsi que l'ensemble du jeu de données disponible lors de l'évolution du système. Le diagramme d'étatsltransitions représente, sous la forme d'un automate à états finis, la vue dynamique du système sous test. Cette notation UML s'accompagne du langage de spécification OCL, permettant de formaliser les comportements du système. Le langage spécifie ainsi les pré-/post-conditions des opérations et les gardes/actions des transitions. On introduit par ailleurs une interprétation originale des post-conditions et des actions, traitées comme des actions et non plus comme des prédicats. Cette interprétation permet de considérer OCL comme un langage d'actions exécutable, permettant ainsi l'animation du modèle UML. Ce nouvel environnement de test est aujourd'hui industrialisé à travers l'outil Smartesting Test Designer. Afin d'améliorer la pertinence des tests générés par cet environnement, nous proposons une série de quatre familles de stratégies de génération de tests. Ces stratégies s'appuient sur la structure et les données constituantes d'un comportement. Ainsi, la stratégie Effets Garantis assure l'influence des actions d'un comportement sur les tests générés. La stratégie Contextes Garantis assure l'importance des conditions d'activation d'un comportement. La stratégie Evolution Garantie permet de faire évoluer la valeur de l'ensemble des variables d'états d'un comportement. Enfin, la stratégie Paires définition-utilisation réalise une couverture des paires de comportements du modèle de test. Ces stratégies permettent ainsi d'enrichir le contexte d'activation des comportements couverts par les cas de test générés.