L'état d'esprit des tests agiles et le rôle du testeur agile

Dans une équipe Agile, les testeurs doivent collaborer étroitement avec tous les autres membres de l'équipe et avec les parties prenantes de l'entreprise. Cela a un certain nombre d'implications en termes de compétences qu'un testeur doit posséder et des activités qu'il effectue au sein d'une équipe Agile.



État d'esprit des tests agiles

Les testeurs agiles doivent rompre avec les principes et les méthodologies de travail du développement logiciel traditionnel. Pour réussir en tant que testeur Agile, le bon état d'esprit est nécessaire.

L'Agile Testing Mindset peut se résumer en douze principes:


  • Assistance qualité plus de Assurance qualité
  • Test continu plus de Tester à la fin
  • Responsabilité de l'équipe pour la qualité plus de Responsabilité du testeur
  • Approche en équipe entière plus de Départements de test et tests indépendants
  • Vérification automatisée plus de Test de régression manuel
  • Test technique et API plus de Juste des tests d'interface graphique
  • Essais exploratoires plus de Test scripté
  • Témoignages d'utilisateurs et besoins des clients plus de Spécifications des exigences
  • Construire le meilleur logiciel plus de Briser le logiciel
  • Implication précoce plus de Participation tardive
  • Boucle de rétroaction courte plus de Rétroaction retardée
  • Prévention des défauts plus de Recherche de défauts


Quelles compétences un testeur agile doit-il posséder?

En plus des compétences requises pour un testeur travaillant dans un projet en cascade traditionnel, un testeur dans une équipe Agile doit être compétent en automatisation des tests, développement piloté par les tests, développement piloté par les tests d'acceptation, boîte blanche, boîte noire et expérience. des tests basés sur.

Comme les méthodologies Agile dépendent fortement de la collaboration, de la communication et de l'interaction entre les membres de l'équipe ainsi que les parties prenantes extérieures à l'équipe, les testeurs d'une équipe Agile doivent avoir de bonnes compétences interpersonnelles. Les testeurs des équipes Agile doivent:


  • Soyez positif et axé sur les solutions avec les membres de l'équipe et les parties prenantes
  • Afficher une réflexion critique, axée sur la qualité et sceptique sur le produit
  • Acquérir activement des informations auprès des parties prenantes (plutôt que de se fier entièrement à des spécifications écrites)
  • Évaluer et rapporter avec précision les résultats des tests, la progression des tests et la qualité des produits
  • Travailler efficacement pour définir des user stories testables, en particulier des critères d'acceptation, avec les représentants des clients et les parties prenantes
  • Collaborer au sein de l'équipe, en travaillant en binôme avec les programmeurs et les autres membres de l'équipe
  • Réagissez rapidement aux changements, notamment en modifiant, en ajoutant ou en améliorant des cas de test
  • Planifier et organiser leur propre travail


Le rôle d'un testeur dans une équipe Agile

Le rôle d'un testeur dans une équipe Agile comprend des activités qui génèrent et fournissent des commentaires non seulement sur l'état des tests, la progression des tests et la qualité des produits, mais également sur la qualité des processus. Ces activités comprennent:

  • Comprendre, mettre en œuvre et mettre à jour le Stratégie de test agile
  • Travailler avec Propriétaires de produits définir Critères d'acceptation et la définition de terminé.
  • Mesure et rapport de la couverture de test pour toutes les dimensions de couverture applicables
  • Assurer une bonne utilisation des outils de test
  • Configuration, utilisation et gestion des environnements de test et des données de test
  • Rédaction et exécution de contrôles automatisés et rapport à l'équipe
  • Signaler les défauts et travailler avec l'équipe pour les résoudre
  • Coaching d'autres membres de l'équipe dans les aspects pertinents des tests
  • S'assurer que les tâches de test appropriées sont planifiées lors de la planification de la version et de l'itération
  • Collaborer activement avec les développeurs et les parties prenantes de l'entreprise pour clarifier les exigences, en particulier en termes de testabilité, de cohérence et d'exhaustivité
  • Participer de manière proactive aux réunions quotidiennes debout, aux séances de préparation d'histoires, aux rétrospectives d'équipe, en suggérant et en mettant en œuvre des améliorations

Au sein d'une équipe Agile, chaque membre de l'équipe est responsable de la qualité du produit et joue un rôle dans l'exécution des tâches liées aux tests.
Les organisations agiles peuvent rencontrer certains risques organisationnels liés aux tests:

  • Les testeurs travaillent si étroitement avec les développeurs qu'ils perdent la mentalité de testeur appropriée
  • Les testeurs deviennent tolérants ou silencieux face aux pratiques inefficaces, inefficaces ou de mauvaise qualité au sein de l'équipe
  • Les testeurs ne peuvent pas suivre le rythme des changements entrants dans les itérations limitées dans le temps


Participer aux activités Scrum

Un testeur sur un projet Agile fonctionnera différemment d'un testeur travaillant sur un projet traditionnel. Les testeurs doivent comprendre les valeurs et les principes qui sous-tendent les projets Agile, et comment les testeurs font partie intégrante d'une équipe Scrum, avec les développeurs et les représentants commerciaux.

Les membres d'un projet Agile communiquent les uns avec les autres tôt et fréquemment, ce qui permet d'éliminer rapidement les défauts et de développer un produit de qualité.


Il est important de noter que les testeurs dans les projets Agile ne se concentrent pas uniquement sur le test du produit pour trouver des bogues, mais plutôt sur l'amélioration des processus pour éviter les défauts, et les testeurs jouent un rôle important à cet égard.

Ici, nous examinons comment les testeurs agiles peuvent ajouter de la valeur à chaque étape de la livraison logicielle dans une configuration Agile.

Définition de la qualité globale

Les testeurs sont impliqués dans la définition de la qualité globale et de l'approche des tests et surtout de la valeur ajoutée dans les activités suivantes:

Activités de pré-planification

Les testeurs sont impliqués dans les sessions de pré-planification et de préparation de l'histoire et ajoutent surtout de la valeur dans les activités suivantes:


  • Définition des user stories testables, y compris critères d'acceptation
  • Déterminer la testabilité des user stories
  • Création de tests d'acceptation pour les user stories
  • Participer aux analyses de projets et de risques qualité

Planification de sprint

Les testeurs sont impliqués dans les réunions de planification de Sprint et ajoutent surtout de la valeur dans les activités suivantes:

  • Planification des tests pour la version
  • Participer à l'analyse détaillée des risques des user stories
  • Création de tests d'acceptation pour les user stories
  • Définition des niveaux de test nécessaires
  • Décomposer les user stories en tâches (en particulier les tâches de test)
  • Estimation de l'effort de test associé aux user stories et à toutes les tâches de test
  • Identifier les aspects fonctionnels et non fonctionnels du système à tester
  • Soutenir et participer à l'automatisation des tests à plusieurs niveaux de test

Tester en Sprint

Les testeurs sont impliqués pendant le Sprint et apportent surtout de la valeur ajoutée dans les activités suivantes:

  • Exécution de tests exploratoires de nouvelles fonctionnalités
  • Rédaction de tests de régression automatisés pour les fonctionnalités nouvelles et existantes
  • Intégration et exécution de tests automatisés sur un serveur CI
  • Feedback dès que possible à l'équipe en cas de problème
  • Mettre à jour les tests d'acceptation lorsque de nouveaux scénarios sont envisagés