Génération de tests à partir de statecharts fondée sur le calcul de comportements
Dans cet article, nous présentons une approche originale pour la génération de tests
à partir de modèles statecharts Statemate. Cette approche est fondée sur le calcul des comportements
du modèle et sur une recherche d’atteignabilité de ces comportements. Le calcul
des séquences de test met en oeuvre les fonctions d’évaluation symbolique en programmation
logique avec contraintes de l’environnement de génération de tests BZ-Testing-Tools. Cette approche
a été utilisée sur plusieurs applications réelles de contrôleurs de calculateurs embarqués
dans le contexte automobile. Elle permet en particulier de traiter les principales fonctions de
modélisation statecharts Statemate : les états parallèles et hiérarchiques, la sémantique Superstep,
les timers. Cet article introduit le mécanisme de calcul des comportements à partir d’un
statechart, présente l’algorithme de recherche d’atteignabilité des comportements, puis illustre
la génération des tests sur un exemple de contrôleur embarqué sur véhicule.
This article deals with an original method for automated test generation of Statemate statechart models. This method implements a model behavior computation and a reachability search of those behaviors. Test cases computation is based on a symbolic animation using the constraint logic programming of the BZ-Testing-Tools environnement. This method has been successfully experimented on several embedded automotive systems. Especially, it takes in care most of the fundamentals modelling functionalities of Statemate : parallel and hierarchical states, Superstep semantic, timers. This article describes the behavior computation mechanism, the behavior reachability search algorithm, and illustrates the test case generation with a simple embedded automotive system.
S.COLIN, F.LEBEAU, B.LEGEARD
statecharts, génération automatique de tests à partir de spécifications, programmation logique avec contraintes.
statecharts, automated test generation, constraint logic programming.
Français
|