Behavior-Driven Development is a software development process that puts feature behaviors first. 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 – declarative specs for unique product behaviors should be the units of coverage. The most prevalent BDD test frameworks are Cucumber derivatives that write specs in the “Given-When-Then” Gherkin language.
- The Big BDD Picture is better collaboration and automation.
- The Cardinal Rule of BDD is one scenario, one behavior.
- The Golden Gherkin Rule is to treat other readers as you would want to be treated.
- Write Gherkin so that people who don’t know the feature will understand it.
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 Example Mapping
- ‑‑BDD; Automation without Collaboration
- BDD‑‑; Collaboration without Automation
- The Airing of Grievances: BDD
- The Behavior-Driven Three Amigos
- Who Should Lead BDD?
- Winning Support for BDD
- Are Gherkin Scenarios with Multiple When-Then Pairs Okay?
- Good Gherkin Scenario Titles
- In BDD, What Should Be A Feature?
- Should Gherkin Steps Use First-Person or Third-Person?
- 10 Things You Lose Without Automation
- 5 Things I Love About SpecFlow
- Cucumber-JVM for Java
- Cucumber-JVM Global Hook Workarounds
- Gherkin Syntax Highlighting in Atom
- Gherkin Syntax Highlighting in Chrome
- Gherkin Syntax Highlighting in Notepad++
- Pipe Character Escape for Gherkin Tables
- YAML Comments in Gherkin Feature Files
- Gherkin language reference
- Introducing BDD by Dan North
- Introducing Example Mapping, a recorded webinar from Cucumber
Like to cook? Try my cucumber recipe!