GENERATING TEST CASES WITH AN AI TOOL: RELEVANT OR NOT?

Générer des cas de test avec un outil IA : pertinent ou non ?

Le domaine informatique, en particulier dans le cadre du développement agile, évolue à une vitesse grandissante. Pour s'adapter à ce rythme effréné, les nouvelles technologies, notamment l'Intelligence Artificielle (IA), se positionnent comme des alliés précieux, permettant non seulement d'accélérer la cadence, mais également de fournir un soutien essentiel dans ce processus de transformation rapide. 

Il existe de nombreuses IA, certaines spécialisées et d’autres généralistes.

Les IA spécialisées peuvent générer du code sans nécessiter une expertise approfondie en programmation ou résumer des pages web entières avec une URL.

Les IA plus généralistes peuvent aider les informaticiens à différents niveaux. Elles peuvent accélérer la rédaction de code, clarifier ou corriger des spécifications, ou encore aider à la rédaction des cas de tests, sujet de cet article !
 

L’IA et le test

Les tests sont primordiaux durant le cycle de développement d’un projet informatique quelle que soit la méthodologie envisagée (ex. cycle en V ou agile). Ils permettent de détecter et corriger au plus tôt des dysfonctionnements graves ou mineurs. La correction des éventuels bugs avant la livraison permet de rendre le produit fiable aux yeux des utilisateurs finaux. 

Néanmoins, le test est souvent le parent pauvre d’un projet : le temps de test est réduit par rapport aux autres phases d’un projet ce qui peut compromettre leur exhaustivité. On teste de façon approfondie si on a le temps. Il convient donc d’utiliser ce temps au mieux.

L’intégration de l'IA dans le processus de test permet d'optimiser l'utilisation du temps alloué à l’équipe QA. L’IA peut en effet nous aider à utiliser au mieux le temps disponible en générant des cas de test dans divers langages, notamment en langage naturel, en Gherkin, en anglais même. Bien évidemment, l’IA ne donne pas nécessairement une réponse 100 % conforme aux attentes du logiciel de test mais la réponse obtenue permet de réduire considérablement la charge de travail et de gagner du temps en fournissant une première ébauche de cas de tests. 

Un outil d'IA utile

Parmi ces IA, Gemini développée par Google et accessible via l’URL suivante https://gemini.google.com/app avec un simple compte Gmail, est efficace pour sa capacité à interpréter des instructions en langage naturel et à produire des cas de tests correspondants. 

Son interface est assez intuitive car elle se compose d’une zone de texte dans laquelle on peut saisir sa requête, ses spécifications ou ses User Stories ; des informations pouvant également être soumises par dictée vocale grâce au micro placé dans le champ de la requête.

Les réponses obtenues peuvent être plus ou moins abouties suivant le degré de précision de la requête. Si les réponses fournies ne sont pas conformes ou satisfaisantes, un bloc dépliable permet de voir 3 autres suggestions fournies par l’IA. Il est également possible de relancer la requête.

De la même façon, une formulation alternative des réponses, plus longue ou plus professionnelle par exemple, peut être demandée.

Les réponses obtenues peuvent ensuite être copiées dans le presse papier pour être collées dans notre outil de test.
 

Gemini est facile à prendre en main et permet de garder un historique de ses requêtes. Toutefois, il est important de rester vigilant quant à la qualité des réponses fournies par l'IA, qui peuvent parfois être incomplètes ou imprécises. 

Voici un exemple de cas de test Gherkin sur Gemini :

Après le clic sur le bouton de recherche, le résultat de la requête s’affiche ainsi 

L’IA fournit plusieurs résultats accessibles sur le promt  

De même, on peut ajouter un nouveau prompt pour avoir le résultat en anglais 

La réponse détaille plus ou moins des cas de tests, et le testeur QA peut en rajouter, ou en enlever, suivant la granularité qu’il souhaite donner à sa campagne.

L’IA face à l’expertise humaine

Bien que l'IA ait fait d'énormes progrès dans la rédaction automatisée des cas de tests, elle ne peut pas encore remplacer complètement le travail d'un testeur. La rédaction des cas de tests ne se limite pas seulement à traduire des spécifications en instructions, mais nécessite également une compréhension approfondie du contexte et des exigences du projet. Les testeurs apportent une expertise critique dans l'identification des scénarios de test pertinents, la détection des failles potentielles et la validation de la logique des tests.  

L'IA peut certainement 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 indispensable pour garantir la qualité et la pertinence des cas de tests. De plus, les testeurs apportent un élément de discernement et de créativité qui est difficile à reproduire par des algorithmes. 

Pour résumé

En conclusion, l’IA peut être une aide précieuse pour initier ses cas de tests, simplifier et accélérer le processus mais une intervention humaine et clarification manuelle des exigences reste souvent indispensable pour garantir la pertinence et l'efficacité des tests générés. De bien des côtés, l’IA, qui devient omniprésente dans notre société, peut nous faciliter la vie mais comme tout outil son utilisation doit être réfléchie pour voir pleinement les bénéfices. 

A propos de l'auteur

L'équipe QESTIT

Envie d'en savoir plus ?