Fizz Buzz Calculator
Introduction
This workshop provides a practical implementation of Behaviour Driven Development (BDD) with the aim of providing some initial exposure to the ideas and the mechanics behind BDD and TDD techniques.
Learning Objectives
- A practical understanding of the mechanics of BDD techniques
- Experience using BDD techniques
Timings
- The workshop is intended for a duration of 90 mins
Materials
- Clone the Agile Tools repo
- Have a working implementation of Eclipse (Java) + Cucumber Eclipse Feature + Axis2 Tools + Maven plugins
- Alternatively use cyber-dojo.org as a browser based environment from which to conduct the workshop
- Open the FizzBuzzCalculator2 Eclipse project
- User Stories relating to the FizzBuzz calculator
- Illustration to indicate the BDD flow and the responsibilities of the teams
Workshop Flow
Connections
Connections part of the activity are intended to enable the attendees to connect with the subject and with each other, and should have more context than “ice breakers” that would otherwise not have any relevance to the subject or context of the workshop.
Activities | Description |
---|---|
FizzBuzz Game - 10 mins | Ask the attendees to play the FizzBuss game by taking turns to count up from 1 to n and saying "Fizz" if the number is divisible by three and "Buzz" if the number is divisible by five. This is intended to provide attendees an understanding of the customer experience expected from the calculator. |
Concepts & Concrete Practice
For a majority of the activities, they will include introducing new concepts and ideas to attendees, and also provide interactive opportunities to practice them and apply the new found knowledge.
Activities | Description |
---|---|
BDD Practical - 60 mins | Work through the user stories to create:
|
Conclusions
Conclusion activities enable the attendees to take stock of what they have learnt and how these new ideas can be applied in practice to real world projects.
Activities | Description |
---|---|
Debrief - 20 mins |
|
References
https://cucumber.io/ https://eclipse.org/downloads/ https://cucumber.io/cucumber-eclipse/ http://www.eclipse.org/m2e/