Definicja
BDD (Behavior-Driven Development) to podejście łączące Test-Driven Development z technikami analizy biznesowej. Wymagania zapisywane są jako wykonywalne scenariusze w języku naturalnym (Gherkin).
Format Gherkin
Feature: Logowanie użytkownika
Scenario: Poprawne logowanie
Given użytkownik jest na stronie logowania
And posiada aktywne konto
When wprowadzi poprawny email i hasło
And kliknie przycisk "Zaloguj"
Then zostanie przekierowany na dashboard
And zobaczy powitanie z imieniem
BDD vs TDD
| Aspekt | BDD | TDD |
|---|---|---|
| Język | Naturalny (Gherkin) | Kod (unit tests) |
| Perspektywa | Zachowanie systemu (biznes) | Jednostki kodu (techniczny) |
| Kto pisze | BA/PO + QA | Developer |
| Narzędzia | Cucumber, Behave, SpecFlow | JUnit, pytest, Jest |
| Granularność | Scenariusze end-to-end | Pojedyncze funkcje |
Dlaczego to ważne?
BDD tworzy żywą dokumentację — scenariusze są jednocześnie wymaganiami, testami i dokumentacją. BA pisze scenariusze zrozumiałe dla biznesu.