Presented by Lars Vonk and Sander Nieuwenhuizen

Abstract:

Reading the book Growing Object Oriented Systems Guided by Tests (GOOS) changed the way we do Test-Driven Development. As we see it in practice there are basically 3 ways of doing TDD:

1. Inside out - Unit tests first.
2. Middle - Writing acceptance tests first for the "API" of your system.
3. Outside in - GOOS style. Taking the UI into account and test drive the whole system from the first day.

When using the first and second approach the UI and integration part are often forgotten with all consequences whatever they might be (e.g. misaligned API, bugs)
In this session we will:

  • Give a brief overview of the different styles followed by a live on stage programming exercise to implement new features following the GOOS style.
  • Explain characteristics of maintainable tests.
  • Explain how the GOOS style is an addition to the API style of testing.
  • Give real live examples GOOS in action.

The coding example will be in Ruby with Selenium (or another webtesting tool).

Format & Length:

Interactive presentation with live on stage coding kata by presenters.
  • Set the stage
  • Gather Data - Discuss in groups how do you currently do TDD. Which style has your focus and do you like about it and/or what challenges do you face?
  • GOOS - Why, What, How
  • Live on stage coding
  • Retrospective

Intended audience and prerequisites:

There will be code in this session.

  • Anyone interested in the subject (Programmers, Testers, Analists, .)

Objective(s) of the session:

Get attendees familiar with GOOS style TDD.

Benefits for participants and presenter(s):

  • Learn how attendees apply this TDD style (if any)
  • Get thoughts and feedback on this TDD style