Behavior Driven Development (BDD)

Source: []

Behavior Driven Development (or BDD) is an Agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. It was originally conceived in 2003 by Dan North [1] as a response to Test Driven Development, and has evolved over the last few years.

The focus of BDD is the language and interactions used in the process of software development. Behavior-driven developers use their native language in combination with the ubiquitous language of Domain Driven Design to describe the purpose and benefit of their code. This allows the developers to focus on why the code should be created, rather than the technical details, and minimizes translation between the technical language in which the code is written and the domain language spoken by the business, users, stakeholders, project management etc.

Driving development from the outside-in
Using examples to describe the behavior of the application, or of units of code
Automating those examples to provide quick feedback and regression testing
Using 'should' to help drive out responsibility and allow the behavior to be questioned
Using 'ensure' to differentiate between outcomes which are the responsibility of the code and those which are a side effect
Using mocks to stand-in for modules of code which have not yet been written

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License