BDD
Acronymbehavior-driven-development, specification by exampleDefinition
Behavior-driven development — TDD with the tests written as examples of behavior in the language of the people who asked for it: Given a state, When an action, Then an outcome, agreed before the build and executable after it
Dan North's reframing of TDD for the conversation it kept failing to start. The unit of work is a scenario, not a method; Gherkin is the usual syntax and Cucumber the usual runner, but the practice is the three-way conversation (product, development, test) that produces the examples, and a team can do that in plain Vitest. Where TDD asks 'does the code work?', BDD asks 'does it do what we agreed?'.
The examples are the specification. A feature described by three concrete scenarios is understood the same way by everyone who read them, which is more than a paragraph of requirements can promise.