Whether you are curious about how BDD can be used a discipline for building software or have tried to use BDD before but instead got bogged down in a tiresome and painful exercise in browser automation - this workshop will help you grasp the real value of this methodology and give you the conceptual tools necessary to be able to start practicing this at your own company.
Splitting up into groups of three, we will build a Delivery Booking System from a list of amorphous requirements. In the first part of the workshop, we will gradually flesh out examples of how the system works using a technique known as Example Mapping. From these we’ll collaboratively write executable specifications (scenarios) in Gherkin. Writing scenarios and developing a “ubiquitous” language can be the most time consuming part of the process albeit the one in which most of the hard work is done.
The second part of the workshop will focus on driving the actual application code from the scenarios and automating them. We will use some parts of the Symfony framework for the app itself and a PHP tool called Behat for executing the scenarios. This part of the workshop will also introduce some aspects of strategic domain modelling. Most of the application will be automated at the “domain level”, and given enough time, we will also automate at the UI and/or browser level.