Aller au contenu

2.2 Appliquer les techniques d'ingénierie des prompts aux tâches de test logiciel

Maintenant que vous savez structurer un prompt (le "comment"), voyons le "quand" et le "pourquoi". Pour l'équipe QA de FrigoMagique, l'IA est un outil de production qui intervient à chaque étape du processus de test, de l'analyse du besoin jusqu'au rapport final.

2.2.1 Analyse des tests avec l'IA générative

L'analyse est souvent l'étape la plus intellectuelle : comprendre ce qu'il faut tester. L'IA excelle ici pour détecter les trous dans la raquette.

Le syllabus liste 5 tâches majeures d'analyse que l'IA générative peut supporter :

  1. Identifier des défauts dans la base de test : repérer les ambiguïtés, incohérences ou omissions dans les User Stories.
  2. Générer des conditions de test : décomposer une exigence en affirmations testables.
  3. Hiérarchiser les conditions de test (priorisation) : suggérer un niveau de risque (impact/probabilité) pour concentrer l'effort.
  4. Supporter l'analyse de couverture : vérifier que chaque exigence est couverte par au moins une condition de test (matrice de traçabilité).
  5. Suggérer des techniques de test : recommander l'approche la plus adaptée (ex: analyse des valeurs limites, partitionnement d'équivalence).

Fil rouge : FrigoMagique

Contexte : la Product Owner fournit une User Story : "L'utilisateur peut modifier la quantité d'un ingrédient dans le panier."

Le Testeur envoie ce texte à l'IA avec l'instruction : "Agis comme un analyste de test. Analyse cette exigence, identifie les manques, génère les conditions de test, propose une priorisation par risque et suggère les techniques de test."

La réponse de l'IA (Les 5 tâches en action) :

  1. Défaut identifié : "L'exigence ne précise pas ce qui arrive si la quantité est 0. Doit-on supprimer l'article ?"
  2. Conditions générées :
    • Modifier quantité > 0 (Valide).
    • Modifier quantité = 99 (Max).
    • Modifier quantité = -1 (Invalide).
  3. Priorisation : "Risque Élevé pour les valeurs négatives (risque de corruption de commande). Priorité Haute."
  4. Couverture : "Alerte : Aucune règle métier fournie pour la gestion des stocks liés au panier. Trou de couverture détecté."
  5. Technique suggérée : "Utilisez l'analyse des valeurs limites pour tester les seuils 0, 1 et 99."

2.2.2 Conception et mise en œuvre des tests

Une fois que nous savons quoi tester, il faut créer les cas de test et les données. C'est là que les techniques vues en 2.1 (Chain-of-thought, Few-shot) deviennent cruciales.

L'IA permet de :
1. Générer des cas de test (Gherkin, tableaux).
2. Synthétiser des données de test (Anonymisation, génération de faux profils).
3. Planifier l'exécution (Ordonnancement des tests par priorité).

Fil rouge : FrigoMagique

Objectif : Créer des tests BDD (Gherkin) pour la fonction "Ajout d'ingrédient".

Technique utilisée : Few-Shot Prompting (Apprentissage par l'exemple) Le testeur donne à l'IA deux exemples de scénarios Gherkin parfaits (Syntaxe, Style). Puis il demande : "Génère le scénario pour un ingrédient périmé en suivant ce modèle."

Résultat : L'IA produit un scénario Given-When-Then parfaitement formaté, prêt à être copié dans l'outil d'automatisation.

2.2.3 Tests de régression automatisés

C'est le domaine où le gain de temps est le plus spectaculaire. L'IA ne remplace pas l'ingénieur en automatisation, mais elle devient son "binôme de code" (Pair Programmer).

Elle aide à :
1. Générer des scripts (Selenium, Cypress, Playwright) à partir de descriptions textuelles.
2. Réparer les tests (self-healing) : si un sélecteur CSS change, l'IA peut analyser le code HTML et proposer la correction.
3. Analyser l'impact : identifier quels tests relancer après une modification du code.

Fil rouge : FrigoMagique

Le problème : les développeurs ont renommé le bouton ID #btn-add en #button-add-item. Tous les tests automatisés échouent.

L'intervention de l'IA : le testeur colle le log d'erreur et le nouveau code HTML dans le prompt. Instruction : "Analyse cette erreur Selenium et propose le correctif." Réponse : "L'élément n'est plus trouvé. Remplacez driver.find_element(By.ID, "btn-add") par driver.find_element(By.ID, "button-add-item")."

2.2.4 Surveillance et contrôle des tests

Quand vous avez 5000 tests qui tournent chaque nuit, analyser les résultats est un cauchemar. L'IA peut "lire" ces montagnes de données pour en extraire du sens.

Elle permet de résumer les rapports de test, de visualiser les métriques et de détecter des anomalies dans les logs que l'œil humain aurait ratées.

Fil rouge : FrigoMagique

Lundi matin, 45 tests sont en échec. Au lieu de les ouvrir un par un, la Test Lead demande à l'IA : "Analyse ces 45 logs d'erreur et groupe-les par cause racine."

L'Insight de l'IA : "Sur les 45 échecs, 42 sont causés par un Timeout de l'API de paiement (Erreur 504). Les 3 autres sont des vrais bugs d'interface."

Le gain de temps est immédiat : on sait qu'il faut appeler les développeurs Back-end, pas les développeurs Front-end.

2.2.5 Choisir la bonne technique de prompting

Le syllabus insiste : toutes les techniques ne se valent pas pour toutes les tâches. Voici le guide stratégique du testeur GenAI.

Tâche de test Technique recommandée Pourquoi ?
Analyse complexe (ex: User Story ambiguë) Prompt Chaining Découper le problème évite que l'IA ne se perde ou n'hallucine. On valide étape par étape.
Génération répétitive (ex: Cas de test Gherkin) Few-Shot Prompting L'exemple (le "Shot") force l'IA à respecter un format strict.
Exploration / Idéation (ex: Trouver des cas limites) Meta-Prompting On demande à l'IA de réfléchir à la meilleure façon de tester, pour sortir des sentiers battus.

Point syllabus (ce qu'il faut retenir)

  • Analyse : L'IA aide à clarifier la base de test et identifier les défauts en amont.
  • Conception : Elle génère cas de tests, oracles et données synthétiques.
  • Automatisation : Elle écrit et répare (self-healing) les scripts.
  • Management : Elle synthétise les logs et assiste la prise de décision.
  • Stratégie : Il faut adapter la technique de prompt (Chaining vs Few-shot) à la nature de la tâche.



Ce cours vous est utile ?

Ce contenu est 100% gratuit. Si cette section sur FrigoMagique vous a aidé :

Soutenez-moi sur Ko-fi
J'apprécie chaleureusement votre générosité ! 🤗