Spécifications en BDD

Retour d'expérience

Sylvain Zoccarato - @sylv1z

Product Owner

User Stories

  • Titre
  • Enoncé (En tant que / Je peux / Afin de)
  • Critères d'acceptation / acceptance

 

Pourquoi on fait ça ?

  • Réduction de 10% sur un panier
  • En tant qu'internaute, je veux appliquer un code de réduction sur mon panier afin de bénéficier de 10% de remise

Exemple de User Story

  • Critères d'acceptation / acceptance
    • ​MAJ des prix du panier une fois le code validé
    • Ne s'applique que sur les produits de la collection Hiver 2018
    • Réduction de 10% présent ligne par ligne
    • Réduction indiquée dans le total
    • Etc...

Verbeux              Attention cas limites

Lecture complexe              Règles peu évidentes

L'approche BDD

Behavior Driven Development

Principaux points : 

  • Remplace les critères d'acceptation*
  • Sert de modèle pour le développement de tests
  • Génère de la documentation
  • Conserve le language commun entre les parties du projet

Exemple

Outil : Cucumber, #1 Open Source pour le BDD

Syntaxe : Gherkin

Avantages

Langage commun lisible

Outil de travail commun

Adapté aux règles métiers

Documentation générée

Tests de non régression

Inconvénients

Peu adapté au front

Temps de spécification (?)

Maintenance des tests

Quelques outils

  • Outil de projet Scrum (Azure Devops, TargetProcess, Jira, etc…)
  • Draw.io
  • Excel
  • CSVToMarkdown
  • Atom
  • (Git)

Merci pour votre attention

Sources :

  • Knowledgehut.com
  • Cucumber.io

Human Talks BDD

By sylv1z

Human Talks BDD

  • 332