Aki Salmi – Introduction to BDD
BDD (Behaviour-Driven-Development), Specification by Example, Specification with Example, ATDD (Acceptance-Test-Driven-Development) – our beloved one has many names.
In this workshop we go through the basics of BDD – the collaboration part. I will explain one possible process framework for capturing the executable specifications. On the latter part of the workshop it’s your turn to practice: I play a customer requesting for a new feature while you are programmers/testers/tech lead trying to capture the important specs.
By taking this step of practicing the first phase – the phase where hidden requirements are found we aim to learn to take our time first stages of the process.
In the process, we learn how important it is to ask relevant questions from the customers – what is the expected behaviour in certain edge cases, what happens if user does something surprising to find the hidden details.
Basics of BDD – 10-15min
Practice (in groups of 3-4 people): 50min
- customer explaining new feature: 5min
- finding the acceptance criteria for the feature: 10min
- writing executable specs & refining the acceptance criteria: 20min
- walk-through of the specs
Retrospect / closing circle: 5-10min (depending on the amount of people)
What will you learn?
We will discuss on the basics of BDD – how to capture acceptance criteria into executable specifications. Especially:
- what kind of questions to ask when capturing acceptance criteria
- how to write executable specification (say, in given-when-then format)
- the basics of Gherkin language (Gherkin is language defining the given-when-then format)
Tools – in this workshop we don’t need any tools. BDD is not only language agnostic, it’s also tool agnostic.
If you’d like to try writing real executable specs in tool like cucumber / cucumber-jvm / jbehave I can help you in that during the conference.
Do the attendees need a laptop?