What is BDD, in one honest sentence?
BDD is describing how a feature should behave in plain, structured language everyone agrees on — before it's built — so the same description drives the conversation, the code and the tests.
BDD is describing how a feature should behave in plain, structured language everyone agrees on — before it's built — so the same description drives the conversation, the code and the tests.
The point people miss: BDD is a collaboration practice first and a tool second. Cucumber and Gherkin are how you write it down, but the value is the shared understanding between product, dev and QA — not the .feature files themselves.
- Describe behaviour in shared plain language, before building
- One description drives conversation, code and tests
- Collaboration first, tooling (Cucumber) second
No — that's the common misread. If you skip the up-front conversation and just reformat existing tests into Given-When-Then, you get the overhead of BDD with none of the benefit. The talking is the practice.
Teams where product, dev and QA otherwise misunderstand requirements. On a solo project or where everyone already shares context, the ceremony can cost more than it returns.
Calling BDD "a testing framework" is the giveaway that you've used Cucumber but never done BDD. It's a collaboration practice; Cucumber is one tool for it.