Spelling suggestions: "subject:"génération dde tests"" "subject:"génération dee tests""
1 |
Evaluation Symbolique à Contraintes pour la Validation - Application à Java/JMLDadeau, Frédéric 19 July 2006 (has links) (PDF)
Mes travaux de thèse s'articulaient autour de la validation de modèles et de programmes. En ce sens, les modèles sont validés par animation, de manière à s'assurer qu'ils décrivent le bon comportement du système qu'ils représentent. Il s'agit d'un processus semi-automatique, car l'utilisateur sélectionne les actions du système à exécuter et effectue la comparaison entre les descriptions informelles données dans le cahier des charges et les résultats produits par le modèle. Un modèle validé est ensuite utilisé dans l'objectif de produire des cas de tests fonctionnels destinés à être joués sur une implantation ou un système sous test. Le modèle formel est ainsi utilisé à deux niveaux : d'une part, il permet de calculer de manière automatique les suites de tests, et, d'autre part, il sert d'oracle pour établir le verdict du test.<br />Au cours de ces travaux, nous nous sommes intéressés à la validation de programmes Java par l'intermédiaire de son langage de modélisation associé, nommé JML. Suite aux expériences et aux savoirs-faire accumulés au sein de l'équipe Techniques Formelles et à Contraintes du Laboratoire d'Informatique de Franche-Comté, nous avons choisi d'appliquer une représentation logico-ensembliste des modèles JML, reposant sur des solveurs de contraintes pour gérer les valeurs des variables des modèles objets que nous traitons. A partir de cette représentation symbolique, nous avons exprimé l'animation symbolique d'un modèle objet basé sur la sémantique de Java, utilisant les descriptions formelles contenues dans les pré- et postconditions des spécifications des méthodes.<br />Nous nous sommes ensuite appuyés sur la définition symbolique des états du système objet pour extraire des cibles de tests, liées aux comportements issus des méthodes, définies par un prédicat obtenu par conjonction de la condition d'activation du comportement et de la mise aux limites des attributs des objets du système et des paramètres de la méthode sous test. L'animation symbolique du modèle entre en jeu pour la construction des cas de tests. Un algorithme de parcours de l'espace d'états effectue la recherche d'un chemin d'exécution menant à la cible. Les cas de tests sont ensuite concrétisés pour produire un pilote de test Java. Une étude de cas a été menée sur une modélisation fonctionnelle d'un porte-monnaie électronique.<br />Ces travaux ont été implantés dans un prototype, nommé JML-Testing-Tools, qui permet l'animation symbolique d'un modèle JML et la génération de cas de tests pour l'implantation Java qui lui est associée. Ce prototype est composé d'un compilateur traduisant une spécification JML et des signatures de classes Java dans un format logico-ensembliste. Le modèle décrit dans ce format est ensuite animé par un interpréteur rétablissant la sémantique opérationnelle du Java/JML.
|
2 |
Génération automatique de scénarios de tests à partir de propriétés temporelles et de modèles comportementauxCabrera Castillos, Kalou 28 November 2013 (has links) (PDF)
Les travaux proposés dans cette thèse, effectuée dans le cadre du projet ANR TASCCC, présentent une technique de génération de tests à partir de modèles comportementaux en UML/OCL et de proprié- tés temporelles. Pour cela, nous décrivons un langage de propriétés temporelles inspiré des patrons de propriétés introduits par M. Dwyer et al.. Une propriété est définie comme la combinaison d'une portée, qui représente les exécutions du système dans laquelle un motif doit être satisfait. Nous associons à chaque portée et motif une sémantique à base d'automates particuliers, les automates de substitution. Par un mécanisme de substitution d'un automate de motif dans un automate de portée, nous obtenons un automate représentant la sémantique de la propriété. Nous avons ensuite défini des critères de couverture nominaux, inspirés des critères de couverture classiques sur les automates, spécifiques à nos automates de propriété. Ces critères se concentrent sur les informations supplémentaires apportées par la propriété originale, telles que ses évènements, sa portée et son motif. En complément, nous avons défini un critère de couverture qui, par le biais de mutation d'évènements de certaines transitions, permet de cibler des exécutions potentiellement dangereuses du système en tentant de provoquer les évènements interdits de la propriété. Ensuite, nous avons défini pour chaque critère un algorithme qui permet d'extraire des chemins dans l'automate, ciblant les éléments du critère considéré. Ces chemins sont traduits en scénarios dans un langage que nous avons défini. Enfin, un dépliage combinatoire de ces scénarios, éventuellement guidé par des directives de pilotage intégrées à celui-ci, permet la génération de cas de tests abstraits. Finalement, cette approche a été validée par une expérimentation sur une étude de cas dans ce document et sur GlobalPlatform, l'étude de cas de taille industrielle dans le cadre du projet TASCCC.
|
3 |
Contributions à l'automatisation raisonnée de différents processus du test logicielDu Bousquet, Lydie 03 November 2010 (has links) (PDF)
Le test constitue aujourd'hui la principale activité de validation d'un logiciel. Dans un contexte où l'on cherche à réduire les coûts et augmenter la qualité, il est essentiel de proposer des solutions de test automatisées et de veiller à la productivité des ingénieurs de test. Les travaux présentés dans ce mémoire ont l'ambition de contribuer à ces objectifs. Ces travaux se déclinent selon trois axes. Le premier axe concerne la génération de tests. L'originalité du travail se situe dans l'établissement de principes pour la production combinatoire de suites de test, à partir d'expressions abstraites. Ces principes ont été implantés dans un outil appelé Tobias. Lorsque de grandes suites de test sont produites, il est important d'automatiser l'oracle des tests. Un deuxième axe vise à évaluer l'utililisabilité des assertions pour établir le verdict des tests pour des applications domotiques. Les résultats montrent que les assertions sont effectivement utilisables, mais que l'exécution de ces applications dans un environnement réel non complètement contrôlable ou observable peut conduire en l'émission de verdicts biaisés. Ainsi, l'automatisation de la génération et de l'oracle permet de réduire le coût de la phase de test. Mais, pour réduire le coût du test, il est aussi important de considérer les facteurs internes au logiciel relatifs à la testabilité. De nombreuses métriques ont été proposées pour prédire et estimer la testabilité d'un système. Un troisième axe de recherche concerne l'évaluation la validation expérimentale de ces métriques. Les résultats des expérimentations démontrent que les métriques étudiées ne sont pas directement utilisables pour prédire le coût du test.
|
4 |
Combining Discrete and Continuous Domains for SysML-Based Simulation and Test Generation / Unification des ensembles discrets et continus pour la simulation et la génération de tests à partir de modèles sysMLGauthier, Jean-Marie 19 November 2015 (has links)
Les travaux de recherche menés au cours de cette thèse s'inscrivent dans le cadre de la modélisation, de la vérification et de la validation de systèmes complexes, critiques et multi-physiques. Ces travaux visent à combler l'écart d'abstraction entre les modèles haut-niveau, point de départ des processus MBSE (Model-Based Systems Engineering), et la simulation temps réel, clef de voûte des approches In-the-Loop. Dans ce contexte, nous proposons d'unifier, au sein d'un même modèle SysML, les aspects continus d'un système, permettant de générer de manière automatique un modèle Modelica de plus bas niveau directement exécutable (simulation), et les aspects discrets, permettant l'animation et la génération de tests par des solveurs de contraintes. Les travaux réalisés au cours de cette thèse ont permis l'étude et la réalisation d'une chaîne outillée originale permettant de simuler et de tester ce type de systèmes à partir de modèles SysML en contexte In-the-Loop. Cette démarche a été validée par deux cas d'étude concrets issus de la recherche. Le premier, issu du projet ANR Smart Blocks, nous a permis de mettre à l'épreuve la méthodologie de modélisation SysML dans le but d'effectuer des simulations de convoyeur sans contact (jets d'air). Le second cas d'étude, issu du projet Région GEOSEFA, nous a permis de valider l'approche complète (simulation et test) en contexte In-the-Loop. Celui-ci porte sur la conception et la validation d'un nouveau système énergétique hybride embarqué dans un hélicoptère. / The research conducted during this thesis fall within the scope of modeling, verification and validation of critical and complex systems. This work aims to bridge the gap between the abstract high-level models, starting point of the MBSE process (Model-Based Systems Engineering), and real-time simulation keystone of In-the-Loop processes. In this context, we propose to unify, within a SysML model, continuous aspects of a system, to automatically generate an executable Modelica model (simulation), and discrete aspects allowing animation and test generation by constraint solvers. The work done during this thesis allowed the study and the realization of an original tooled approach to simulate and test such systems from SysML models within a In-the-Loop context. This approach has been validated by two concrete case studies from research partners. The first, from the ANR Smart Blocks project, allowed us to assess the relevance of the proposed SysML modeling methodology in order to perform contact less conveyor simulations. The second case study, from the GEOSEFA Regional project has allowed us to validate the overall approach (simulation and testing) in a In-the-Loop context. It covers the design and the validation of a new energy hybrid system embedded in a helicopter.
|
5 |
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. / Test generation strategies from UML/OCL models interpreted with first order logic constraints systemCantenot, Jérôme 13 November 2013 (has links)
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. / This thesis describes an automatic test generation process from models.This process uses two modelling languages, UML4MBT and OCL4MBT, created specificallyfor tests generation. Theses languages are derived from UML and OCL. Therefore the behaviours,the structure and the initial state of the system are described by the class diagram, the objectdiagram and the state-chart.To generate tests, the evolution of the model is encoded with a transition system. Consequently,to construct a test is to find transition sequences that rely the initial state of the system to thestates described by the test targets.The sequence are obtained by the resolution of animation scenarios. This resolution is executedby SMT provers and CSP solvers. To create the scenario, two dedicated meta-models, UML4MBTand CSP4MBT have been established. Theses meta-models associate first order logic formulas withthe test notions.7 strategies have been developed to improve the tests generation time. A strategy is responsiblefor the selection and the prioritization of the scenarios. A strategy is built upon the properties ofthe solvers and provers and the specification of our encoding process. Moreover the process canalso be paralleled to get better performance. 5 strategies employ only a prover and 2 make theprover collaborate with a solver.Finally the interest of this process has been evaluated through a list of benchmark on variouscases studies.
|
6 |
Génération de tests à partir de modèle UML/OCL pour les systèmes critiques évolutifsFourneret, Elizabeta 05 December 2012 (has links) (PDF)
Cette thèse porte sur l'étude d'une démarche et de techniques pour prendre en compte les spécificités des systèmes sécurisés évolutifs lors de la génération des tests à partir de modèles UML/OCL. Dans ce travail, trois axes sont étudiés : (i) le cycle de vie des tests, (ii) les exigences fonctionnelles et (iii) les exigences de sécurité. Dans un premier temps, nous avons défini la clé de voûte de notre approche qui est la caractérisation des statuts du cycle de vie des tests. À l'issu de ces travaux, nous avons pu définir la démarche de classification des tests pour les systèmes évolutifs, appelée SeTGaM. La notation UML, accompagnée du langage de spécification OCL, permet de formaliser les comportements du système. Le langage OCL spécifie ainsi les gardes/actions des transitions et les pré/post conditions des opérations. La méthode propose ainsi deux classifications des tests : la première s'appuie sur les comportements issus des transitions du diagramme d'états/transitions, tandis que l'autre repose sur l'étude des comportements issus des opérations du diagramme de classes. Dans le domaine du test de logiciels critiques, une des questions clés concerne la sécurité. Pour cette raison, nous avons enrichi l'approche SeTGaM en prenant en compte l'aspect sécurité. Ainsi, SeTGaM permet de générer sélectivement des tests qui ciblent les différentes exigences de sécurité lors des évolutions du système. Finalement, le prototype de SeTGaM a été intégré, avec l'outil Smartesting CertifyIt, à l'environnement IBM Rational Software Architect. Ceci nous a permis de valider expérimentalement le passage à l'échelle de la méthode sur des études de cas industriels, notamment proposées par Gemalto/Trusted Labs dans le cadre du projet européen SecureChange.
|
7 |
Génération automatique de tests à partir de modèles SysML pour la validation fonctionnelle de systèmes embarqués / Automatic tests generation from SysML models for the functionnal validation of embeddedLasalle, Jonathan 29 June 2012 (has links)
Les travaux présentés dans ce mémoire proposent une méthode originale de génération automatique de tests à partir de modèles SysML pour la validation de systèmes embarqués. Un sous-ensemble du langage SysML (appelé SysML4MBT) regroupant les éléments de modélisation pris en compte dans notre approche a été défini et une stratégie de génération de tests dédiée (intitulée ComCover) a été créée. Cette stratégie, basée sur les principes du critère de couverture de modèles bien connu Def-Use, s'intéresse à la couverture des communications (envois / réceptions) au sein du système et entre le système et son environnement.La mise en œuvre opérationnelle d'un prototype, basé sur un générateur de tests à partir de modèle UML, a nécessité la définition de règles de réécriture permettant la transformation du modèle SysML4MBT vers le format d'entrée natif du générateur de tests tout en conservant l'expressivité de SysML4MBT. Finalement, les étapes de concrétisation des tests en scripts exécutables et l'établissement automatique du verdict lors de l'exécution sur banc de test définis durant le projet VETESS permettent l'établissement d'une chaîne outillée opérationnelle de génération et d'exécution automatique de tests à partir de spécifications SysML. Cette chaîne outillée a été étrennée sur plusieurs cas d'étude automobile tels que l'éclairage avant, les essuie-glaces ou la colonne de direction de véhicule. Sur ce dernier exemple, nous avons eu l'opportunité d'exécuter les tests sur un banc de test physique. Ces cas d'étude ont permis de valider chacune des étapes de l'approche proposée. / The work introduced in this thesis is in line with an original SysML Model-Based Testing approach to validate automotive mechatronic systems. A subset of SysML notation (called SysML4MBT) supported to express the test model is defined and a dedicated test generation strategy (called ComCover) is created. This strategy, based on the well-known Def-Use criteria, deals with the coverage of communications (sends / receives) inside the system and between the system and its environment.The development of an operational prototype, based on a UML-based test generator, has required the definition of rewriting rules to derive the input model of the UML test generator from the SysML4MBT model, by preserving the SysML4MBT expressivity.Finally, the concretization of tests in executable scripts and the assignment of a verdict by executing tests on test bench defined during the VETESS project, complete the operational toolchain that allows tests generation and execution from SysML models.This toolchain has been tried out on several automotive case studies as front lightings, wiper or steering column. Concerning this last experimentation, we have had the opportunity to execute test on a physical test bench. These case studies allow validating each step of the proposed approach.
|
8 |
Outils pour la synthèse de tests et la maîtrise de l'explosion combinatoire.Maury, Olivier 09 December 2005 (has links) (PDF)
Notre approche, dans le cadre du test de conformité, se base sur le fait qu'il existe différents niveaux d'abstraction pour définir des tests : les tests exécutables pour une cible technologique et les tests abstraits qui sont indépendants de la technologie. Nos travaux portent sur deux points. <br />Le premier point vise à réduire l'effort alloué à la conception des tests. Pour cela nous définissons un nouveau niveau d'abstraction : les schémas de test qui offrent une abstraction supplémentaire sur les instances et valeurs manipulées. L'outil Tobias a été développé au cours de la thèse pour aider à la conception des schémas de test, les déplier en cas de test abstraits, puis concrétiser ces cas de test. <br />Malheureusement, les principes du langage de schéma de tests entraînent un problème d'explosion combinatoire du nombre de tests. Nous proposons donc diverses approches pour, d'une part, mieux contrôler le nombre de tests produits et, d'autre part, optimiser le temps d'exécution des tests. <br />Ces diverses techniques ont pu être intégrées à l'outil Tobias, nous permettant de réaliser deux études de cas afin de valider notre approche.
|
9 |
Classification de menaces d'erreurs par analyse statique, simplification syntaxique et test structurel de programmesChebaro, Omar 13 December 2011 (has links) (PDF)
La validation des logiciels est une partie cruciale dans le cycle de leur développement. Deux techniques de vérification et de validation se sont démarquées au cours de ces dernières années : l'analyse statique et l'analyse dynamique. Les points forts et faibles des deux techniques sont complémentaires. Nous présentons dans cette thèse une combinaison originale de ces deux techniques. Dans cette combinaison, l'analyse statique signale les instructions risquant de provoquer des erreurs à l'exécution, par des alarmes dont certaines peuvent être de fausses alarmes, puis l'analyse dynamique (génération de tests) est utilisée pour confirmer ou rejeter ces alarmes. L'objectif de cette thèse est de rendre la recherche d'erreurs automatique, plus précise, et plus efficace en temps. Appliquée à des programmes de grande taille, la génération de tests, peut manquer de temps ou d'espace mémoire avant de confirmer certaines alarmes comme de vraies erreurs ou conclure qu'aucun chemin d'exécution ne peut atteindre l'état d'erreur de certaines alarmes et donc rejeter ces alarmes. Pour surmonter ce problème, nous proposons de réduire la taille du code source par le slicing avant de lancer la génération de tests. Le slicing transforme un programme en un autre programme plus simple, appelé slice, qui est équivalent au programme initial par rapport à certains critères. Quatre utilisations du slicing sont étudiées. La première utilisation est nommée all. Elle consiste à appliquer le slicing une seule fois, le critère de simplification étant l'ensemble de toutes les alarmes du programme qui ont été détectées par l'analyse statique. L'inconvénient de cette utilisation est que la génération de tests peut manquer de temps ou d'espace et les alarmes les plus faciles à classer sont pénalisées par l'analyse d'autres alarmes plus complexes. Dans la deuxième utilisation, nommée each, le slicing est effectué séparément par rapport à chaque alarme. Cependant, la génération de tests est exécutée pour chaque programme et il y a un risque de redondance d'analyse si des alarmes sont incluses dans d'autres slices. Pour pallier ces inconvénients, nous avons étudié les dépendances entre les alarmes et nous avons introduit deux utilisations avancées du slicing, nommées min et smart, qui exploitent ces dépendances. Dans l'utilisation min, le slicing est effectué par rapport à un ensemble minimal de sous-ensembles d'alarmes. Ces sous-ensembles sont choisis en fonction de dépendances entre les alarmes et l'union de ces sous-ensembles couvre l'ensemble de toutes les alarmes. Avec cette utilisation, on a moins de slices qu'avec each, et des slices plus simples qu'avec all. Cependant, l'analyse dynamique de certaines slices peut manquer de temps ou d'espace avant de classer certaines alarmes, tandis que l'analyse dynamique d'une slice éventuellement plus simple permettrait de les classer. L'utilisation smart consiste à appliquer l'utilisation précédente itérativement en réduisant la taille des sous-ensembles quand c'est nécessaire. Lorsqu'une alarme ne peut pas être classée par l'analyse dynamique d'une slice, des slices plus simples sont calculées. Nous prouvons la correction de la méthode proposée. Ces travaux sont implantés dans sante, notre outil qui relie l'outil de génération de tests PathCrawler et la plate-forme d'analyse statique Frama-C. Des expérimentations ont montré, d'une part, que notre combinaison est plus performante que chaque technique utilisée indépendamment et, d'autre part, que la vérification devient plus rapide avec l'utilisation du slicing. De plus, la simplification du programme par le slicing rend les erreurs détectées et les alarmes restantes plus faciles à analyser
|
10 |
Génération automatique de tests à partir de modèles SysML pour la validation fonctionnelle de systèmes embarquésLasalle, Jonathan 29 June 2012 (has links) (PDF)
Les travaux présentés dans ce mémoire proposent une méthode originale de génération automatique de tests à partir de modèles SysML pour la validation de systèmes embarqués. Un sous-ensemble du langage SysML (appelé SysML4MBT) regroupant les éléments de modélisation pris en compte dans notre approche a été défini et une stratégie de génération de tests dédiée (intitulée ComCover) a été créée. Cette stratégie, basée sur les principes du critère de couverture de modèles bien connu Def-Use, s'intéresse à la couverture des communications (envois / réceptions) au sein du système et entre le système et son environnement.La mise en œuvre opérationnelle d'un prototype, basé sur un générateur de tests à partir de modèle UML, a nécessité la définition de règles de réécriture permettant la transformation du modèle SysML4MBT vers le format d'entrée natif du générateur de tests tout en conservant l'expressivité de SysML4MBT. Finalement, les étapes de concrétisation des tests en scripts exécutables et l'établissement automatique du verdict lors de l'exécution sur banc de test définis durant le projet VETESS permettent l'établissement d'une chaîne outillée opérationnelle de génération et d'exécution automatique de tests à partir de spécifications SysML. Cette chaîne outillée a été étrennée sur plusieurs cas d'étude automobile tels que l'éclairage avant, les essuie-glaces ou la colonne de direction de véhicule. Sur ce dernier exemple, nous avons eu l'opportunité d'exécuter les tests sur un banc de test physique. Ces cas d'étude ont permis de valider chacune des étapes de l'approche proposée.
|
Page generated in 0.1365 seconds