BDD
Behavior-Driven Development is a software practice that builds on TDD by writing tests in business-readable, scenario-style language (typically Gherkin). The goal: shared understanding between engineering, product, and stakeholders. The tests become living documentation that non-engineers can read, write, and maintain.
Where TDD focuses on unit-level design pressure, BDD focuses on behaviour at the feature level — "given X, when Y, then Z" scenarios that map directly to acceptance criteria. The tooling (Cucumber, SpecFlow, etc.) parses Gherkin scenarios and runs them as automated tests. BDD's main payoff is reducing the gap between what product asked for and what engineering delivered; its main cost is the writing-tests-in-natural-language overhead, which some teams find awkward versus pure code-based tests.
Long-form posts that explore bdd in depth — when to use it, common failure modes, how AI helps.
- How AI writes acceptance criteria (and where it fails)The honest map of where AI is dramatically better than humans at writing acceptance criteria — and the five places it confidently writes garbage. Plus the prompts that work.10 min read
- Are AI-generated test cases worth shipping?Yes, with a sharp caveat — when they're tied to AC and reviewed by a human. Five categories where AI test generation is great, five anti-patterns to catch.9 min read
- Can AI write Gherkin? (yes — here's how)Yes. AI writes Gherkin well, often better than humans for surface area coverage. Five wins, five recognisable failure modes, and the prompts that work.8 min read
Related terms
- TDD
Test-Driven Development is a workflow where you write a failing test first, write the minimum code to make it pass, then refactor — repeated in tight loops.
- Gherkin
Gherkin is a structured plain-English DSL for writing executable acceptance tests, using the Given / When / Then format.
- Acceptance criteria
Acceptance criteria are the conditions a story must satisfy to be considered complete — testable, bounded statements describing what the system does.