Quelle évolution pour le testeur dans un monde en mouvement ?

20 Octobre 2021
evolution-testing-monde-en-mouvement
Ces dernières années, l’utilité même du testeur a été remise en question avec l’émergence de l’automatisation et l’avènement de l’agilité. L’arrivée du DevOps couplée au software craftsmanship, l’émergence récente de l’agilité à l’échelle et le built-in-quality (construire la qualité dans le produit plutôt que de la vérifier après coup) ont aussi introduit beaucoup de questionnements sur le positionnement et la mission du testeur.

Si les développeurs font des tests et de la qualité, quel est l’intérêt d’avoir des testeurs ? Nous allons donc montrer à travers cet article notre vision de l’évolution du testeur confronté à ces changements et la nécessité de s’adapter à ce nouvel environnement afin que « l’humain reste au cœur des pratiques des tests logiciels ».

Comment les différentes évolutions techniques et méthodologiques nous obligent à nous réinventer pour être les porte-drapeaux de la qualité dans le développement de solutions logicielles ?

Historiquement, le rôle d’un testeur était de gérer les activités de test sur un projet de développement. Pour cela, il choisissait et mettait en place des méthodes et outils de description, de suivi des tests et d’automatisation de l’exécution de tests ce qui pouvait réduire son rôle à la recherche d’anomalies et l’exhaustivité des tests. Le testeur a donc dû démontrer sa valeur ajoutée dans la mise en œuvre et l’amélioration régulière de stratégies de tests et des processus associés en se basant sur les principes de l’ISTQB.

illustration-les-principes-du-testeur-ISTQB

Illustration les principes du testeur ISTQB

 

Avec l’agilité, les cycles de développement et de mise en production sont de plus en plus courts, l’automatisation est alors une évidence qu’il faut exploiter au mieux. Pour certains, en avoir une maitrise complète sera le chemin à emprunter. Cependant, au-delà du côté technique, le rôle du testeur est primordial pour poser les bonnes questions et ne pas être dans une stratégie d’automatiser tout et n’importe quoi : quels sont les chemins critiques de l’application ? Y a-t-il des composants critiques ? Les scripts seront-ils maintenables et évolutifs facilement ? Car n’oublions pas que l’automatisation n’est pas du test, mais un moyen pour y arriver.

De plus, nous ne sommes pas dans une course à la recherche de toutes les micro-anomalies car de toute manière il est impossible d’être exhaustif (second principe du testeur) mais nous devons démontrer que les logiciels développés fonctionnent comme prévu. Le rôle du testeur devient celui d’un communiquant qui affine la compréhension du besoin, définit les risques, gère les priorités des composant et fonctionnalités à tester, acculture les développeurs sur la qualité afin qu’ils soient acteurs de celle-ci, tout cela en privilégiant la collaboration, notamment via des ateliers « 3 amigos ».

 

L’arrivée de l’agilité à l’échelle a de nouveau introduit un changement dans le rôle du testeur. Dans le framework SAFe, il n’est fait aucune mention d’organisation ou de rôle uniquement dédié au management des tests, que ce soit pour la stratégie, l’outillage, ou l’expertise. La « qualité » est de la responsabilité de tous et les rôles de test manager ou de test leader ne sont pas clairement identifiés dans ce dispositif. Une réalité du Framework SAFe est que le test, processus incontournable de l’évaluation de la qualité d’un produit applicatif, n’est présent que de façon parcellaire comme objectif d’équipe; ce qui peut être très perturbant pour une organisation « Legacy » avec des équipes de test dédiées, une organisation rodée, ainsi que des rôles, des responsabilités hiérarchiques et un positionnement managérial forts. Pour les équipes projets, se retrouver dans un environnement grand et interdépendant questionne sur les types de tests à réaliser, le planning d’exécution et les acteurs impliqués. Doivent-elles faire une énorme campagne de tests de bout en bout ? Qui gère la stratégie de tests globale, la stratégie de tests détaillée ? Doit-on uniformiser les outils de tests ?

 

Face au déploiement de ces pratiques, le rôle du test et notamment du test manager évolue vers un rôle de coach pour acculturer et former les équipes projets aux bonnes pratiques de tests à l’échelle. Il est donc le facilitateur pour certains, le mentor ou l’expert pour d’autres. Pour cela, il doit alors monter en compétences sur les Framework d’agilité à l’échelle et accroître ses compétences interpersonnelles telles que la communication et la capacité à convaincre. Il doit aussi proposer de nouvelles façons d’appréhender des stratégies de tests complexes dans un laps de temps court, ce qui peut être le cas avec la maîtrise du management visuel type BPMN pour identifier facilement et de manière collaborative les chemins critiques d’une application et appréhender rapidement un contexte métier.

A l’échelle, les testeurs automaticiens doivent aussi comprendre les interactions et la complexité de l’écosystème des applications afin d’étudier les possibilités de tests automatiques de bout en bout.

 

L’approche DevOps et le Software Craftsmanship considèrent le développement comme un travail d’artisan et de compagnonnage où la qualité de code, l’excellence et la fierté de son produit sont essentielles. Il ne suffit pas qu'un logiciel soit fonctionnel, il faut qu'il soit bien conçu, maintenable, évolutif et exempt d’anomalie afin de livrer la valeur attendue par le client. L’objectif du Crafts est de garantir la fiabilité des applications en intégrant la qualité dès le début de la réflexion du besoin et tout au long du cycle de vie du produit. Le test est au cœur de la méthode avec les démarches shift left et itératives autour du TDD/BDD dans le but de garantir un code plus évolutif. Mais alors que devient le testeur ? Apporte-t-il toujours de la valeur ? Les activités avec le craftsman sont-elles compatibles, complémentaires ou concurrentes ? Ou le Craftsman va-t-il remplacer le testeur et se retrouver au cœur des pratiques des tests logiciels ?

En réalité, dans ce contexte, l’émergence du DevOps et du Software craftsmanship ne peut être qu’un plus avec la mise en pratique du TDD/BDD. Le craftsman devient un partenaire idéal et constructif lors d’ateliers « 3 amigos » où l’excellence technique permet une plus grande maîtrise de l’agilité et permet de poser les bonnes questions et donc de favoriser la collaboration dev/test/métier-client. Lors de ces ateliers, des scénarios d’usage et d’acceptation renforcent la compréhension du besoin ainsi que les critères d’acceptation. Les testeurs, de par leur expérience sur le système, accompagnent cette scénarisation, et ce sont eux qui vont implémenter ces scénarios de tests d’acceptation.

la-qualité-au-centre-du-développement-du-produit

Illustration la qualité au coeur du développement du produit

 

Cette démarche permet de mettre la qualité au centre du développement du produit : ce partage de vision et de la stratégie de test permet une collaboration efficace et constructive. Le craftsman et l’équipe de développement utilisent le test comme pivot pour tester lors de la phase de développement, et le testeur teste pour vérifier et valider les exigences et les cas d’usage de manière fonctionnelle. Le rôle de testeur peut alors évoluer en même temps que la qualité s’améliore en privilégiant les interactions, il peut affiner ses campagnes de tests (manuelles et automatisées) et y incorporer du test exploratoire tout en y apportant sa vision du test.

Cette recherche de l’excellence, nous oblige donc à approfondir encore plus nos compétences sur l’agilité et le DevOps ainsi que nos compétences en écoute et communication collaborative avec un esprit critique positif.

 

Pour résumer, notre fonction évolue sur deux grandes tendances et de deux façons :

  • Vers un rôle plus technique centré sur l’automatisation avec des compétences techniques profondes sur l’architecture et les moyens de tests, sur les outils du DevOps (pipeline, Docker...) mais aussi avec une bonne compression de l’agilité.

  • Vers un rôle plus méthodologique avec une connaissance des projets complexes, une maîtrise des bonnes pratiques de tests ainsi que des concepts d’agilité, de DevOps et d’agilité à l’échelle (ATTDD, TDD, BPMN, 3 amigos, example mapping...).

les-testeurs-aujourd'hui

Illustration les testeurs d'aujourd'hui, des hommes et des femmes aux multiples casquettes

 

En plus des compétences techniques dans ce monde en perpétuelle évolution, le développement des compétences interpersonnelles est indispensable. Nous pouvons citer par exemple :

  • L’esprit critique positif

  • La communication

  • La collaboration

  • La curiosité méthodologique et techniques 

  • L’apprentissage de façon continue

  • Le partage

 

Notre constat est que tout développement logiciel, et encore plus dans un contexte agile, doit prôner l’excellence méthodologique et technique. Ce contexte de changement qui semble bousculer voire faire disparaître le rôle du testeur, peut être une source d’épanouissement et de nouveau positionnement lui permettant de devenir un « vrai testeur agile ».

C’est pourquoi les valeurs communes de qualité, de partage et de collaboration font que la qualité et donc le test pourra acquérir toutes ses lettres de noblesse.

 

A propos des auteurs :

Jean-François Fresi

Responsable du centre de services tests pour AUSY, Jean-François manage plus de 50 testeurs. Avec près de 15 ans expériences dans le test, sur des projets diversifiés à la fois techniques (test de performance, test automatique, test de sécurité) et organisationnels (accompagnement du projet test dans des organisations Agile, SAFe et DevOps), il s’attache aujourd’hui à transmettre les bonnes pratiques de tests et rendre les projets autonomes. Jean-François accompagne depuis plus de 3 ans des équipes dans des contextes SAFe afin de mieux appréhender le built-in-quality.

 

Yves Richard

Aujourd’hui, Consultant et Expert en Automatisation des tests pour AUSY, Yves est présent de l'étude de cas jusqu'à la montée en compétences des nouveaux membres de la Practice Test. Que ce soit sur la mise en place ou l'élaboration de solutions techniques, il s'attache à transmettre les bonnes pratiques de tests et met un point d'honneur à consacrer du temps à la veille technologique.

 

Aussi n’hésitez pas à visiter nos pages dédiées aux Tests Logiciels

Parlons ensemble de vos projets.

contactez-nous