Résumé du cours
IA pour les tests logiciels est une formation pratique destinée aux professionnels expérimentés du test souhaitant intégrer l’IA générative dans leurs activités de manière efficace et responsable. Plutôt que de considérer l’IA comme un remplacement du testeur ou comme une compétence indépendante, la formation présente l’IA comme un partenaire qui complète le jugement humain sans s’y substituer.
Tout au long de la formation, vous travaillerez sur une application réaliste de taille réduite et utiliserez l’IA pour comprendre le comportement d’un système, générer et améliorer des tests, structurer des idées de test, explorer des fonctionnalités, signaler des anomalies et prendre des décisions pertinentes en matière d’automatisation. Les résultats produits par l’IA sont considérés comme des éléments à analyser et à valider, et non comme des réponses définitives.
Les exercices proposés reflètent les situations rencontrées au quotidien par les testeurs : observer un comportement, formuler des hypothèses, concevoir des tests et affiner sa compréhension à mesure que de nouvelles informations apparaissent. L’IA sera utilisée pour générer des idées et des explications qui seront ensuite évaluées sous l’angle des hypothèses, des lacunes, de l’exécutabilité et des risques. L’objectif n’est pas de produire davantage de tests plus rapidement, mais d’apprendre à orienter, remettre en question, améliorer et intégrer les productions de l’IA dans une démarche de test rigoureuse.
À l’issue de la formation, vous saurez identifier les situations où l’IA apporte une réelle valeur ajoutée, celles où elle génère du bruit ou des risques, et comment conserver la responsabilité du testeur tout en bénéficiant de la rapidité et de la flexibilité de l’IA. Cette formation s’adresse aux testeurs, analystes de test et responsables de tests qui souhaitent adopter l’IA générative de manière professionnelle et pragmatique afin d’améliorer la qualité de leurs décisions sans compromettre la rigueur de leur démarche.
A qui s'adresse cette formation
- Testeurs, analystes de test et développeurs souhaitant utiliser l’IA pour automatiser et évaluer les activités et livrables de test
- Chefs de projet, business analysts et responsables souhaitant accélérer les processus de test tout en assurant une gouvernance responsable et éthique
- Toute personne souhaitant développer ses compétences en innovation et en augmentation par l’IA
Pré-requis
Pour tirer le meilleur parti de cette formation, il est recommandé de disposer de connaissances fondamentales en tests logiciels, acquises au travers d’une formation telle que Software Testing Foundations ou Agile Testing, ou d’une expérience professionnelle dans le domaine des tests logiciels.
Objectifs
À l’issue de cette formation, vous serez en mesure de :
- Utiliser l’IA générative pour explorer et comprendre le comportement d’un système lorsque la documentation est incomplète ou ambiguë.
- Rédiger des prompts décrivant clairement les comportements observés, les contraintes et les objectifs de test.
- Identifier les hypothèses, les lacunes et les informations inventées dans les cas de test générés par l’IA.
- Transformer des idées de test générées par l’IA en cas de test exécutables avec des étapes précises et des résultats observables.
- Structurer les tests à l’aide du partitionnement, des valeurs limites, des états et des séquences avec l’assistance de l’IA.
- Utiliser l’IA pour générer des idées de tests exploratoires tout en conservant le contrôle et le jugement du testeur.
- Évaluer la pertinence et la testabilité des idées de tests non fonctionnels générées par l’IA.
- Rédiger des rapports d’anomalies plus clairs et évaluer les synthèses et indicateurs produits avec l’aide de l’IA.
- Prendre des décisions éclairées sur les éléments à automatiser ou non.
- Élaborer un plan concret pour intégrer l’IA générative dans vos activités de test.
Contenu
Module 1 – Comprendre le rôle de l’IA dans les tests logiciels
- Décrire les principales capacités et limites de l’IA générative dans les tests logiciels.
- Différencier une réponse plausible d’une information réellement testable.
- Évaluer les réponses de l’IA en termes d’exactitude, d’exhaustivité et de pertinence.
- Comprendre l’impact de l’IA sur les responsabilités et la prise de décision du testeur.
Exercice
Analysez votre rôle de testeur, les activités que vous réalisez, les livrables que vous produisez, les informations que vous recevez et les perspectives qui influencent votre travail. Décrivez ces éléments dans un prompt clair, puis demandez à l’IA comment elle pourrait vous aider. Comparez les réponses de plusieurs assistants conversationnels et utilisez des questions complémentaires pour approfondir les résultats.
Module 2 – Passons aux tests !
- Observer comment l’IA génère des cas de test avec peu d’informations.
- Identifier les hypothèses cachées et les détails inventés dans les tests générés.
- Comprendre la différence entre un test crédible en apparence et un test réellement exécutable.
- Comparer et analyser de manière critique les résultats de plusieurs outils d’IA.
Exercice
À partir d’une simple capture d’écran d’une interface utilisateur ou d’une brève description fonctionnelle, demandez à l’IA de générer une série de cas de test pour cette page.
Module 3 – Les tests comme spécifications
- Déduire les exigences et règles métier à partir du comportement observé d’un système.
- Séparer les comportements confirmés des hypothèses et spéculations.
- Identifier et corriger les erreurs dans les exigences générées par l’IA.
- Organiser les exigences à l’aide de taxonomies reconnues afin de révéler les lacunes.
- Utiliser l’IA pour améliorer la traçabilité tout en conservant le jugement du testeur.
Exercice
Demandez à l’IA de lister les exigences implicites des cas de test. Analysez celles qui sont incorrectes ou ambiguës et faites-les corriger. Sélectionnez une taxonomie de classification des exigences et utilisez l’IA pour classer les exigences selon ce modèle. Demandez ensuite la création d’une matrice de traçabilité reliant les exigences aux cas de test aux exigences.
Module 4 — Les données de test
- Expliquer le rôle des données de test dans une couverture efficace.
- Appliquer le partitionnement en classes d’équivalence pour regrouper les conditions d’entrée valides et invalides.
- Appliquer l’analyse des valeurs limites afin d’identifier les conditions aux frontières.
- Distinguer les partitions fondées sur le comportement observé de celles fondées sur des hypothèses.
- Définir explicitement les préconditions et les dépendances de données.
Exercice
Demandez à l’IA de revoir et d’améliorer les tests du calculateur de kilométrage à l’aide du partitionnement en classes d’équivalence et de l’analyse des valeurs limites. Définissez les partitions d’équivalence pour chaque entrée et identifiez les valeurs limites de chaque partition. Faites générer par l’IA des valeurs de données réelles pour les entrées et identifiez les données préexistantes éventuellement nécessaires.
Module 5 — Rendre les tests exécutables
- Identifier les informations nécessaires pour exécuter un test de manière fiable.
- Réécrire des cas de test afin de supprimer les ambiguïtés et les interprétations.
- Définir des résultats observables permettant des décisions réussite/échec claires.
- Évaluer l’exhaustivité et le réalisme des modifications générées par l’IA.
- Reconnaître les détails que l’IA ne peut pas déduire sans connaissance métier.
Exercice
Demandez à vos chatbots d’examiner les cas de test produits lors du dernier exercice afin de déterminer s’ils sont suffisamment clairs et cohérents pour être exécutés sans interprétation. Demandez ensuite à l’IA d’améliorer ces tests en ajoutant des détails et des instructions précises. Enfin, faites traduire ces tests au format Gherkin Given-When-Then.
Module 6 — User stories et scénarios
- Revoir l’objectif et la structure des user stories.
- Comprendre la relation entre critères d’acceptation, scénarios et cas de test.
- Reconnaître que les critères d’acceptation et les scénarios entretiennent une relation plusieurs-à-plusieurs.
- Utiliser l’IA de manière critique pour rédiger des critères d’acceptation et des scénarios.
- Identifier les lacunes et les chevauchements entre stories, critères et tests.
Exercice
À partir d’un ensemble de user stories, collaborez avec l’IA pour définir les critères d’acceptation correspondants. Demandez ensuite à l’IA de rédiger des scénarios et des cas de test nouveaux ou améliorés pour ces stories. Testez chaque story indépendamment puis en combinaison. Enfin, demandez à l’IA de créer un tableau de correspondance entre les stories, les critères d’acceptation et les scénarios / cas de test.
Module 7 — États et couverture de test
- Comprendre l’importance des états et des séquences dans le comportement d’un système.
- Modéliser le comportement d’un système à l’aide d’états et de transitions.
- Identifier les transitions valides et invalides entre les états.
- Raisonner sur la couverture fonctionnelle à partir des états, transitions et invariants.
- Utiliser l’IA pour faciliter la modélisation tout en validant manuellement son exactitude.
Exercice
Utilisez vos chatbots pour créer un modèle d’états illustrant les différents états de l’application d’exemple et les comportements qui provoquent les transitions d’une page à l’autre. Demandez à l’IA de déterminer si les cas de test du dernier exercice couvrent entièrement les chemins possibles dans ce modèle d’états. Si ce n’est pas le cas, quels tests faut-il ajouter ? En bonus, demandez à l’IA de générer une carte de navigation de l’interface pour une version étendue de l’application.
Module 8 — Validation des attributs qualité
- Identifier les exigences non fonctionnelles pertinentes pour un système donné.
- Distinguer les attributs qualité testables des formulations vagues ou non exploitables.
- Évaluer la pertinence des idées de tests non fonctionnels générées par l’IA.
- Prioriser les attributs qualité en fonction du risque et de l’impact.
- Concevoir des tests validant les attributs qualité sélectionnés.
Exercice
Utilisez l’IA pour améliorer des exigences non fonctionnelles formulées de manière vague, les rendre testables et identifier les techniques permettant de les vérifier.
Module 9 — Stratégie et planification des tests
- Distinguer les cas de test d’une stratégie de test.
- Identifier les risques et priorités clés qui orientent les décisions de test.
- Utiliser des cadres de planification pour structurer les activités de test.
- Évaluer de manière critique les éléments de stratégie générés par l’IA.
- Aligner la stratégie de test sur les objectifs métier et techniques.
Exercice
Utilisez l’IA pour créer un Test Strategy Canvas : une vue concise et unique de l’approche globale de test d’une application complète.
Module 10 — Analyse et reporting des anomalies
- Distinguer les anomalies des incompréhensions liées au comportement attendu ou aux évolutions fonctionnelles.
- Analyser les anomalies afin d’identifier leur impact, les risques et les causes racines.
- Évaluer de manière critique les synthèses et catégorisations d’anomalies générées par l’IA.
- Décider quand l’analyse assistée par l’IA apporte de la valeur et quand elle n’en apporte pas.
- Rédiger des rapports d’anomalies clairs et exploitables pour différentes parties prenantes.
Exercice
Demandez aux chatbots IA de proposer une liste d’anomalies potentielles, différents types de risques et un ensemble d’exemples de rapports d’anomalies. Puis, à partir d’une liste de rapports d’anomalies réels, demandez à l’IA de les analyser et de les classer dans un rapport exploitable.
Module 11 — Automatisation des tests
- Évaluer si un scénario de test est adapté à l’automatisation.
- Identifier les prérequis d’une automatisation efficace que l’IA ne peut pas déduire.
- Évaluer de manière critique les scripts d’automatisation générés par l’IA.
- Reconnaître les anti-patterns et risques courants liés à l’automatisation.
- Décider quand les tests manuels ou exploratoires constituent une meilleure option.
Exercice
Même si aucune expérience en programmation ou en outil d’automatisation n’est nécessaire, vous découvrirez la puissance des tests automatisés en observant des démonstrations de différents types d’automatisation. Demandez aux chatbots IA des conseils pour automatiser différents scénarios de test.
Module 12 – Intégrer l’IA dans vos activités de test
- Identifier les domaines à fort potentiel pour expérimenter l’IA dans vos processus de test.
- Planifier des stratégies de conduite du changement et de mesure pour l’adoption de l’IA.
- Développer un cadre éthique pour une utilisation responsable des outils et des données d’IA.
- Créer une feuille de route personnelle ou d’équipe pour intégrer l’IA comme levier de productivité et de qualité.
Exercice
Réfléchissez à votre propre pratique de test et identifiez les domaines où l’IA pourrait réellement apporter de la valeur. Utilisez l’IA pour imaginer de petites expérimentations pilotes à faible risque ainsi que des indicateurs de réussite.
