Behaviour Driven Development (or BDD) is an approach that gets team members to collaborate on describing the behaviours of the user story or product feature they’re attempting to build. The behaviours are described with a series of examples, written in a language that users would be able to understand, that each prove one point about the feature or User Story. The examples can then be automated to provide acceptance tests that prove the expected behaviour, before the code is written. However, even if the examples can’t be automated, there is great value in collaborating on the examples before the code is written. Caveat: this is an amazingly powerful technique, however it takes months to learn and put into practice.
BDD improves quality and reduce defects since it ensures that several team members agreed on the problem that needed solving. BDD doesn’t replace Exploratory and other forms of Testing.
Before BDD there was ATTD: ATDD Vs. BDD Vs. Specification By Example Vs ….
- ATDD From the Trenches
- A case study for BDD in improving throughput and collaboration
- BDD and the New Model for Testing– a presentation
- The Beginner’s Guide to BDD
- Oh Behave! Behavior-Driven Development with Cucumber – a presentation
- BDD and User Story Specification: Examples
- Developing Microservices with Behavior Driven Development and Interface Oriented Design
- Real-World BDD
- Specification by Example – High-level overview, good for non-Technical readers, from Thoughtworks
- Specification by Example, 10 years later
- Specification By Example and Product Quality
- Three top tips for using Given When Then
- Who writes the Cucumber scenarios?
Anti-Patterns for Behaviour Driven Development:
- Specification by Example – Gojko Adzic – the original book on the subject – focuses entirely on people and collaboration
- Behavior-Driven Development with Cucumber: Better Collaboration for Better Software – Richard Lawrence, Paul Rayner – Good for non-Technical and Technical readers
- The Cucumber Book: Behaviour-Driven Development for Testers and Developers – Matt Wynne, Aslak Hellesoy and Steve Tooke
- The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers – Seb Rose, Matt Wynne and Aslak Hellesoy
- BDD in Action – Behavior-Driven Development for the whole software lifecycle – John Ferguson Smart
- The BDD Books – Formulation – Document examples with Given/When/Then – Seb Rose and Gáspár Nagy
- The BDD Books – Discovery – Explore behaviour using examples – Seb Rose and Gáspár Nagy
- Agile Test Tools – Google Spreadsheet
- Concordion – a tool for creating living documentation. (I.E. Documents or examples that are written in text, but run automated test cases)
- RobotFramework – keyword-driven test automation – can be used with examples driving the tests
- Cucumber – (versions have been ported to most programming languages/platforms)
- Serenity BDD is an open-source library that aims to make the idea of living documentation a reality.
*Thank you for visiting the World's Largest Opinionated Agile Reference Library. This content is created and the links are curated through the lens of Agile Pain Relief Consulting's view of what is effective in the practice of Scrum and Agile. We don't accept submissions and emails to that effect are marked as spam. Book listings may use affiliate links that could result in a small commission received by us if you purchase, but they do not affect the price at all. From experience, this won't amount to anything more than a cup of coffee in a year.