SPA Conference session: Creating Cucumbers

One-line description:Working on turning a feature request into a Cucumber feature, discussing the good and bad practices along the way.
Session format: Workshop (75 mins) [read about the different session types]
Abstract:Cucumber provides a lot of flexibility with a unconventional construction model. Regular expressions rather than functions which are used to group bundles of test code which ideally should be reusable in many contexts. Also with a very open grammer the Gherkin language provides us with lots of different ways to express plaintext specifications. Within this session I want to examine some of the good and bad patterns that I have been collating from talking to people about Cucumber and Gherkin. Building a discussion around why these patterns are bad/good and see if the group can collaboratively identify new patterns from their own experience.
Audience background:Anyone involved in creating software.
Benefits of participating:* Being introduced to Cucumber and what it is capable of.
* Seeing an example of how a discussion around acceptance criteria can lead to a Cucumber feature.
* Learn good and bad patterns in writing plain text specifications.
Materials provided:
Process:A mixture of:
* Group activities: small groups will discuss what they think the acceptance criteria should be, with encouragement to use pens and paper for sketching and thinking about the user interface. The Cucumber features will be written up on pen and paper.
* Presentation slides - Setting the scene, providing the groups with little hints and tips to help them though the tasks.
* Group discussion - The groups will stick their features to the wall and then in turn the different groups will rotate around the features discussing anything they see that is good or bad. Sharing any important learnings with the whole group at the end.
Detailed timetable:00:00 - 00:10: Set the scene and introducing a feature request from a customer
00:10 - 00:20: Groups discussing the what they think the acceptance criteria are
00:20 - 00:35: Groups collaboratively writing a Cucumber feature
00:35 - 00:55: Discussion as a group around each others features.
00:55 - 00:65: Examine patterns in mapping plaintext to test code
00:65 - 00:70: Summing up
Outputs:Encourage the groups to blog about what they learnt about writing Cucumber features, with references to the features they wrote in the workshop.

Put posters up in the hallways and post online any patterns/practices the group identify.
1. Joseph Wilk
2. Elise Huard