Aller au contenu

IA dans le test logiciel

Comment l'IA transforme la génération de cas de test, la priorisation et les tests auto-réparants, la détection d'anomalies. Comprenez l'apport réel de l'IA en QA et ce qui reste, encore aujourd'hui, du ressort du•de la testeur•se.

00 — Sommaire
  1. Comprendre l'IA
  2. Comment un modèle apprend
  3. L'IA et le test
  4. Bien formuler sa demande
  5. Les cas d'usage concrets
  6. Comment l'IA s'intègre dans le processus de test
  7. Limites et points de vigilance
  8. Le rôle du testeur•se ne disparaît pas
  9. A retenir
  10. Testez votre compréhension

01 — Comprendre l'IA

Qu'est-ce que l'intelligence artificielle ?

Avant de parler de test, quelques notions de base.

02 — Comment un modèle apprend

Comment un modèle apprend

Des documents en entrée, un modèle statistique en sortie.

03 — L'IA et le test

Sous quelle forme l'IA arrive dans le test ?

Selon l'outil utilisé et le niveau d'autonomie qu'on lui laisse, la place du testeur ou de la testeuse change.

04 — Bien formuler sa demande

La structure d'un bon prompt

Un LLM répond à ce qu'on lui donne. Bien formuler sa demande change directement la qualité du résultat.

Exemple sur un formulaire de connexion :

01

Rôle

Demander au modèle d'adopter un point de vue précis comme celui d'un•e testeur•se, d'un•e test manager ou d'un•e ingénieur•e en automatisation. Le ton et les priorités de la réponse changent selon le rôle demandé.

Rôle : agis comme un•e testeur•se d'acceptation spécialisé•e en e-commerce, avec une solide expérience du test fonctionnel.
02

Contexte

Donner les informations de fond nécessaires. Par exemple, l'objet testé, la fonctionnalité concernée, les contraintes du projet. Sans ce contexte, le modèle complète avec des hypothèses génériques.

Contexte : formulaire de connexion d'un site marchand, accessible sur web et mobile, utilisé par des client•es déjà inscrit•es.
03

Instructions

Formuler la tâche demandée de façon claire et directe. Une consigne vague produira presque toujours une réponse vague voire erronée.

Instructions : génère des cas de test fonctionnels couvrant les scénarios nominaux de connexion, les cas limites et les cas d'erreur.
04

Données d'entrée

Fournir la matière sur laquelle travailler. Par exemple, une user story, des critères d'acceptation, une capture d'écran ou un extrait de code. Plus ces données sont précises, plus la réponse l'est aussi.

Données d'entrée : champ email et mot de passe obligatoires, mot de passe de 8 caractères minimum avec au moins une majuscule et un chiffre, compte verrouillé après 5 tentatives échouées.
05

Contraintes

Préciser les limites à respecter. Par exemple, un format imposé, un nombre de cas maximum ou une terminologie propre à l'équipe.

Contraintes : inclure au moins un cas limite et un cas lié à la sécurité, ne pas dépasser dix cas de test, utiliser la terminologie ISTQB.
06

Format de sortie

Indiquer la structure attendue de la réponse. Par exemple, un tableau, une liste numérotée ou un script dans un langage donné.

Format de sortie : tableau avec les colonnes identifiant, donnée testée, étape à réaliser et résultat attendu

Chaque composant guide un peu plus la réponse du modèle. Retirer les contraintes ou le format de sortie donnerait un résultat plus générique, avec moins de chances de correspondre exactement à ce qui est attendu.

04 — Bien formuler sa demande

La structure d'un bon prompt

Un LLM répond à ce qu'on lui donne. Bien formuler sa demande change directement la qualité du résultat.

01

Rôle

Demander au modèle d'adopter un point de vue précis comme celui d'un•e testeur•se, d'un•e test manager ou d'un•e ingénieur•e en automatisation. Le ton et les priorités de la réponse changent selon le rôle demandé.

02

Contexte

Donner les informations de fond nécessaires. Par exemple, l'objet testé, la fonctionnalité concernée, les contraintes du projet. Sans ce contexte, le modèle complète avec des hypothèses génériques.

03

Instructions

Formuler la tâche demandée de façon claire et directe. Une consigne vague produira presque toujours une réponse vague voire erronée.

04

Données d'entrée

Fournir la matière sur laquelle travailler. Par exemple, une user story, des critères d'acceptation, une capture d'écran ou un extrait de code. Plus ces données sont précises, plus la réponse l'est aussi.

05

Contraintes

Préciser les limites à respecter. Par exemple, un format imposé, un nombre de cas maximum ou une terminologie propre à l'équipe.

06

Format de sortie

Indiquer la structure attendue de la réponse. Par exemple, un tableau, une liste numérotée ou un script dans un langage donné.

01

Rôle

02

Contexte

03

Instructions

04

Données d'entrée

05

Contraintes

06

Format de sortie

Exemple sur un formulaire de connexion :
Rôle : agis comme un•e testeur•se d'acceptation spécialisé•e en e-commerce, avec une solide expérience du test fonctionnel.Contexte : formulaire de connexion d'un site marchand, accessible sur web et mobile, utilisé par des client•es déjà inscrit•es.Instructions : génère des cas de test fonctionnels couvrant les scénarios nominaux de connexion, les cas limites et les cas d'erreur.Données d'entrée : champ email et mot de passe obligatoires, mot de passe de 8 caractères minimum avec au moins une majuscule et un chiffre, compte verrouillé après 5 tentatives échouées.Contraintes : inclure au moins un cas limite et un cas lié à la sécurité, ne pas dépasser dix cas de test, utiliser la terminologie ISTQB.Format de sortie : tableau avec les colonnes identifiant, donnée testée, étape à réaliser et résultat attendu

Chaque composant guide un peu plus la réponse du modèle. Retirer les contraintes ou le format de sortie donnerait un résultat plus générique, avec moins de chances de correspondre exactement à ce qui est attendu.

Cette structure en six composants pose les bases. La page Ingénierie du prompting va plus loin.

05 — Cas d'usage

Les cas d'usage concrets

Plusieurs usages sont aujourd'hui répandus de l'IA dans les activités de test. Sur mobile, swipez la carte pour passer à la suivante.

01

Analyse des exigences

Avant même de concevoir des tests, un modèle de langage peut relire une spécification ou une user story. Il parvient à repérer les ambiguïtés, les informations manquantes ou les incohérences avec d'autres exigences du projet. Cette relecture précoce évite de découvrir le problème plus tard.

02

Génération assistée de cas de test

À partir d'une user story, d'une spécification ou d'une capture d'écran, un outil d'IA générative propose des cas de test (nominaux, limites, erreurs). Cela accélère la conception, mais chaque cas doit être relu et validé par un humain avant d'être considéré comme fiable.

03

Priorisation intelligente des tests

En croisant l'historique des défauts, les zones de code modifiées et la criticité métier, l'IA aide à prioriser quels tests exécuter en premier. Particulièrement utile en intégration continue où le temps d'exécution est limité.

04

Tests auto-réparants (self-healing)

Quand un sélecteur d'interface change (un bouton renommé, un id modifié), certains outils d'automatisation détectent l'élément équivalent et réparent le script automatiquement plutôt que de faire échouer le test. Ici il faut faire attention que le modèle n'introduit pas des erreurs.

05

Détection d'anomalies visuelles

Des outils de comparaison visuelle basés sur l'IA repèrent des régressions d'interface (décalage, couleur, superposition) que des assertions fonctionnelles classiques ne détecteraient pas.

06

Analyse de logs et de risques

L'IA peut analyser de grands volumes de logs de production ou de résultats d'exécution pour repérer des anomalies récurrentes et orienter l'analyse de risques vers les zones les plus fragiles.

07

Génération de données de test synthétiques

Plutôt que d'utiliser de vraies données de production (souvent sensibles), un modèle peut générer des jeux de données réalistes et variés, en respectant les règles métier fournies en entrée. Pratique pour couvrir davantage de cas sans exposer d'informations confidentielles.

08

Assistance à la rédaction de rapports

L'IA peut aider à la rédaction de rapports de bug, reformuler une description technique en langage clair pour un•e client•e, ou synthétiser une session d'exploration. Ce sont des tâches rédactionnelles où l'IA générative fait gagner du temps.

01

Analyse des exigences

Avant même de concevoir des tests, un modèle de langage peut relire une spécification ou une user story. Il parvient à repérer les ambiguïtés, les informations manquantes ou les incohérences avec d'autres exigences du projet. Cette relecture précoce évite de découvrir le problème plus tard.

02

Génération assistée de cas de test

À partir d'une user story, d'une spécification ou d'une capture d'écran, un outil d'IA générative propose des cas de test (nominaux, limites, erreurs). Cela accélère la conception, mais chaque cas doit être relu et validé par un humain avant d'être considéré comme fiable.

03

Priorisation intelligente des tests

En croisant l'historique des défauts, les zones de code modifiées et la criticité métier, l'IA aide à prioriser quels tests exécuter en premier. Particulièrement utile en intégration continue où le temps d'exécution est limité.

04

Tests auto-réparants (self-healing)

Quand un sélecteur d'interface change (un bouton renommé, un id modifié), certains outils d'automatisation détectent l'élément équivalent et réparent le script automatiquement plutôt que de faire échouer le test. Ici il faut faire attention que le modèle n'introduit pas des erreurs.

05

Détection d'anomalies visuelles

Des outils de comparaison visuelle basés sur l'IA repèrent des régressions d'interface (décalage, couleur, superposition) que des assertions fonctionnelles classiques ne détecteraient pas.

06

Analyse de logs et de risques

L'IA peut analyser de grands volumes de logs de production ou de résultats d'exécution pour repérer des anomalies récurrentes et orienter l'analyse de risques vers les zones les plus fragiles.

07

Génération de données de test synthétiques

Plutôt que d'utiliser de vraies données de production (souvent sensibles), un modèle peut générer des jeux de données réalistes et variés, en respectant les règles métier fournies en entrée. Pratique pour couvrir davantage de cas sans exposer d'informations confidentielles.

08

Assistance à la rédaction de rapports

L'IA peut aider à la rédaction de rapports de bug, reformuler une description technique en langage clair pour un•e client•e, ou synthétiser une session d'exploration. Ce sont des tâches rédactionnelles où l'IA générative fait gagner du temps.

06 — Intégration au processus

Comment l'IA s'intègre dans le processus de test

L'IA s'insère étape par étape dans le processus fondamental de test.

01

Analyse & conception

L'IA aide à identifier des scénarios de test à partir des exigences, y compris des cas limites auxquels on ne pense pas toujours spontanément.

Exemple de prompt : "Agis comme testeur•se d'acceptation. Voici les critères d'acceptation de cette fonctionnalité de paiement en ligne. Propose des scénarios de test, en incluant au moins deux cas limites."
02

Implémentation

Génération de scripts d'automatisation, de jeux de données de test réalistes, ou des modèles de cas de test à compléter.

Exemple de prompt : "Voici un cas de test rédigé en langage naturel et un exemple de script déjà existant dans ce projet. Génère le script correspondant à ce cas de test, dans le même style."
03

Exécution

L'IA aide à décider dans quel ordre lancer les tests, en s'appuyant sur les modifications récentes et sur l'historique des défauts pour faire remonter en premier ceux qui présentent le plus de risque.

Exemple de prompt : "Voici la liste des tests modifiés depuis le dernier déploiement et l'historique des défauts du mois dernier. Propose un ordre d'exécution en commençant par les tests les plus à risque."
04

Analyse des résultats

Tri automatique des échecs de test (faux positifs liés à l'environnement vs vrais défauts), regroupement des anomalies similaires.

Exemple de prompt : "Voici les logs de ces 12 tests en échec. Regroupe-les par cause probable et indique lesquels ressemblent à un problème d'environnement plutôt qu'à un vrai défaut."
05

Reporting

Synthèse automatique des campagnes de test avec mise en évidence des zones à risque pour aider à la décision go / no-go.

Exemple de prompt : "Résume cette campagne de test en dix lignes pour un•e chef•fe de projet non technique, en mettant en avant les zones encore risquées avant la mise en production."

07 — Limites

Limites et points de vigilance

L'IA est loin d'être infaillible. Voici quatre points de vigilance à garder en tête avant de lui confier une tâche. Sur mobile, swipez la carte pour passer à la suivante.

Hallucinations et faux positifs

Un outil génératif peut proposer des cas de test qui semblent pertinents mais ne correspondent pas réellement au comportement attendu du système. Rien dans le ton de la réponse ne signale l'erreur, toute suggestion doit donc être vérifiée.

Biais de couverture

L'IA a tendance à générer des cas nominaux et des variations évidentes. Elle repère moins bien les combinaisons rares ou les scénarios métier complexes qu'un•e testeur•se expérimenté•e identifierait par analyse de risques.

Comportement non déterministe

Poser exactement la même question deux fois à un modèle peut donner deux réponses différentes, même formulées de façon identique. C'est déroutant pour un•e testeur•se habitué•e à la reproductibilité.

Confidentialité des données

Envoyer des spécifications, du code ou des données de production à un outil d'IA externe pose des questions de confidentialité qui doivent être validées avant tout usage en entreprise.

Ces quatre exemples ne sont qu'un aperçu. La page Risques et limites de l'IA détaille plus. Notamment avec des exemples d'hallucinations et des méthodes pour vérifier une suggestion.

08 — Le facteur humain

Le rôle du•de la testeur•se ne disparaît pas

L'IA transforme les tâches du quotidien. L'utilisateur•rice garde le jugement sur la qualité. Sur mobile, swipez la carte pour passer à la suivante.

Le jugement métier reste humain

Une IA ne connaît pas les enjeux de l'entreprise, les contraintes réglementaires ou les priorités d'un projet aussi finement qu'une équipe qui le vit au quotidien. Prioriser selon les risques reste une décision humaine, informée par l'IA.

Le scepticisme professionnel s'applique aussi à l'IA

Le même esprit critique qui pousse un•e testeur•se à douter d'une fonctionnalité "qui fonctionne" doit s'appliquer à une suggestion de l'IA. On ne prend pas pour argent comptant ce qui est dit.

De nouvelles compétences à développer

Savoir formuler une bonne consigne (prompt), relire un cas de test généré, ou évaluer la pertinence d'une priorisation automatique devient une compétence à part entière du métier de testeur•se.

La page Adopter l'IA dans son équipe QA prend l'angle organisationnel, avec le déploiement progressif de ces outils.

A retenir

Ce qu'il faut retenir

01

L'IA est un outil et l'utilisateur•trice doit analyser.

L'IA accélère des tâches comme la génération de cas de test, la priorisation ou la détection d'anomalies. Cependant, la validation et le jugement métier restent humains.

02

Chaque suggestion se vérifie

Un cas de test généré par l'IA n'est fiable qu'après relecture, car les hallucinations et le biais de couverture restent des risques réels.

03

L'IA s'intègre à chaque étape du processus

De la conception jusqu'au reporting, elle épaule le processus fondamental de test déjà connu.

04

Le sens critique du•de la testeur•se reste central

La curiosité, le scepticisme professionnel et la connaissance du contexte métier restent les compétences qui font la différence face à l'IA.

Mise en pratique

Testez votre compréhension

Une sélection de questions basées sur ce que vous venez de lire.


À savoir

La Minute QA est une aide à la compréhension, pas une formation professionnelle : certains points ne peuvent pas être couverts ici. Pensez à suivre une formation certifiante et à consulter le syllabus officiel ISTQB pour une préparation complète.

Pour aller plus loin

Poursuivre l'apprentissage

Une nouvelle version du site est disponible.