Skip to main content
European Commission logo
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary

Automatic System Testing

Article Category

Article available in the following languages:

Un test automatique pour rationaliser le processus de développement logiciel

Un nouvel outil est capable de générer automatiquement des cas de test pour les applications logicielles, ce qui a pour effet de renforcer l’efficacité de l’ensemble du processus de développement.

Avant de pouvoir commercialiser une application logicielle, elle doit être totalement validée: un processus qui implique la réalisation de tests exhaustifs et onéreux. Alors qu’il existe nombre d’outils et de méthodes pour mener automatiquement des tests au niveau de l’intégration et de l’unité, les tests de système restent une affaire en grande partie manuelle. Par conséquent, les tests de système représentent un obstacle coûteux dans le processus de développement logiciel. Afin de trouver une solution, le projet AST, financé par l’UE, dont les travaux ont été soutenus par le Conseil européen de la recherche, a mis au point un outil précommercial capable de générer automatiquement et efficacement des cas de test pour les applications logicielles. «Actuellement, un ingénieur logiciel doit passer un temps considérable à vérifier l’exactitude des applications qu’il développe et maintient», explique Leonardo Mariani, professeur à l’université de Milan-Bicocca et coordinateur du projet AST. «En validant rapidement plusieurs scénarios, les cas de test automatiques permettront à ces ingénieurs de se concentrer sur des cas plus subtils devant être vérifiés manuellement.»

Une solution de test automatique

Le projet est parvenu à créer une solution de test automatique en combinant une série de techniques différentes, notamment l’intelligence artificielle. «Notre solution de génération de tests automatiques utilise l’apprentissage par renforcement pour apprendre progressivement le comportement du logiciel testé», poursuit Leonardo Mariani. «En fonction de ce qu’il apprend, il améliore peu à peu l’efficacité des tests générés.» Selon Leonardo Mariani, lorsqu’une solution est exécutée en parallèle sur plusieurs machines, le processus d’apprentissage s’accélère encore davantage. «Nous avons également relevé le défi d’obtenir automatiquement des valeurs d’entrée utiles, comme le nom d’une adresse existante à saisir dans une application», ajoute-t-il. «Pour y parvenir, nous avons créé une solution qui réutilise les référentiels de données existants, comme les bases de données de production ou de test, qui sont normalement disponibles dans une organisation.»

Un bon départ pour l’automatisation des tests

Lorsque la pandémie de COVID-19 a mis des bâtons dans les roues du projet, l’équipe s’est rapidement ajustée et a trouvé un moyen d’accéder aux serveurs et au logiciel à distance. «Travailler à distance et mener uniquement des réunions virtuelles n’équivaut pas à travailler ensemble physiquement», met en évidence Leonardo Mariani. «Toutefois, nous sommes parvenus à atteindre nos objectifs: créer des solutions technologiques capables de générer efficacement des cas de test pour des applications web complexes.» Même si l’outil d’AST représente un bon point de départ pour l’automatisation des tests, il reste encore beaucoup à accomplir. Ainsi, l’équipe du projet adapte actuellement l’outil afin qu’il puisse gérer des systèmes logiciels toujours plus complexes et plus importants. Les chercheurs travaillent également afin de s’assurer que l’outil est en mesure de reconnaître le nombre croissant de problèmes qui pourraient affecter les logiciels pendant la réalisation des tests. «Nous avons renforcé notre base de connaissances dans le domaine de l’automatisation des tests et généré des outils pouvant être utilisés pour faire avancer les recherches sur les tests web et pour étudier l’application industrielle de la génération de cas de tests automatiques», conclut Leonardo Mariani.

Mots‑clés

AST, logiciel, développement logiciel, applications logicielles, ingénieur logiciel, test de système, intelligence artificielle, automatisation des tests

Découvrir d’autres articles du même domaine d’application