Le domaine des technologies de l'information, en particulier dans le cadre du développement agile, connaît une évolution rapide. Pour suivre ce rythme effréné, les technologies émergentes telles que l'intelligence artificielle (IA) s'avèrent être des alliées inestimables, non seulement en accélérant les progrès, mais aussi en apportant un soutien essentiel en cette ère de transformation rapide.
L'IA se présente sous diverses formes, allant d'applications spécialisées à des applications à usage plus général. L'IA spécialisée peut générer du code de manière autonome sans nécessiter d'expertise approfondie en programmation et résumer des pages web à partir d'URL. D’autre part, les outils d’IA plus généraux peuvent assister les professionnels de l’informatique à plusieurs niveaux, en accélérant le développement de code, en clarifiant les spécifications et même en facilitant la création de cas de test — ce qui constitue le sujet central de cet article.
L’IA et les tests
Les tests jouent un rôle essentiel tout au long du cycle de développement d’un projet informatique, quelle que soit la méthodologie utilisée (par exemple, le cycle en V ou la méthode agile). Ils permettent d’identifier et de corriger les dysfonctionnements, qu’ils soient graves ou mineurs, dès leur apparition. En traitant les bugs potentiels avant la livraison, la fiabilité du produit est garantie aux yeux des utilisateurs finaux.
Malgré leur importance, les tests font souvent l’objet d’une attention moindre au sein d’un projet, le temps qui leur est alloué étant souvent limité par rapport aux autres phases du projet. Cette contrainte peut compromettre la rigueur des efforts de test, ce qui souligne la nécessité d’optimiser l’utilisation du temps consacré aux activités de test.
L’intégration de l’IA dans le processus de test optimise l’utilisation du temps de l’équipe d’assurance qualité. L’IA peut nous aider efficacement à maximiser le temps disponible en générant des cas de test dans divers langages, notamment le langage naturel, Gherkin et même l’anglais. Même si les réponses fournies par l’IA ne correspondent pas toujours parfaitement aux exigences de test du logiciel, elles réduisent considérablement la charge de travail et permettent de gagner du temps en fournissant une première ébauche de cas de test.
Un outil d’IA utile
Gemini, développé par Google et accessible via l’URL https://gemini.google.com/app avec un simple compte Gmail, est un outil d’IA remarquable dans ce domaine. Gemini se distingue par sa capacité à interpréter des instructions en langage naturel et à générer les cas de test correspondants.
Son interface est intuitive et comporte une zone de texte dans laquelle les utilisateurs peuvent saisir des requêtes, des spécifications ou des récits d’utilisateurs ; les informations peuvent également être transmises par dictée vocale à l’aide du microphone intégré au champ de requête. Le caractère exhaustif des réponses obtenues peut varier en fonction de la précision de la requête. Si les réponses fournies ne sont pas satisfaisantes, un bloc repliable propose trois suggestions alternatives générées par l’IA. De plus, les utilisateurs peuvent demander d’autres formulations des réponses, par exemple des versions plus longues ou plus professionnelles. Les réponses obtenues peuvent être copiées dans le presse-papiers pour une intégration facile dans notre outil de test.
Gemini est convivial et permet aux utilisateurs de conserver un historique de leurs requêtes. Il est toutefois essentiel de rester vigilant quant à la qualité des réponses fournies par l’IA, qui peuvent parfois être incomplètes ou inexactes.
Voici un exemple de cas de test Gherkin sur Gemini :

Après avoir cliqué sur le bouton de recherche, le résultat de la requête s'affiche comme suit :


L'IA fournit plusieurs résultats accessibles en réponse à la requête :

La réponse fournit des cas de test plus ou moins détaillés, et le testeur QA peut les ajouter ou les supprimer en fonction du niveau de détail souhaité pour la campagne.
IA contre expertise humaine
Bien que l’IA ait fait d’énormes progrès dans la rédaction automatisée de cas de test, elle ne peut pas encore remplacer complètement le travail d’un testeur humain. La rédaction de cas de test ne se limite pas à la simple traduction de spécifications en instructions ; elle nécessite également une compréhension approfondie du contexte et des exigences du projet. Les testeurs humains apportent une expertise essentielle pour identifier les scénarios de test pertinents, détecter les failles potentielles et valider la logique de test.
L’IA peut certes faciliter et accélérer le processus en proposant des suggestions initiales et en automatisant certaines tâches répétitives. Cependant, la rédaction manuelle reste essentielle pour garantir la qualité et la pertinence des cas de test. De plus, les testeurs humains apportent un discernement et une créativité difficiles à reproduire à l’aide d’algorithmes.
Résumé
En conclusion, l’IA peut constituer une aide précieuse pour lancer la création de cas de test, en simplifiant et en accélérant le processus, mais l’intervention humaine et la clarification manuelle des exigences sont souvent nécessaires pour garantir la pertinence et l’efficacité des tests générés. À bien des égards, l’IA, qui devient omniprésente dans notre société, peut nous faciliter la vie, mais comme tout outil, son utilisation doit être mûrement réfléchie pour en tirer pleinement parti.