BDD

Testing 🟡 Mid

Definition

Behavior-Driven Development : extension du TDD qui exprime les tests en langage metier (Given-When-Then) pour favoriser la collaboration entre devs, QA et PO.

Analogie

Comme ecrire le scenario d'un film avant de le tourner : tout le monde (realisateur, acteurs, producteur) comprend l'histoire.

Exemple de code

// Cucumber + step definitions
// Feature: Panier d'achat
//   Scenario: Ajout d'un produit
//     Given un panier vide
//     When j'ajoute "iPhone" au panier
//     Then le panier contient 1 article

Given('un panier vide', () => { cart = new Cart(); });
When('j\'ajoute {string} au panier', (item) => {
  cart.add(item);
});

Cas d'usage

Pour les projets ou la communication entre equipes techniques et metier est critique pour la qualite.

Anti-pattern

Ecrire les specs Gherkin sans implication du PO, les reduisant a du test technique deguise.
#testing#agile#methode