La méthode Agile et le test logiciel : Définition, fonctionnement, avantages…

La méthode Agile et le test logiciel : Tous savoir !

De nos jours, une grande partie des entreprises mettent en place la méthode agile dans l’organisation de leur équipe R&D.

Mais quel est le rôle d’un ingénieur QA dans une équipe agile ?

Comment adapter l’organisation des tests à l’agilité ?

Qu’est-ce que la méthode agile dans le test ?

Les tests agiles sont un processus de test itératif et incrémental dans lequel les exigences logicielles sont rassemblées progressivement tout au long du processus de test.
Les tests agiles font partie du processus de développement de logiciels agiles qui est effectué́ avec l’aide du client. Le processus de test agile commence au début du processus de développement logiciel et aucune intégration n’est requise entre les processus de développement et de test.

Rôle du test dans la méthode Agile

Le test fonctionnel constitue un point clé des projets agiles pour maintenir un bon alignement entre les besoins métiers et les développements itératifs. Les tests vont nécessairement au sein des itérations, sur un mode permettant de garantir la stabilité du code et le bon alignement avec les besoins métiers.

Méthodologie de test Agile

Afin de livrer des incréments du logiciel au fur et à mesure de son développement et pour garantir la flexibilité et l’adaptation au lieu de livrer une application en fin de projet, l’équipe qualité peut tester le logiciel à plusieurs moments de son cycle de développement.

Fonctionnement de la méthode agile dans le test ?

Méthode agile : User Stories

Une user story est une demande fonctionnelle écrite de façon à mettre en avant les besoins utilisateurs.
Elle peut être écrite dans un langage naturel classique ou en respectant la structure suivante:
EN Tant que <Qui> je souhaite faire <Quoi> afin de <Pourquoi>

Chaque Sprint qui dure entre deux ou trois semaines est défini autour de la rédaction des US.
Les fonctionnalités aussi sont développées autour de ces derniers. L’objectif est d’ajouter des nouvelles fonctionnalités afin de grossir le projet.

Méthode agile : Collaboration dans une équipe Agile

Tous les membres de l’équipe (Product Owner (PO), Développeurs, Testeurs) travaillent ensemble et main dans la main.

Le PO définit les fonctionnalités et les exigences du produit (Product backlog) et rédige les US.

Les équipes de développement discutent des méthodologies, des outils et du coût de développement pour chaque élément.

Les testeurs analysent les risques fonctionnels et utilisateurs en amont des développements et interviennent à la fin de chaque sprint pour valider la qualité du produit livré.

Chaque corps de métier agit sur la meilleure façon de développer le produit.

Méthode agile : Déroulement des Sprints Agile

Les sprints se déroulent de la manière suivante :

Sprint 1 – Définition d’User Stories + développements + tests + mise en production (itération 1).

Sprint 2 – Revue de sprint 1 + définition d’User Stories (nouvelles fonctionnalités) + Développements + tests + mise en production (itérations 1 + 2).

Sprint 3 – Revue de sprint 2 + définition d’User Stories (nouvelles fonctionnalités) + Développements + tests + mis en production (itérations 1 + 2 + 3) N sprints…

Exemple de tâches de test à réaliser dans un sprint en méthode Agile

  • Rédiger et réaliser les tests liés aux nouvelles features pour mettre à jour le référentiel de test.
  • Exécuter des tests de non-régression (TNR).
  • Essayer d’automatiser une partie des TNR.

Mettre à jour la stratégie de test suivant le contexte et les risques liés à chaque nouvelle version.

Différence entre test Agile et test en Cascade

Test Agile

Test en Cascade

Approche incrémentale Processus séquentiel
Division du projet en Sprints Division du projet en un processus Séquentiel
Moins de priorités pour les documents Haute priorité́
Les développeurs et les testeurs travaillent ensemble Les développeurs et les testeurs travaillent séparément
Possible de faire des changements au milieu du projet Le produit ne peut être testé qu’à la fin du produit
Déstructuré́ Plus sécurisé

Cycle de vie de test logiciel en mode agile

Cycle de vie de test logiciel en mode agile

Exigences

Rassembler les exigences de base d’un projet pour le déplacer dans un processus de développement agile. Il aide à faire une planification parfaite pour démarrer un projet.

Planification de haut niveau.

Faire une planification parfaite pour commencer un projet à l’aide des testeurs et des développeurs.

Conception

S’assurer d’établir une communication parfaite entre les testeurs et les développeurs afin que nous obtenions une bonne conception du projet.

Développement

Une fois la conception terminée avec succès, nous devons faire évoluer le projet pour un meilleur rendement.

Tester

Le projet doit être testé pour garantir sa bonne qualité.

Livrer

Le projet doit être livré au client en respectant le délai requis.

La revue

Après une livraison réussie, passer en revue du projet et s’assurer qu’il fonctionne bien demeure un défi à relever.

FeedBack

Enfin, il faut prendre en compte les feedbacks du client pour améliorer le prochain cycle de déploiement.

Livrer

Le projet doit être livré au client en respectant le délai requis.

Quadrants de test Agile

Le quadrant de test divise l’ensemble de processus de test en 4 parties. Cela rend le processus de test agile facile à comprendre. Parmi les 4 quadrants, les 2 quadrants de gauche (Q1 et Q2) indiquent aux testeurs quel code écrire et les 2 quadrants de droite (Q3 et Q4) les aident à mieux comprendre le code à l’aide des commentaires vers les quadrants de gauche.

Quadrants de test Agile

Matrice des tests agiles de Brian Marick

Les quatre quadrants des tests agile :

Quadrant Q1

Ce quadrant se concentre sur la qualité du code. Il comprend des cas de test et des composants de test qui sont implémentés par les testeurs.
Ces cas de test sont destinés aux tests d’automatisation pour aider à améliorer le code.

Quadrant Q2

Ce quadrant contient des cas de test orientés métier qui sont également mis en œuvre par l’équipe de test.
Ce quadrant se concentre principalement sur les besoins des clients. Il améliore les résultats commerciaux du logiciel en cours de création.

Il contient les tests suivants :

1. Tester les scénarios qui peuvent se produire et le flux de travail
2. Tester l’expérience utilisateur
3. Effectuer des tests de paire

Quadrant Q3

Cette phase fournit une rétroaction pour les deux phases précédentes. Il existe de nombreuses itérations d’examens et de rétroactions effectuées dans ce quadrant, ce qui contribue à renforcer le code.

Des tests d’utilisabilité, des tests exploratoires, des tests d’acceptation des utilisateurs et des tests collaboratifs sont effectués dans ce quadrant.

Quadrant Q4

Les exigences non fonctionnelles du code, telles que les performances, la sécurité, l’évolutivité, etc. sont prises en charge dans ce quadrant.
Des tests de stress et de performance sont effectués dans cette phase. Test de sécurité et d’infrastructure, migration de données et test de charge.
Ce quadrant garantit que le code satisfait à toutes les exigences non fonctionnelles.

Comment réussir les tests avec la méthode Agile ?

L’équipe agile est responsable de la qualité de ses livrables, il faut donc responsabilité l’ensemble des acteurs.

Mais il est recommandé d’avoir un ingénieur QA par équipe. Cette personne sera le “quality owner” de la team.

Il supportera les PO et DEV / QA en réalisant une partie des tâches QA (stratégie de test, rédaction des plans de test, automatisation des tests IHM …). Cet approche globale s’inscrit dans une approche globale de la qualité (voir Quality Engineering ) (lien)

Vous souhaitez améliorer la qualité et la rapidité de vos livraisons de logiciels grâce à la méthode Agile ?

Contactez-nous dès maintenant pour en savoir plus sur nos services de formation et de conseil en gestion de projet Agile !

Rédacteur : Wael MARNISSI / Senior QA Automation Engineer / All4Test

Par |2023-12-21T10:31:05+01:00février 6th, 2023|Blog du testeur|
5 1 voter
Évaluation de l'article
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
View all comments
Aller en haut