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

BDD 101 is the go-to resource for learning BDD (and the most popular series on the blog).

  1. Introducing BDD
  2. The Gherkin Language
  3. Gherkin By Example
  4. Writing Good Gherkin
  5. Behavior-Driven Agile
  6. Automation
  7. Frameworks
  8. Unit, Integration, and End-to-End Tests
  9. Test Data
  10. Manual Testing

Major Guides



Example Projects

External Resources


Like to cook? Try my cucumber recipe!