Sustainable Test Driven Development

Are your tests driving your development? Or driving you crazy?

Objectives

Teams that adopt test driven development see a boost in productivity almost as soon as they start using the technique because the tests let them add new features with greater confidence and catch integration errors early. However, it is common for the pace to slow over time as the tests themselves become an increasing maintenance burden. For test driven development to support longterm, sustainable project health the tests must do more than just verify that code performs its required functionality: they must clearly express that required functionality to the reader. Tests that are not written with their role as specifications in mind can be very difficult to understand and so become a drag on making changes to the code base, slowing velocity.

In this session, developers will experience the drawbacks of poorly written tests and learn how to clearly express intent in their test code by taking part in a fun, hands-on programming exercise.

Intended Audience:

Developers.

Ideally, participants should have some experience with TDD and pairing. However, we have run this before with a few participants who had never paired or were new to TDD.

Prerequisites:

The session requires one laptop per pair. The laptop should have a development environment, xUnit or other unit testing framework installed

Participants can use any language and development environment they wish. However, every two pairs must work together, so a language can only be used if four people can program in it.  To avoid disappointment, if you would like to use a less popular language, please also install a development environment for a popular language (Java or C#) in case there are too few other participants who also know your favourite language well enough to use it.

Organisers:

Steve Freeman, M3P Ltd. UK

Nat Pryce, B13 Services Ltd. UK