Retour aux actualités
AI Smartesting

Tester avec l’IA générative : Le Guide Ultime (E-book)

12.09.24
Tester avec l’IA générative

Tester avec l’IA générative : Comment se lancer vraiment est la grande question du moment pour les organisations de test.
Car, une fois passée l’étape de découverte, qui permet de confirmer la puissance des capacités des modèles d’IA pour les tests, il faut sortir du bricolage pour obtenir un vrai impact et un ROI mesuré. Et, ce n’est pas si simple !

Cet article accompagne la sortie de la première édition de notre guide pratique de l’IA générative pour les tests, en posant trois questions clés.

Tester avec l’IA générative :

  • Pour quoi faire ?
  • Pour quels cas d’usage ?
  • Comment démarrer et continuer ?

Tester avec l’IA générative : pour quoi faire ?

La réponse est limpide : pour gagner en productivité et en vélocité dans nos activités de test.

La fréquence des mises en production s’accélère, la complexité des systèmes à tester augmente, la demande de qualité est forte. En conséquence, il faut gagner en productivité dans nos activités de test, et l’IA générative est là pour cela.

Nous n’avons pas encore de statistiques précises sur les gains de productivité mesurés pour les métiers du test, car la diffusion de l’IA générative y est trop récente. 

Mais, nous avons des statistiques pour les activités des développeurs. Les deux graphiques suivants sont issus de l’enquête de Stack Overflow : 2024 Developer Survey, avec des réponses obtenues auprès de près de 30 000 développeurs professionnels.

Les chiffres sont parlants :

  • 76,7 % des développeurs professionnels ayant répondu utilisent ou ont prévu d’utiliser l’IA générative très prochainement pour les aider dans leurs activités ;
  • 82,7 % de ceux qui utilisent l’IA indiquent les gains de productivité comme un bénéfice obtenu.

Les trois activités principales assistées par l’IA mentionnées par les développeurs sont : l’écriture du code (pour 82 % des répondants), la recherche de réponses sur des questions liées au code (67,5 %), et le débogage du code (56,7 %). L’utilisation de l’IA pour l’écriture et l’amélioration du code est le focus principal. Ce qui est bien compréhensible puisque ceci est l’activité principale des développeurs.

A notre connaissance, il n’existe pas, à ce jour, d’étude de même nature pour les professionnels des tests logiciels. Mais, on peut faire deux hypothèses :

  • L’usage de l’IA générative par les professionnels des tests logiciels est très certainement bien moindre actuellement que celle des développeurs.
  • Une raison vient de la grande diversité des tâches de test. Les activités des testeurs sont très variées et se répartissent sur l’ensemble du cycle de test. L’utilisation de l’IA pour les tests s’en trouve forcément plus diversifiée et son infusion dans le quotidien des testeurs sera plus progressive.

Tester avec l’IA générative : pour quels cas d’usage ?

La réponse est limpide : potentiellement, pour l’ensemble des activités de test.

Considérons les sept groupes d’activité des tests logiciels selon ISTQB – International Software Testing Qualification Board – Testeur Certifié de Niveau Fondation, 

Tester avec l’IA générative : pour quels cas d'usage ?

Figure : Groupes d’activités de test suivant ISTQB Testeur Certifié Niveau Fondation – Version 4.0

Pour chaque groupe d’activités des tests logiciels, voici des cas d’usage de l’IA générative pour améliorer la productivité.

Planification des tests :

  • Génération automatique de plans de test basés sur les spécifications du projet.
  • Suggestion de stratégies de test adaptées au contexte du projet.
  • Estimation du temps et des ressources nécessaires pour les tests.

Analyse de test :

  • Analyse automatique des exigences pour identifier les scénarios de test pertinents.
  • Détection des ambiguïtés ou incohérences dans les spécifications.
  • Suggestion de cas de test couvrant différents aspects fonctionnels et non fonctionnels.
  • Analyse des risques pour identifier les zones les plus critiques à tester en fonction de l’historique des défauts et de l’importance des fonctionnalités.

Conception des tests :

  • Génération automatique de cas de test basés sur les spécifications.
  • Création de jeux de données de test variés et réalistes.
  • Suggestion de scénarios de test pour couvrir les cas limites et les exceptions.

Implémentation des tests :

  • Génération de code de test automatisé.
  • Conversion de cas de test écrits en langage naturel en scripts de test exécutables
  • Maintenance des scripts de test.
  • Suggestions d’optimisation du code de test existant.

Exécution des tests :

  • Exécution optimisée des tests.
  • Détection automatique des anomalies.
  • Priorisation intelligente des tests à exécuter en fonction du contexte et des changements.
  • Analyse en temps réel des résultats de test pour identifier rapidement les anomalies.
  • Génération automatique de rapports de test détaillés.

Clôture des tests :

  • Analyse des résultats de test pour générer des résumés et des recommandations.
  • Identification des tendances et des modèles dans les défauts trouvés.
  • Suggestion d’améliorations pour les futures phases de test.

Pilotage et Contrôle des tests :

  • Tableau de bord dynamique avec prévisions et analyses en temps réel.
  • Alertes automatiques sur les risques ou les retards potentiels.
  • Recommandations pour l’allocation optimale des ressources de test.

Ces cas d’usage ne donnent pas une liste exhaustive, mais montrent la grande diversité de l’apport de l’IA générative pour les tests, et le potentiel de gains en productivité et en vélocité.

Face à une telle profusion de cas d’usage, le monde du test est un peu désorienté…

Quel cas d’usage est prioritaire, par quoi commencer, où seront les gains les plus importants ?

Malheureusement, comme souvent en test logiciel, il n’y a pas une réponse unique s’appliquant à tous les cas. La raison vient de la diversité des contextes, des maturités en test et des processus et des habitudes de travail déjà en place. Les gains obtenus avec l’IA générative vont dépendre de votre capacité à bien utiliser l’IA, mais aussi de la qualité des données que nous allons utiliser pour nourrir cette IA.

Prenons un exemple en analyse et conception de tests : vous souhaitez utiliser l’IA générative pour accélérer la création des conditions de test à partir des User Stories et des critères d’acceptation. Très bien. Mais si vos critères d’acceptation sont lacunaires, pensez-vous réellement que les résultats seront à la hauteur de vos espérances ? Imaginez maintenant que vos critères d’acceptation soient de bonnes qualités, mais que les testeurs, non formés aux techniques de requêtage des modèles d’IA, créent des requêtes faibles avec des résultats médiocres. Là aussi, vos résultats ne seront pas ceux attendus.

Les gains obtenus avec l’IA vont donc varier en fonction de différents critères spécifiques à votre organisation. Notamment la qualité de vos données et celle de vos savoir-faire en IA générative. Il vous faut donc une véritable stratégie d’intégration pour infuser l’IA générative dans vos activités de test.

Tester avec l’IA générative : comment démarrer et comment continuer ?

La réponse est limpide : de façon progressive et structurée.

La figure suivante propose une approche par étapes pour commencer puis pour progresser dans la mise en œuvre de l’IA générative pour les tests.

Tester avec l’IA générative

Étape 1 : Découvrir 

Tout d’abord, il est important de découvrir les possibilités offertes par l’IA en initiant la formation des équipes, en mettant en place les accès nécessaires aux modèles de langage (LLM), et en expérimentant avec des cas d’usage initiaux. 

Étape 2 : Initialiser et cadrer l’usage

Une fois ces fondations posées, il convient de prioriser les cas d’usage pertinents, de développer les compétences internes, de mutualiser le savoir-faire acquis, et d’évaluer et d’intégrer les outils de test basés sur l’IA générative. 

Étape 3 : Exploiter / Itérer

Pour exploiter pleinement le potentiel de ces technologies, il faut les intégrer dans les flux de travail existants des testeurs. Ceci, en sélectionnant les traitements les plus performants, en évaluant régulièrement l’évolution des outils LLM, et en mesurant l’impact sur la transformation des pratiques de test. 

Cette démarche progressive et structurée vise à maximiser les bénéfices de l’IA générative tout en minimisant les risques associés à son implémentation. 

Mais, au fur et à mesure que vous avancez, de nombreuses questions se posent et de multiples choix sont à réaliser, des risques sont à éviter. Le tout, faisant émerger une nouvelle pratique des tests logiciels, assistée par l’IA.

Car il s’agit bien d’une transformation profonde des méthodes de travail que vous allez progressivement réaliser. Et comme toute transformation, sa réussite va dépendre de votre engagement, de l’adhésion des équipes et de la bonne exécution des étapes de la démarche.
Vous pourrez découvrir dans notre eBook Tester avec l’IA générative – Guide pratique, une vision à 360° des aspects clés pour réussir votre parcours.

Restez à l'affut des nouveautés

L'IA et le test logiciel

L’IA et le test logiciel

AI Testing Smartesting

Je travaille depuis plusieurs années dans le domaine du test logiciel. J’ai vu les différentes pratiques et méthodes émerger et…

Modules vision AI

L’Ère des Modèles de Vision : une nouvelle révolution IA pour le test

AI Smartesting

Vous connaissez les LLM – Large Language Model – qui sont les modèles d’IA générative utilisés par ChatGPT de OpenAI…

Apprendre à prompter: IA pour les tests

AI Smartesting

Gagner en productivité et en vélocité avec l’IA générative  Apprendre à prompter est devenu indispensable! Les attentes sur l’IA générative…