La taverne du testeur

La maturité des tests: pistes de réflexion (2/3)

Nous avons vu dans le premier article de cette série qu’il existe actuellement de beaux référentiels visant à évaluer le niveau de maturité des tests indépendamment du contexte.

Ces modèles aussi bien soient-ils ont des limites. Ces limites sont par exemple:

  • Une non adaptation au contexte qui inclue une certaine rigidité
  • Des décisions « arbitraires » (il a fallu faire des choix)
  • Une relative complexité à mettre en place
  • Une couverture parfois trop importante par rapport au besoin

Afin de répondre à ces problématiques et rendre une évaluation de la maturité plus simple, ou de manière plus pragmatique juste permettre de prioriser les actions d’amélioration à mettre en place de son côté, de nombreux professionnels du test proposent des alternatives plus facile à mettre en place.

Cet article vous présentera 3 de ces initiatives afin de vous offrir des pistes de réflexion sur ce sujet.

Travailler sur la maturité des pratiques

Cette approche est la plus proche des référentiels comme le TMMI et le TPI. Si je devais m’engager, je dirais qu’elle est en fait assez proche du TPI même si je l’ai imaginé suite à l’étude du TPI.

Je tiens également à préciser que le périmètre de cette approche est purement Agile et inadapté à un contexte Agile. De même, elle liste des pratiques, il est toujours possible d’en ajouter de nouvelles!

Voici comment elle s’illustre:

 DéveloppementCollaborationTestsNon fonctionnelUS
Niv 5Mutation testing
Mob programming
TCR (Test Commit Revert)
Présentations intermédiairesContenu campagnes adaptées (sélection et priorisation)Toutes les compétences pour les tests NF sont dans l’équipe Tests NF effectués au plus tôtDéploiement continu des US Mesure de l’impact des US
Niv 4TDD
Pair coding
Sondes en production
Qualité de code adaptée
ATDD
Partage des tests (ou chartes) avant livraison
Tests en production (type sonde) Tests priorisés à chaque campagne
Evolution des tests des campagnes de TV et TR
Tests exploratoires en fonction des revues
Pair testing
Gestion du versioning des tests
Tests non-fonctionnel (NF) inclut à la CI Certains tests NF inclus dans les campagnes de TV et TRDocumentation basée sur les US, traçabilité sur les US pour la validation, sur la documentation (et historique US) sur la régression
Niv 3TU inclus dans la chaîne d’intégration continue (CI) Normes de codageBDD
Suivi et mesure de l’impact des actions des Rétrospective
Intégration tests vitaux dans la chaine d’intégration continue
Tests de régression (TR)
Tests exploratoires Revues des tests
Tests Vitaux intégrés à la CI
Tests non-fonctionnels à exécuter identifiés
Moment d’exécution de campagnes de tests non-fonctionnel identifié dans le processus  
Critères d’entrée (Definition of Ready) US avec un but lié au Sprint goal
US servant de documentation et permettant une traçabilité  
Niv 2Revues de code Tests unitaires (TU) Qualité du code évaluée3 amigos
Backlog refinement incluant tous les rôles
Entraide (ne fait pas que sa spécialité)
Tests vitaux (TV)
Revue des tests
Certains tests non-fonctionnels implémentésDefinition of Done établie
Critères d’acceptation définit
Valeur métier identifiée INVEST  
Niv 1XXXXX

L’idée est de faire des regroupements de pratiques par thème. Les thèmes sont peu nombreux afin de proposer une lecture lisible (je trouve que TPI peut vite se retrouver complexe à appréhender avec ses nombreux axes). Vous pouvez également remarquer l’influence de TMMI proposant un Niveau 1 « vide ».

Contrairement à TPI et TMMI, le but n’est pas d’évaluer un niveau de maturité de chaque axe ou de l’ensemble du processus. La philosophie est ici toute autre. Ce tableau de classification des pratiques est là pour aider à savoir quoi implémenter dans son contexte. Les thèmes permettent de choisir le sujet que l’on souhaite améliorer.

Les pratiques quant à elles sont classées par niveau en fonction du niveau de difficulté d’implémentation. Il est plus simple, en général, d’implémenter une pratique niveau 2 d’un thème qu’une pratique niveau 3 ou 4 du même thème.

Grâce à cela on sait que si l’on souhaite améliorer la « US » et que l’on a des DoD bien identifiées et que l’on ne sait pas s’il faut mieux travailler sur les DoR ou travailler sur l’identification de la valeur métier alors il est préférable (meilleur ROI) de travailler sur la valeur métier.

A noter: il est tout à fait possible de réorganiser ce tableau ou de créer son propre tableau. Le tableau ci-dessus est assez vieux (2 ans) et mériterait d’être réactualisé.

Travailler sur la proximité des pratiques

Une autre piste possible est de se concentrer encore plus sur les pratiques et de travailler sur leur proximité. Le modèle présenté ci-dessous a été imaginé par Christophe Moustier. Comme pour le tableau précédent, il est issu d’une conversation vieille de 2 ans peut s’avérer nécessaire:

La première chose à faire avec ce graphique est d’identifier les pratiques déjà mises en place. Grâce à cela il est aisé d’identifier les pratiques proches (reliées directement à nos pratiques actuelles). Ces dernières ont une proximité de philosophie et de mise en œuvre qui permettent de les mettre en place plus aisément. Il est alors plus simple de les intégrer en tant que nouvelle pratique.

Tout l’intérêt de ce graphique est sa construction et l’organisation imaginée et implémentée par Christophe Moustier un peu sous la forme de « lignes de métro » (comme le sommaire de ses livres) permettant de rendre visuel la proximité des pratiques. De même l’on peut voir que, comme dans le premier exemple, chaque « ligne » ou zone propose un « thème ». Vers le bas on est plus sur des pratiques de développement.

Travailler sur les pratiques qui intéressent le plus l’équipe

Christophe Moustier n’a pas arrêté là sa réflexion sur la maturité des tests. Il a également imaginé de totalement laisser le choix aux équipes de mettre en place les pratiques qui leurs semblent les plus intéressantes dans leur contexte en partant du principe Agile qu’une équipe est auto-suffisante mais aussi que l’équipe est la mieux placer pour savoir ce dont elle a le plus besoin.

Les pratiques étant très nombreuses il semble nécessaire que l’équipe ait au moins connaissances de leur existence et de ce à quoi elles correspondent. Christophe a donc imaginé un « set » de cartes à utiliser lors d’un atelier (par exemple un rétro) nommant (les explications se retrouvant sur internet) les pratiques et propose aux équipes de sélectionner elles mêmes, grâce à cette connaissance et ce travail de référencement, les pratiques qu’elles souhaitent.

Là encore les pratiques sont classées par thème.

Voici des exemples de cartes:

Si vous souhaitez en savoir plus sur cette démarche je vous invite à vous rendre sur cette page. Il me semble également important de mettre en avant Agilitest qui a permis à ce set de carte de voir le jour.

Conclusion

Comme vous pouvez le constater de nombreuses initiatives existent et ont souvent (à ma connaissance) comme but principal de simplifier la sélection des pratiques à mettre en place. Elle sont donc très axées sur les pratiques. Cela ne vient pas sans inconvénients. Un des principaux est que des nouvelles pratiques fleurissent quasiment tous les jours et que la maintenance de ces « modèles » peut vite d’avérer complexe. Ils peuvent néanmoins servir leur but en proposant un outil simple qui peut aiguiller les équipes.

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Laisser un commentaire

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

Livrable

Les plans de test

Définition ISTQB : un document décrivant l‘étendue, l‘approche, les ressources et le planning des activités de test prévues. Il identifie entre autres les éléments et caractéristiques à tester, qui fera chaque tâche, le degré d‘indépendance des testeurs, l‘environnement de test, les techniques de conception des tests et les techniques de mesure

Lire la suite »
ISO 25010

Types de tests (ISO 25 010): Les tests de portabilité (8/8)

Aujourd’hui nous abordons une famille que j’affectionne particulièrement car elle fait écho à mes expériences mobiles mais aussi à mon statut de joueur de jeux vidéo. Cette famille qui est aussi la dernière famille définissant la qualité au sens ISO – 25 010 est la famille  des tests de «

Lire la suite »
conférence

Organiser la JFTL: le comité de programme (1/3)

Introduction L’organisation de tout événement est un travail minutieux que l’on a souvent tendance à sous-estimer la première fois que l’on est amené à participer à l’organisation d’un de ces événements. J’ai le plaisir d’avoir (et de continuer) à contribuer à l’organisation de beaux événements comme la STLS, les webinaires

Lire la suite »