Engineering

What is Behavior-Driven Development (BDD)?

BDD extends TDD by writing examples of system behavior in business-readable language — Given/When/Then — agreed between product, developers, and testers before coding. The examples become executable acceptance tests, so the specification and the test suite are the same artifact and can't drift apart.

Its real product is the conversation: the "three amigos" discovering, before code exists, that they held three different definitions of "discount applies."

Worked example

Story: bulk discounts. The three-amigos session writes: Given a cart of 12 units, When checkout runs, Then a 10% discount applies — and immediately argues: does 12 of one product count, or 12 total? The PO decides (total), the scenario is corrected, and a bug that would have shipped is instead a sentence edited in a meeting.

← Back to the full glossary