
Dans le monde dynamique du développement logiciel, l'automatisation des tests est essentielle pour garantir la qualité et la fiabilité des applications. De nombreuses équipes DevOps s'appuient sur le développement piloté par le comportement (BDD) pour définir précisément les critères d'acceptation et les cas de test, assurant ainsi que le logiciel réponde aux attentes. L'avènement des modèles de langage étendus (LLM) ouvre de nouvelles perspectives en matière d'automatisation des tests.
Chez Infometis, notre groupe d'apprentissage en IA s'est donné pour mission d'évaluer des cas d'usage innovants de l'intelligence artificielle dans le développement logiciel, afin de démontrer ses avantages à nos clients. Dans cet article, nous expliquons comment la gestion du cycle de vie de l'apprentissage (LLM) simplifie le processus, depuis les récits utilisateurs et les exigences jusqu'à la génération automatique de JavaScript, en passant par les spécifications BDD. Vous découvrirez également les bénéfices que cette technologie offre aux entreprises, ainsi que les enseignements tirés de la mise en œuvre de ce cas d'usage.
Dans notre dernier article de blog (Infometis AI Learning Group) du 20 août 2024, intitulé « Guide pratique de la transformation par l'IA en 5 étapes », nous avons illustré les étapes à prendre en compte, de l'idéation à la mise en œuvre d'un cas d'usage d'IA. Partant du principe qu'il ne suffit pas de comprendre l'IA en théorie, mais qu'il faut aussi l'intégrer activement dans les activités quotidiennes de l'entreprise, nous privilégions chez Infometis une approche ascendante. Cela signifie que les cas d'usage proviennent directement de nos collaborateurs, à partir de défis concrets rencontrés dans leur travail quotidien. C'est le cas ici : le cas d'usage présenté a été développé à partir d'un problème réel soulevé par un employé d'Infometis.
Le cas d'utilisation peut être résumé en trois étapes :
Étape 1 : Les critères d'acceptation et les cas de test au format BDD (Given-When-Then) doivent être créés à partir de l'exigence (récit utilisateur / texte en prose)
Étape 2 : Les cas de test au format Given-When-Then sont transformés en un fichier de fonctionnalités Cucumber
Étape 3 : Le code JavaScript pour l’automatisation des tests est créé à partir du fichier de fonctionnalités Cucumber
Après avoir recueilli les besoins et évalué la disponibilité et la qualité des données, nous avons analysé différents modèles de langage à grande échelle. Dès les premières preuves de concept, nous avons obtenu des résultats positifs concernant la génération automatique de code JavaScript pour l'automatisation des tests.
Pour résoudre ce problème, un GPT personnalisé (de BDD à JavaScript) a été configuré dans le cadre de cette preuve de concept. Les spécifications relatives aux sources de données, à la structure, au langage et au contexte ont été définies. Grâce à ces spécifications structurées, le LLM a pu générer un résultat fonctionnel.
Supposons que nous ayons le scénario utilisateur suivant :
Récit utilisateur (invite)
Sortie CustomGPT
//
Merci pour votre demande ! Je vais maintenant créer le cas de test demandé au format Given-When-Then, le convertir en fichier de fonctionnalités Cucumber, puis générer le code JavaScript correspondant pour l’automatisation des tests.
Titre: Rechercher une formation à l'aide de la chaîne de recherche « ChatGPT Prompt Engineering »
Étant donné que l'utilisateur se trouve sur le site web d'Infometis
Lorsque l'utilisateur saisit la chaîne de recherche « ChatGPT Prompt Engineering » dans la barre de recherche et lance la recherche
Ensuite : l'utilisateur devrait voir les résultats de recherche pour « ChatGPT Prompt Engineering ».



//
L'utilisation de modèles de langage étendus pour générer du JavaScript destiné à l'automatisation des tests offre de nombreux avantages qui rendent le processus de développement plus efficace. Parmi les principaux avantages, on peut citer :
1. Conversion automatisée des récits utilisateurs en spécifications BDD : les LLM peuvent convertir les récits utilisateurs et les exigences en spécifications BDD clairement structurées au format « Étant donné-Quand-Alors ». Cela simplifie considérablement la transition entre l’analyse des exigences et l’implémentation des tests.
2. Génération automatisée de tests : après avoir converti les récits utilisateurs en spécifications BDD, les LLM peuvent convertir directement ces spécifications en JavaScript, réduisant considérablement l’effort manuel requis pour créer des tests.
3. Gain de temps : La génération automatique des spécifications et des tests BDD permet de gagner un temps de développement précieux qui peut être mieux utilisé pour d'autres tâches, telles que le développement de nouvelles fonctionnalités ou l'amélioration de l'expérience utilisateur.
4. Qualité de code constante : L'utilisation de LLM garantit que le code généré suit une norme uniforme, ce qui améliore la maintenabilité et la lisibilité.
5. Évolutivité :
- Les LLM permettent aux équipes de passer rapidement à un grand nombre de tests sans nécessiter d'efforts manuels supplémentaires.
- Grâce à un module complémentaire, les exigences peuvent être transmises directement de Jira à un LLM, ce qui rend le flux de travail fluide et efficace.
Potentiel d'amélioration: Le résultat, et plus précisément le code JavaScript, de CustomGPT peut être utilisé pour l'automatisation des tests, mais pourrait nécessiter une optimisation à un ou deux endroits.
Les avantages des LLM : Les LLM présentent l’avantage d’analyser et de produire des textes, des structures linguistiques et du code, offrant ainsi un potentiel considérable. Pour résoudre ce problème, on exploite à la fois leurs capacités d’analyse (recherche, extraction, classification et tri) et de production (génération, résumé, réécriture et traduction).
Aimeriez-vous essayer vous-même ?
Nous vous accompagnons dans votre parcours IA. Découvrez le service qui vous convient sur notre site web – nous serons ravis de vous aider pour votre prochain projet !
Souhaiteriez-vous bénéficier de notre expertise et mettre en œuvre des innovations technologiques ?


Vous avez une question ou souhaitez obtenir plus d'informations ? Laissez-nous vos coordonnées et nous vous rappellerons.