Stratégie de test agile : La Definition of done

La plupart des méthodes de test recommandent l’utilisation d’un document de stratégie de test dès le début d’un projet. Néanmoins, une des valeurs du manifeste agile est « des logiciels opérationnels plus qu’une documentation exhaustive » ce qui pourrait rendre ce document inutile.

Laissez-moi vous expliquer exactement ce qu’est une stratégie du test et comment ce document peut être adapté au Scrum et plus généralement aux méthodes agiles.

Qu’est-ce qu’une stratégie de test ?

Le but d’une stratégie de test est d’optimiser les processus de test. Comme l’exhaustivité des tests est clairement impossible (et essayer de s’en approcher coûterait beaucoup trop cher), il est important d’avoir une vision claire de vos tests.

Pour cela votre stratégie doit répondre aux questions « 6W » par rapport à votre produit :

  1. Pourquoi (Why) avez-vous besoin de tester votre application ? Normalement c’est parce qu’il y a un risque, le test permet de limiter les risques et il est important de tester plus ce qui représente un risque plus important.
  2. Quoi (What) devez-vous tester dans votre application ? C’est clairement lié au « Pourquoi » mais dépend aussi de votre organisation (partenaires, …)
  3. Quand (When) testez-vous ? Le plus tôt est le mieux (encore plus en agile). Le but est de comprendre le planning global du projet ainsi que l’impact que cela peut avoir sur les activités de test.
  4. Comment (hoW) testez-vous ? Cela inclut les processus, les techniques de conception et les outils de test.
  5. Qui (Who) teste ? Il est important de définir une équipe avec les compétences requises (principalement pour l’automatisation)
  6. Où (Where) testez-vous ? Il est très important de s’assurer d’avoir les bons environnements afin de savoir que les tests pourront être exécutés.

6W

Il est très important de penser à toutes ces questions au tout début du projet afin d’optimiser les coûts des tests.

Pour cela vous devez d’abord comprendre qu’il y a un coût optimal pour la qualité d’une application :

Optimal

Tout tester avec le même effort est clairement très loin d’être optimal.

Le but d’une stratégie de test est d’essayer d’atteindre ce point optimal. Cela commence avec une bonne analyse de risque et d’une bonne compréhension du coût d’un défaut.

Une règle importante du document de stratégie de test est que c’est un document utilisable régulièrement et vivant. Ce n’est pas un document que l’on écrit pour des raisons obscures et qui n’est ensuite pas utilisé.

Vous devez donc le laisser simple et constamment l’adapter au contexte (qui changera car nous sommes dans la vraie vie).

La stratégie de test agile c’est les Definition of Done (DoD)

En regardant la définition précédente, on voit clairement qu’une stratégie de test est nécessaire et qu’elle ne dépend pas de la méthode de développement utilisée. En regardant les pratiques des méthodes agiles on s’aperçoit que les Definition of Done sont en fait une stratégie de test. La stratégie reste donc très importante et discutée en agile même si elle ne porte pas le même nom. En Scrum on doit mettre en place la Definition of Done pendant le sprint 0. Le sprint 0 est évidemment un bon moment pour mettre en place les outils, l’approche d’automatisation des tests, les ressources, les environnements dont l’équipe aura besoin. Si vous ne pensez pas tôt à tout cela vous risquez d’avoir très vite une dette technique colossale.

Néanmoins, rien ne vous oblige à avoir un document formel. Une stratégie de test peut être une simple page wiki tant que cette page wiki est maintenue et utilisée par l’ensemble des membres de l’équipe afin de s’assurer que cette stratégie est bien appliquée.

La stratégie de test à l’heure de la rétrospective

Un point très important et déjà mentionné est que la stratégie doit constamment être adaptée au contexte.

La rétrospective est un bon moment pour parler de cette stratégie et repenser aux « 6W ».

Et n’oubliez pas les principes de test agile

Pour conclure, les cycles de vie agiles (comme Scrum) ont encore besoin de stratégies de test. Ces stratégies sont appelées les Definition of Done. Cela implique donc qu’un testeur doit faire partie de l’équipe dès le sprint 0 afin d’éviter des dettes techniques qui apparaissent trop souvent au début des projets agiles avec des équipes peu expérimentées qui confondent développeur et codeur.

En écrivant cette stratégie de test vous devrez :

  • Vous rappeler que l’activité de test n’est pas une phase du projet (ce n’est pas à la fin du sprint que le commence à tester)
  • Penser en fonction du quadrant de test (principalement au quadrant 4, qui inclut les tests non fonctionnels)
  • Beaucoup automatiser en respectant la pyramide de test
  • Faire du test exploratoire
  • Adopter des standards de code (pour éviter la dette technique)

Article original en anglais publié sur ce blog : https://testeuragile.blogspot.com/

Traduit par Marc Hage Chahine

Publié par

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s