Du test à partir de modèle à une automatisation apprenante du test logiciel

par Vahana Dorcis

Projet de thèse en Informatique

Sous la direction de Fabrice Bouquet et de Frédéric Dadeau.

Thèses en préparation à Bourgogne Franche-Comté , dans le cadre de SPIM - Sciences Physiques pour l'Ingénieur et Microtechniques , en partenariat avec FEMTO-ST Franche Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (laboratoire) depuis le 01-10-2018 .


  • Résumé

    Le projet PHILAE vise à automatiser la création et la maintenance des tests fonctionnels automatisés (typiquement les tests de non-régression) en utilisant des techniques d'inférence de modèle et d'apprentissage automatique à partir des traces d'exécution existantes et de métadonnées du développement (tels que l'historique de changement du code et les résultats d'exécution des tests). L'objectif du projet est de réduire considérablement le coût des tests de régression dans les projets logiciels agiles (généralement 25% des coûts de développement), permettant d'augmenter la détection des anomalies. PHILAE s'appuie sur un processus itératif et incrémental en quatre étapes : 1. Sélection des traces candidates pour mettre à jour les tests de non-régression automatisés 2. Inférence de modèle à partir des traces sélectionnées 3. Génération de suites de tests exécutables réduites 4. Analyse des résultats d'exécution pour réduire et prioriser les anomalies détectées. Ainsi, le projet PHILAE produira une technologie de test automatisé, visant les applications Web, à un niveau de maturité TRL4, structurée en quatre composants (correspondant aux étapes du processus), et évaluée sur 3 applications réelles issues des partenaires du projet. La nouveauté de l'approche PHILAE réside dans la généralisation et l'association de l'apprentissage automatique, de l'inférence modèle et des techniques de génération automatique de tests pour inventer, mettre à jour et faire évoluer automatiquement les tests fonctionnels de régression. Plus précisément, la technologie PHILAE utilise des traces d'exécution de test de bas niveau, des traces d'exécution utilisateur, des méta-données de test et des scripts ainsi que des éléments de workflow de haut niveau. Ces artefacts seront reliés entre eux par des modèles d'apprentissage à plusieurs niveaux formés en sélectionnant les caractéristiques pertinentes des données disponibles. Les méthodes de clustering dédiées nous permettront d'élever le niveau d'abstraction des tests en regroupant les traces d'exécution et de détecter les anomalies par classification automatique. Cela permettra aussi déduire automatiquement les prototypes du code de l'adaptateur de test qui rend les tests de haut niveau exécutables. Combinée à l'extraction passive de modèles à partir d'artefacts, l'inférence active basée sur des tests dérivés améliorera les modèles de test de haut niveau. Ces techniques seront utilisées de manière itérative dans les processus d'intégration continue, apprenant à mettre à jour, sélectionner, prioriser et planifier l'exécution des cas de test. Le consortium du projet PHILAE est composé de 6 partenaires - 4 laboratoires - UFC / FEMTO-ST, UGA / LIG, USC (Australie) et SRL / CERTUS (Norvège), 1 grande entreprise - Orange Labs Services, et 1 PME innovante - Smartesting Solutions & Services, avec des expertises fortes et complémentaires dans le domaine. Le projet PHILAE est décomposé en six work packages : WP1- Sélection des traces WP2- Inférer de modèle WP3- Générer des suites de tests exécutables WP4- Analyse des anomalies WP5- Études de cas et évaluation WP6- Gestion de projet, diffusion et exploitation Ces workpackages sont organisés en quatre phases définissant quatre jalons aux dates T0 + 6, T0 + 18, T0 + 28 et T0 + 36 (fin du projet). En termes de diffusion et de transfert de l'innovation, la stratégie du consortium PHILAE est de fournir l'ensemble d'outils résultant en tant que logiciel open source, librement et publiquement disponible à partir du référentiel de code source et de contrôle de version de PHILAE.

  • Titre traduit

    From Model-Based Testing to Cognitive Test Automation


  • Résumé

    The PHILAE project aims to automate the creation and maintenance of automated functional tests by using model inference and machine-learning techniques, leveraging existing execution traces and software development meta-data. The aim is to dramatically reduce the cost of regression testing in agile software projects (typically 25% of development costs). This will be achieved through a 4-step iterative and incremental process: 1. Execution traces coming from the system in operation but also from manual and automated test execution are used to select trace candidates as new regression tests. Search-based and algorithms and coverage metrics will be used to classify and select traces; 2. From selected traces and existing workflows, active model inference is used to infer updated workflow models, which align with the current state of the implementation; 3. Reduced regression test suites are generated from the updated workflows, and these are then executed on the current system implementation; 4. Based on the test execution results, the defects detected, and development meta- data (such as commits in the code repository), a smart analytics and fault reporting system provides information on the quality of the system. The expected results of the PHILAE project are to produce an automated testing technology for web applications developed in an agile lifecycle development at technology maturity level TRL 4. This technology will be structured in four components (one for each objective) supporting a smooth test creation and maintenance process. The PHILAE technology will be developed and assessed on the basis of three use cases from the partners, providing data from real-size projects. The novelty of the PHILAE approach lies in the generalization and association of machine learning, model inference and automated test generation techniques to automatically invent, update and evolve functional automated regression tests. More precisely, the PHILAE technology is using low-level test execution traces, user execution traces, test meta-data and scripts and high-level workflow elements. Firstly, these artefacts will be connected together via multi-level learning models trained by selecting relevant features of the available data. Dedicated clustering methods will enable us to raise the abstraction level of tests by grouping together execution traces and to detect anomalies by automatic classification. Thirdly, bridging the abstraction gap in this way will allow us to automatically infer prototypes of the test adaptor code that makes high-level tests executable. Combined with passive extraction of models from artefacts, active inference based on derived tests will improve high-level test models. These techniques will be used iteratively in continuous integration processes, learning to update, select, prioritize and schedule the execution of test cases. The PHILAE project consortium is composed of 6 partners – 4 labs – UFC/FEMTO-ST, UGA/LIG, USC and SRL/CERTUS, 1 large enterprise – Orange Labs Services, and 1 Innovative SME – Smartesting Solutions & Services, with strong scientific complementary expertise. The project is decomposed into six workpackages: WP1- Select traces as new regression test candidates WP2- Abstract workflows from traces WP3- Generate updated executable test suites WP4- Smart analytics and fault reporting WP5- Case studies and evaluation WP6- Project Management, Dissemination and exploitation These workpackages are organized in four phases defining four milestones at dates T0+6, T0+18, T0+28 and T0+36 (End of the project). In terms of dissemination and innovation transfer, the strategy of the PHILAE consortium is to provide the resulting tool-set as open-source software, freely and publicly available from the PHILAE source code and version control repository.