Thèse soutenue

Stratégies de génération de tests à partir de modèles UML/OCL interprétés en logique du premier ordre et système de contraintes.

FR  |  
EN
Auteur / Autrice : Jérôme Cantenot
Direction : Fabrice Bouquet
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 13/11/2013
Etablissement(s) : Besançon
Ecole(s) doctorale(s) : École doctorale Sciences pour l'ingénieur et microtechniques (Besançon ; 1991-....)
Partenaire(s) de recherche : Laboratoire : FEMTO-ST : Franche-Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (Besançon) - Franche-Comté Électronique Mécanique, Thermique et Optique - Sciences et Technologies
Jury : Président / Présidente : Bruno Legeard
Examinateurs / Examinatrices : Fabrice Bouquet, Bruno Legeard, Michel Rueher, Ioannis Parissis, Pierre-Alain Muller, Fabrice Ambert
Rapporteur / Rapporteuse : Michel Rueher, Ioannis Parissis

Résumé

FR  |  
EN

Les travaux présentés dans cette thèse proposent une méthode de génération automatique de tests à partir de modèles.Cette méthode emploie deux langages de modélisations UML4MBT et OCL4MBT qui ont été spécifiquement dérivées d’ UML et OCL pour la génération de tests. Ainsi les comportements, la structure et l’état initial du système sont décrits au travers des diagrammes de classes, d’objets et d’états-transitions.Pour générer des tests, l’évolution du modèle est représente sous la forme d’un système de transitions. Ainsi la construction de tests est équivalente à la découverte de séquences de transitions qui relient l’´état initial du système à des états validant les cibles de test.Ces séquences sont obtenues par la résolution de scénarios d’animations par des prouveurs SMT et solveurs CSP. Pour créer ces scénarios, des méta-modèles UML4MBT et CSP4MBT regroupant formules logiques et notions liées aux tests ont été établies pour chacun des outils.Afin d’optimiser les temps de générations, des stratégies ont été développé pour sélectionner et hiérarchiser les scénarios à résoudre. Ces stratégies s’appuient sur la parallélisation, les propriétés des solveurs et des prouveurs et les caractéristiques de nos encodages pour optimiser les performances. 5 stratégies emploient uniquement un prouveur et 2 stratégies reposent sur une collaboration du prouveur avec un solveur.Finalement l’intérêt de cette nouvelle méthode à été validée sur des cas d’études grâce à l’implémentation réalisée.