BDD
Testing 🟡 MidDefinition
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.