4 piliers d'optimisation de la qualité en Agile: factorisation, automatisation, variabilisation, simplification

Assurance Qualité Agile à l’ère du télétravail : REX d’une approche simplifiée pour structurer et optimiser les livrables QA – Imen NAGUEZ

Introduction

Dans le contexte du développement Agile, le rôle des équipes d’assurance qualité (QA) est devenu central. Cela se voit notamment avec l’essor du Quality Engineering (QE), l’intensification de l’automatisation, ainsi que la généralisation du télétravail et des nouvelles pratiques de collaboration à distance. Cette évolution a conduit à une implication accrue des testeurs à tous les niveaux du projet, augmentant ainsi leur charge de travail. En conséquence, en fin de sprint, ils se retrouvent souvent à effectuer que des tests ad hoc, des validations sommaires et à rédiger des rapports d’anomalies parfois incomplets ou non déclarés.

Il est donc essentiel de repenser la relation entre agilité, réactivité, télétravail et partage d’informations, en évitant de la restreindre aux seules cérémonies et à un strict respect du chronomètre. Comme le souligne le rapport du CIGREF :

« Les méthodes agiles prônent quatre valeurs fondamentales : L’équipe, la collaboration, l’acceptation du changement, le produit ou service.» (CIGREF, 2015)

Dans un environnement où le travail à distance est de plus en plus la norme, l’agilité doit avant tout permettre aux équipes de s’adapter rapidement aux besoins changeants, d’optimiser la collaboration et d’assurer une amélioration continue de la qualité du produit et du service grâce à un partage structuré des informations.

Cet article propose une approche simplifiée pour structurer le processus de test, garantissant ainsi la qualité du service et du produit, tout en restant aligné avec les principes agiles et les exigences du développement moderne, y compris les défis du travail à distance.

Optimisation des livrables QA niveau projet

Pour garantir l’efficacité de ces livrables dans un environnement de télétravail et de collaboration à distance, il est essentiel d’adopter trois principes fondamentaux : simplification, variabilisation et factorisation.

Comme le souligne Software Craftsmanship :

« Il ne suffit pas qu’un logiciel soit fonctionnel, il doit aussi être bien conçu. » (Software Craftsmanship, 2019)

Dans une approche Agile adaptée au travail à distance, quatre livrables clés jouent un rôle central dans l’assurance qualité et facilitent le travail des équipes QA.

1 – Le plan de test maître – Document structurant les exigences les exigences et l’implémentation de la stratégie de test.

Il regroupe les exigences et sert de point de référence centralisé dans un environnement où l’équipe est souvent dispersée. Voilà une proposition de sommaire pour simplifier la rédaction, la maintenance de ce document permettant un meilleur suivi

A.     Contexte

Décrire le cadre général du projet et les raisons pour lesquelles les tests sont nécessaires.

B.     Objectifs

Expliquer l’objectif de ce développement :
Pourquoi ce besoin existe-t-il ? Quel est l’impact attendu ?

C.      Exigences (sous forme de tableau)

NuméroExigence globale (Epic Jira/Règle de gestion)PrioritéPrincipaux tests à exécuter (2-3 max)À tester (oui/non)Impacts et risques (liste des n° de risques)Testeur(s)À automatiser (oui/non)

D.     Risques produit (sous forme de tableau)

NuméroRisque produitPrioritéSolution de mitigationÀ tester (oui/non)

E.     Risques projet (sous forme de tableau)

NuméroRisque projetImpactSolution de mitigation

F.      Niveau de test vs Type de test

Présentation sous forme de matrice définissant les niveaux de tests et leur alignement avec les types de tests effectués.

G.     Environnements de test

Définition des environnements et leur usage selon le cycle de test.

H.     Jeux de données (JDD)

Liste des JDD à concevoir pour les tests.

I.       Interlocuteurs par produit

Identification des parties prenantes intra-équipe impliquées dans les tests.

J.       KPI à suivre

K.      Annexes et Q&A

Informations complémentaires et questions-réponses pour clarifier certains aspects des tests.

2 – Bibliothèque de tests / Cahier de tests – Référentiel organisé des cas de test.

Il est structuré sous forme d’une arborescence hiérarchique, permettant une organisation claire et logique des tests. Voici un exemple de structuration qui suit la logique des exigences :

EPIC : Regroupe un ensemble de fonctionnalités majeures du produit.

  • Fonction : Correspond à une composante fonctionnelle spécifique d’un EPIC.
    • Sous-fonction (si nécessaire) : Permet de décomposer une fonction complexe en sous-parties pour une meilleure granularité.
      • Liste des cas de test : Contient les cas de test détaillés, associés à chaque fonction ou sous-fonction

Cette structuration hiérarchique des tests permet une organisation claire et une gestion optimisée, en facilitant leur priorisation, exécution et mise à jour dans un environnement Agile et collaboratif. Elle offre plusieurs avantages clés :

  • Organisation structurée : Chaque niveau (EPIC, Fonction, Sous-fonction, Cas de test) est défini de manière logique, facilitant la navigation et la compréhension des tests.
  • Élimination des redondances : Une catégorisation précise évite la répétition inutile des cas de test, garantissant une meilleure efficacité.
  • Identification rapide des tests non régression (TNR) prioritaires : Une documentation claire et accessible permet de gagner du temps en repérant immédiatement les tests essentiels.
  • Amélioration de la visibilité : Les différentes parties prenantes (testeurs, développeurs, Product Owners, etc.) disposent d’une vision globale de la couverture de test et des priorités.
  • Gestion efficace des évolutions : En cas de mise à jour des spécifications, il devient simple d’identifier et d’adapter les tests impactés.

3 – Traces d’exécution et d’anomalies – Historique des tests exécutés et des défauts identifiés.

La mise en place d’un template standardisé pour les anomalies (via Jira ou d’autres outils de gestion Agile) permet de renseigner rapidement les anomalies en ne remplissant que les champs essentiels.

Voici un exemple de fiche d’anomalies (faire comme pour le plan de test avec des propositions de champs)

J’ajoute aussi : utiliser un outil de capture d’écran efficace et rapide (ex : Greenshot).

Pour le suivi des exécutions, il est préférable d’opter pour une présentation simplifiée, facilitant le partage avec l’équipe via les outils de communication. Voici un format suggéré :

NuméroEPIC -> Fonction -> sous fonctionCas de testStatut d’exécutionLien anomalie(s)

4 – PV de recette – Synthèse des résultats des tests pour valider la livraison.

En adéquation avec le plan de test ou le plan de test maître, le PV de recette (Procès-Verbal de Recette) est un document clé dans le processus de validation d’une livraison. Il synthétise les résultats des tests réalisés et permet de statuer sur la conformité du produit par rapport aux exigences définies. En assurant une traçabilité optimale, il constitue une référence essentielle pour la prise de décision finale concernant la mise en production, même à distance.

A.     Constat de test

Synthèse de la campagne de test et décision GO/NOGO

B.     Environnements de test

Liste des environnements de test exploités lors de l’exécution des tests

C.      Exigences (sous forme de tableau)

NuméroExigence globale (Epic Jira/Règle de gestion/User story)PrioritéLien vers L’ensemble de testÀ tester (oui/non)Impacts et risques (liste n° de risques)Testeur(s)Statut de test/décision (Go/NOGO/Go avec réserves)Anomalies (liste des anomalies détectées)

D.     Risques produit (sous forme de tableau)

NuméroRisque produitPrioritéSolution de mitigationStatut de test/décision (Go/NOGO/Go avec réserves)Anomalies (liste des anomalies détectées)

E.      Résultats des tests par niveau de test/type de test

Présentation sous forme de matrice définissant les niveaux de tests et leur alignement avec les types de tests effectués.

F.      KPI de test

Les résultats de KPI

G.     Rétrospectives de test

On peut se baser sur les risques projet mentionnés dans le plan de test maître

Intégration des besoins QA dans les équipes Agile

Dans un contexte de télétravail, l’intégration des besoins de l’assurance qualité (QA) au sein des équipes Agile requiert à la fois un cadre de collaboration adapté et un processus clairement défini. L’objectif est de préserver la transparence et de garantir l’accessibilité des informations critiques, afin d’assurer la qualité du produit tout en respectant les principes d’adaptabilité et de communication propres à l’agilité.

1 – Affinage du plan de test maître

  • Complété progressivement lors des sessions de Backlog Refinement, en intégrant directement les feedbacks dans le document.
  • Profiter de ces sessions pour alimenter, compléter et valider les prérequis des tests, les jeux de données (JDD) nécessaires, ainsi que les impacts et risques liés aux fonctionnalités.
  • Réaliser une revue du document avec l’équipe pour valider et assurer une Synchronisation et suivie cohérent des prochaines activités de test.

2 – Préparation du plan de test par sprint/version

Au cours du Sprint Planning ou juste après, planifier et prioriser les prochaines étapes de test. Cette session permet de :

  • Aligner l’équipe sur les objectifs du sprint : Anticiper d’éventuelles contraintes liées au télétravail, comme la disponibilité des testeurs, l’accès aux environnements et la gestion des fuseaux horaires.
  • Définir le périmètre des tests : Il est crucial de clarifier ce qui doit être testé ou non en fonction des objectifs du sprint, des nouvelles fonctionnalités développées et des impacts potentiels sur les versions existantes.
  • Sélectionner des TNR pertinents : Choisir les cas de test de régression les plus adaptés permet d’optimiser les efforts en fonction des risques et des priorités métier.
  • Gérer les informations manquantes selon l’ISTQB
    Conformément aux bonnes pratiques de l’ISTQB, si une information fait défaut, on ne bloque pas le processus :
    • On identifie et note clairement ce qui manque (qui, quoi, quand).
    • On assure le suivi lors des réunions quotidiennes (daily) ou toute autre instance adéquate.
    • On complète progressivement la documentation au fur et à mesure que les informations sont clarifiées.
  • Documenter ces choix de manière transparente afin que tous les membres de l’équipe puissent suivre l’avancement et comprendre les décisions prises, certainement en télétravail.

3 – Amélioration de la conception des tests

  • Mise en place du chaque sprint, pour aligner la vision des tests et clarifier les exigences.
  • Profiter de cette session pour :
    1. Assurer la co-compréhension des 3 perspectives clés : Business, Technique et fonctionnel
    2. Définir les cas de test associés à chaque exigence fonctionnelle.
    3. S’assurer que chaque fonctionnalité est testable.
    4. Limiter les défauts en aval en diminuant le taux d’ambiguïté lors de la phase de conception.
    5. Prioriser les tests en fonction des risques identifiés et des impacts métiers.
    6. Assurer une meilleure communication et alignement sur le périmètre de test avec l’ensemble de l’équipe

4 – Revue des anomalies pour une validation efficace

  • Organisation de sessions de revue des anomalies dans un cadre agile et adapté au télétravail afin d’alimenter directement le PV de recette, garantissant une traçabilité optimale et un suivi clair.
  • Aider à mieux cibler les tests des prochaines itérations, en fonction des anomalies détectées et de leur criticité, pour optimiser les cycles courts de l’agilité.
  • Monter en compétence sur les aspects business, en analysant les impacts des défauts sur le produit et les utilisateurs finaux, même en contexte de télétravail, grâce à des échanges réguliers et collaboratifs.
  • Prendre une décision GO/NOGO factuelle, basée sur les résultats des tests et la gravité des anomalies identifiées avec l’équipe agile, tout en assurant un suivi efficace à distance.
  • Usage des canaux écrits (chat d’équipe, e-mail) pour formuler des questions ou fournir des retours lorsque les horaires ne coïncident pas (différents fuseaux ou contraintes familiales).
  • Annonces automatisées (par exemple, via Slack ou MS Teams) pour signaler les nouvelles anomalies critiques, les tests bloquants, ou la publication de rapports de test.

5 – Amélioration Continue

Dans une équipe Agile, l’approche d’amélioration continue repose grandement sur la cérémonie de rétrospective. Son objectif est de dégager des axes de progression pour l’équipe, tant sur l’organisation du travail que sur les processus de développement et de test. En ce qui concerne la QA, ses pratiques peuvent être davantage sujettes à malentendus lorsqu’on ne partage pas le même espace physique d’où la pertinence de la rétrospective pour :

  1. Analyser les pratiques QA
  2. Recueillir le feedback de l’équipe
  3. Renforcer la cohésion d’équipe
  4. Définir des actions concrètes
  5. Suivre l’évolution des pratiques

Conclusion

En structurant et automatisant ces livrables, les équipes QA gagnent en efficacité et en clarté, y compris dans un contexte de télétravail. Une meilleure intégration des besoins QA dans les processus Agile permet non seulement d’améliorer la qualité du produit, mais aussi de fluidifier le travail et la communication entre les différentes parties prenantes, où qu’elles se trouvent.

Comme l’affirme W. Edwards Deming : « La qualité n’est pas un acte, c’est une habitude. » (Deming, 1986)

L’objectif final reste de livrer de la valeur, tout en garantissant une qualité optimale, dans un environnement où agilité, réactivité, télétravail et partage d’informations sont des enjeux majeurs.

A propos de l’auteure Imen Naguez: Experte en qualité logicielle (QA) et ingénierie qualité (QE), je possède une solide expérience en gestion des tests, automatisation et amélioration continue. Diplômée en ingénierie et certifiée ISTQB Test Manager, je conçois et mets en œuvre des stratégies de test adaptées aux projets complexes, en optimisant l’efficacité des équipes et l’efficience des processus.

2 réponses

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Agilité

Les défis du SCRUM pour une équipe de test

Lorsque l’on est dans une grande entreprise il n’est pas rare de se retrouver avec des équipes spécialisées dans le test. Ces équipes ne sont composées que de testeurs (en incluant les test manager et les tests coordinateurs). Pour ces équipes, la mise en place de process agiles tels que

Lire la suite »
Automatisation

Que faut-il automatiser ?

Il faut automatiser ce qui est « chiant » Nous avons vu dans un article précédent que nous automatisions instinctivement et ce depuis notre enfance. Plus précisément nous automatisons, en tant qu’humain, ce qui est « chiant ». Par « chiant » il faut entendre quelque chose de répétitif ou quelque chose de simple mais avec

Lire la suite »