Presenters: Pascal Mestdach & Michel Grootjans

Objective(s) of the session:

In 2 iterations participants will specify real world examples on a given user stories. After the specification workshops they pair up with the presenters, to implement their acceptance tests. They will have hands on experience in specifying acceptance tests and writing ‘glue’ code (.Net) with the most used Fit fixture types. Not in a simple hello world or calculator example, but in a more real life application.

Content:

An introduction to the concept of Agile Acceptance testing. In 2 small iterations acceptance tests for a Snack-ordering application will be delivered. Each iteration starts with a Specification Workshop where participants (in groups of 3) will think about how to specify acceptance criteria for given user story. After the Specification Workshop the participants come forward to pair with the presenters to implement their acceptance criteria. Participants who are not pairing with us, can watch the 2 projection screens. The left screen is for the .Net developer, writing the gluecode. The right screen is for the tester/functional analist, writing the FitNesse tests. By implementing the acceptance tests, the 4 basic fixtures get illustrated. We also integrate Fitnesse in an automated build and cover a possible way to structure tests in Fitnesse.

Format and length. An interactive mostly technical workshop.

Length: 1 hour 30 minutes, max 30 participants.

Process and timetable:

  • 00:00 - 00:10 - Introduction & illustration of the snack ordering application we are going to specify.
  • 00:10 - 00:20 - Iteration 1 Specification workshop: nail down the scope of a given user story with real world examples
  • 00:20 - 00:50 - Iteration 1 Implementation: Implement a bare bones ordering service tests & automate the build to include acceptance tests
  • 00:50 - 00:55 - Iteration 1 Retrospective: what did you experience?
  • 00:55 - 00:60 - Iteration 2 Specification workshop: nail down the scope of the second user story with real world examples
  • 00:60 - 00:80 - Iteration 2 Implementation: Implement Credit management tests & structuring Fitnesse.
  • 00:80 - 00:85 - Agile Acceptance Testing: What's in it for you?
  • 00:85 - 00:90 - Closing

Intended audience and prerequisites:

  • Who will benefit from this session?
    • Product owners, Agile Coaches,…  will see a way how the communication gap between customers and developers can be narrowed down.
    • Java developers, testers will have hands-on experience in writing executable specifications in Fitnesse
    • .Net developers will also have a first experience in writing the Fit glue code
  • Do you expect them to have certain knowledge or experience?
    • We expect that the audience knows why acceptance tests are important.

What do the presenters expect to learn from the session?

  • What are good acceptance tests? Specific enough, not too detailed, describes “what” not “how”, readable for everyone.
  • Independent tests vs evolving scenarios?

Materials needed, room layout, limitations...:

  • A4 paper
  • Flip chart
  • Markers
  • 2 beamers

Session History:

  • 14/05/2009: Try-out session @ iLean(Kontich) for 20 participants
  • 04/06/2009: Try-out session @ Ihc(Oostkamp) for Agile in Belgium community

Practical arrangements:

  • everything can be downloaded afterwards on google code
  • the 2 beamers are needed because there's a lot of interaction between the 2 PC's of the presenters. We'll bring the second beamer to the conference. All we need is enough wallspace for the projection.