Specification by (Executable) Example: Prosperity of the FITtest

Immo Huneke and Robert Brown

Customer Community Track
Scheduled Time: 
Tuesday 20 November 2007, 03:30 to 05:00
Room: 
Glaziers Hall, The Court Room
Session type: 
experience report
Intended audience and experience level: 

Customers (particularly Business Analysts), Consultants, Developers, Managers, QA Staff

Experience level with automated system testing: beginner to intermediate

Prerequisites: 

None

Synopsis

The principles of test-driven design/development (TDD) also apply at higher levels - the processes of requirements capture, system specification, high-level design, system integration and user acceptance. But to get the maximum benefit from this approach requires a change of emphasis from “test cases” to “examples” (which are virtually the same as “user stories”) in order to gain the co-operation of the business. And without a suitable automation framework, the required effort would outweigh the benefits. Luckily there are several to choose from!

Objectives

  • provide a solid introduction to the subject of system specification by example
  • convey a distillation of learning points, using case studies from half a dozen past Zuhlke projects that involved automated testing above the unit level
  • convince the audience that the judicious application of automated test tools can reap rewards
  • suggest ways of helping to persuade the business to co-operate in this approach

Process

Theoretical though example-based introduction followed by case studies and a summary.

Approximate Timetable

           1. Introduction: 3 minutes
           2. The Promise: 5 minutes
           3. The Costs: 4 minutes
           4. The Risks: 4 minutes
           5. How To Succeed: 4 minutes
           6. Observations: 3 minutes
           7. Summary: 2 minutes
           8. Q&A: 5 minutes

Benefits of attending

  • Audience members leave the session armed with evidence that an example-driven approach to the specification of requirements and functionality, using test automation, can result in greater user involvement, faster production of more precise user stories, and less painful system integration and acceptance
  • Audience members are equipped with sufficient knowledge to start using this for themselves (with a bit of assistance from us, perhaps!)

The way in which the audience is involved and what they will learn

  • The principles discussed in this session have been applied over a series of Zuhlke projects and the presenters will draw upon these as evidence for the benefits, costs, risks and best practices of the proposed approach
  • Useful feedback will be collected on flip charts and added to the XP Developers’ Wiki

Session history

First public presentation of this material

A little bit of background

  • This tutorial is about the processes of requirements capture, system specification, high-level design, integration, system testing and user acceptance, not about code and unit test
  • We support the view that the principles of test-driven design/development (TDD) also apply at these higher levels, but that the required tooling is different
  • We propose the term “Specification by (Executable) Example” (SBEE) to describe this approach to requirements capture and system specification. Dave Nicolette has coined the alternative term Functional TDD (FTDD) for this idea, which still places the emphasis on testing, which is a big turn-off for business people (see Brian Marick’s Driving Projects with Examples)
AttachmentSize
SpecificationByExecutableExample1.pdf661.44 KB
SpecificationByExecutableExample2.pdf854.91 KB
SpecificationByExecutableExample3.pdf773.01 KB
SpecificationByExecutableExample4.pdf380.83 KB

Immo Huneke

Senior architect at Zuhlke since 2003. Freelance 2002-2003 (with a six-month spell at Psion Teklogix). Logica 1980-2002 (Telecoms since 1991). University of Leeds (Physics with Astrophysics). BCS SPA (formerly OOPS) committee since God knows when. Caught Smalltalk in 1984, then C++, then Perl, then Java, then Scrum and XP. In my real life I have a family (both kids now at University - unbelievable) and love music (singing in several choirs), aviation and spaceflight.

Robert Brown

This presenter hasn't provided a bio yet.