Formation Spécifier et tester par l'exemple

Acceptance Test Driven Development

Durée 1 jour
ATDD-TESTS-ACCEPTATION-01

Contactez nous pour planifier
la prochaine session.

Description

Cette formation couvre l'écriture des tests fonctionnels agiles. C'est au travers d'exemples que les spécifications agiles ou "user stories" sont vérifiées. Parce qu'elle met l'accent sur les comportements attendus, la technique du BDD (Behavior Driven Development) donne déjà d'excellents résultats, c'est pourquoi nous l'aborderons ensemble. Au-delà de la structure qu'elle propose, la pertinence des tests produits réside surtout dans la qualité de la rédaction des exemples.

Venez découvrir avec nous comment explorer vos cas d'usage et vous équiper de techniques pour les co-écrire sous forme d'exemples. Car spécifier, c'est surtout créer de la compréhension partagée entre les acteurs du projet. Product Owners, Testeurs et Développeurs vous apprendrez à lever les ambiguités, à identifier les bons exemples, puis les enrichir et les affiner pour faire émerger le vocabulaire du domaine.

Objectifs

  • Découvrir la place du BDD dans l’ecosystème des test agiles.
  • Apréhender l’importance de bien identifier les cas de test pertinents.
  • Apprendre les techniques pour faire émerger une compréhension partagée du domaine métier.
  • Maîtriser l'articulation du BDD avec les autres pratiques d’ingénierie logicielle agile : intégration continue, refactoring, feedback incrémental.
  • Maîtriser l'écrire des tests expressifs et univoques avec la formulation Given When Then.
  • Comprendre les origines et les avantages du test first.
  • Améliorer votre écriture des cas de test en faisant émerger un vocabulaire métier de haut-niveau.

Pré-requis : 

  • Connaitre les bases de l'agilité.
  • Savoir spécifier avec les User Stories.

Public : 

  • Product Owner
  • Testeur

Pédagogie : 

30% théorie 70% pratique

Programme

Tests et spécifications

  • De l'abstraction à l'exemple
  • Lever les ambiguités de la spécification

Les quadrants des tests agiles

  • Les tests techniques pour guider le développement
  • Les tests fonctionnels pour valider la progression du produit
  • Les tests techniques et fonctionnels pour investiguer le produit

Tests d'acceptation et pratiques agiles

  • L'implication des rôles de Scrum dans les pratiques de tests
  • Du no go au let's go

Identifier les cas de test

  • Mettre en oeuvre des règles d'expressivité sur les cas de test
  • Explorer les dimensions de variation d'une User Story
  • L'acceptance tests workshop

Le développement guidé par les tests d'acceptation

  • Le cycle ATDD
  • Biais cognitifs et écriture des cas de test

Ecrire les tests en BDD

  • La structure given when then stricte
  • Construire les cas de tests à partir de descriptions univoques
  • Antipatterns d'écriture de cas de test

Expression des cas de test et vocabulaire du domaine

  • Introduction à l'ubiguitous language du DDD
  • Capitaliser les éléments réccurents des tests
  • Faire monter l'expressivité des tests de manière incrémentale

Implémenter les tests

  • Exemple de mise en oeuvre avec Cucumber
  • Introduction au tests exploratoires