Behavior-Driven Development is a software development process that focuses on feature behaviors. A behavior is how a feature operates within a well-defined scenario of inputs, actions, and outcomes. Behaviors are identified using specification by example. Behavior specs become the requirements, the acceptance criteria, and the acceptance tests. Test frameworks can directly automate specs as well. The most prevalent BDD test frameworks are Cucumber derivatives that write specs in the “Given-When-Then” Gherkin language.
BDD 101 is the go-to resource for learning BDD (and the most popular series on the blog).
- Introducing BDD
- The Gherkin Language
- Gherkin By Example
- Writing Good Gherkin
- Behavior-Driven Agile
- Unit, Integration, and End-to-End Tests
- Test Data
- Manual Testing
- 12 Awesome Benefits of BDD
- ‑‑BDD; Automation without Collaboration
- BDD‑‑; Collaboration without Automation
- In BDD, What Should Be A Feature?
- The Behavior-Driven Three Amigos
- Who Should Lead BDD?
- Winning Support for BDD
- Cucumber-JVM Global Hook Workarounds
- Gherkin Syntax Highlighting in Atom
- Gherkin Syntax Highlighting in Notepad++
- Should Gherkin Steps Use First-Person or Third-Person?