Behavior-Driven Development (BDD) is a collaboration technique focused on using scenarios as a focal point for conversations among stakeholders.
You’ll hear BDD also referred to as Acceptance-Test Driven Development (ATDD), Storytest-Driven Development (SDD), Specification by Example, Example-Driven Development, and other names. While some people draw distinctions, they’re all close enough in spirit that these resources may use any of those names.
Other resource summaries: TDD, Refactoring, CI/CD.
[Disclosure: Note that I may have been involved in some of the materials mentioned below; I used to work for Industrial Logic.]
Exercises
None identified.
E-Learning
- Industrial Logic’s Specifying Scenarios Safely [language-independent]
- Industrial Logic’s Automating Scenarios Safely [C#, Java]
Books
- Adzic, Gojko. Specification by Example. Manning, 2011.
- Mugridge, Rick, and Ward Cunningham. Fit for Developing Software: Framework for Integrated Tests. Prentice Hall, 2005.
- Rose, Seb, et al. The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf, 2015.
- Wynne, Matt, and Aslak Hellesoy. The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf, 2012. [Ruby]
Web Sites
Web Articles
- Keogh, Liz. “BDD Before the Tools“
- Koskela, Lasse. “Acceptance TDD Explained“
- North, Dan. “Introducing BDD“
- Reppert, Tracy. “Don’t Just Break Software, Make Software” [Storytest-driven development]
- Shore, James. “The Problems with Acceptance Testing“
Tools
[I welcome further suggestions of resources you’ve found useful, provided they’re something I (or a friend) can review before adding them here.]