Machine Learning on User Traces for Regression Test Generation
Les tests de non-régression de bout-en-bout permettent d’assurer que les fonctionnalités principales d’un système ne soient pas dégradées après chaque itération ou cycle de développement. Ce domaine du test a gagné en efficacité et en cout avec l’avènement des pratiques de développement et d’intégration continue. Cependant les tests de non-régression étant exécutes de plus en plus fréquemment pour garantir la fiabilité du système, il est nécessaire d’établir des suites de tests optimales. Le postulat de cette thèse est qu’une suite de test de non-régression optimale devrait être alignée sur les comportements principaux des utilisateurs d’un système, c’est-à-dire les comportements les plus fréquents observes, plus à même de générer fréquemment des bugs. Afin d’obtenir des suites de test optimales, les chercheurs ont développes des techniques qui permettent de réduire la redondance des tests, ou encore de les prioriser. Certaines utilisent le clustering permettant le groupement de tests en paquets homogènes, afin d’identifier quels tests sont des doublons. En outre, les systèmes actuels sont monitorés de mieux en mieux par la collecte de journaux massifs (logs). Les logs contiennent les traces utilisateurs, c’est-à-dire des séquences d’appels API ou d’évènements sur l’interface graphique qui permettent de retracer l’usage du système. A des fins de sélection de test, le clustering a été applique sur les traces utilisateurs pour les grouper en paquets homogènes, représentant les comportements principaux. On peut y choisir une ou plusieurs traces candidates à l’intérieur pour les dériver en tests et ainsi avoir une suite de tests représentant les comportements principaux. Cependant l’évaluation actuelle des tests et les métriques utilisées pour l’optimisation des suites de tests se basent généralement 1) sur des métriques d’évaluation comme la couverture de code qui ne prennent pas en compte l’importance statistique de certaines parties du logiciel fréquemment déclenchées par les comportements principaux 2) sur des métriques traditionnelles de l’apprentissage automatique éloignées des besoins métiers du test. De plus les pipelines de clustering comportent plusieurs étapes : vectorisation des traces, clustering, et choix d’une ou plusieurs traces candidates à l’intérieur des clusters. Chaque étape peut s’effectuer a l’aide d’algorithmes différents. A la différence du traitement automatique du langage dont cette thèse s’inspire, chaque cas d’usage logiciel est diffèrent et la nature de ses traces utilisateurs aussi. A chaque cas d’usage introduit, si l’on veut appliquer un pipeline de clustering, il convient de recalculer la performance de la variété d’algorithmes a notre disposition. Ainsi que d’établir le nombre de clusters optimal, hyperparamètre a définir a priori, qui influence directement la taille de la suite de tests générée. A cet effet, les métriques d’évaluation du clustering, pour le classement des algorithmes ou la détermination du nombre optimal de cluster, peuvent se contredire et sont décorrélées des objectifs de test. Pour répondre a ces besoins 1) d’évaluer la représentativité statistique d’une suite de test 2) de mesurer la performance des pipelines de clustering a effectuer de la sélection de tests a partir de traces d’usage, une nouvelle métrique est introduite basée sur la fouille de motifs séquentiel. Cette métrique nous permet de dériver deux critères qui permettront d’évaluer 33 pipelines de clustering (dont certains basés sur des technologies récentes de vectorisation comme les transformers) sur 6 cas d’usage différents, tout en choisissant leur nombre de clusters optimal. Une application web intégrant cette méthodologie est aussi développée pour permettre a des équipes de tests d’utiliser ces techniques.
Authors
- Frédéric Tamagnan (ORCID: https://orcid.org/0009-0001-8911-0884)
Institutions
- Franche-Comté Électronique Mécanique Thermique et Optique - Sciences et Technologies (FR)
Publication Details
- Journal
- theses.fr (ABES)
- Published
- 2024-12-03
- Primary Topic
- Machine Learning and Data Classification
- Type
- article
- Field-Weighted Citation Impact
- 0.00