BDD
Behavior-Driven Development
Write tests in language the business stakeholder can read. Then make those tests pass.
Last reviewed: 2026-05-24
byKevin Riedl
wiki β
Behavior-Driven Development is TDD with the test language rewritten to be readable by non-engineers. Tools like Cucumber use a Given/When/Then format that a product manager can sign off on. The intent is to keep tests aligned with the business behavior they validate, instead of with the implementation that happens to exist today.
In practice the value is highest at the integration and acceptance test layers, where the language barrier between engineering and product actually causes bugs. At the unit-test layer BDD adds more ceremony than it saves.
// FAQ