Review – Fit for Developing Software

Fit for Developing Software, by Rick Mugridge and Ward Cunningham.

[My bias disclosure – I know both Rick & Ward, I was a reviewer, and I’ve written for their publisher myself. This review is substantially as posted on the agile-testing group.]

Fit (see http://fit.c2.com) is a testing framework that Ward Cunningham developed. A test author writes tests as tables in a document that can be converted to HTML (e.g., Word, Excel, text editor, etc.). The programmers develop fixtures that connect to the system under test. Fit mediates the tests and the fixtures to run the tests, and captures the results. It colors in the document using red/yellow/green to show what happened.

The book is in two halves. The first half is targeted at test authors: from the user perspective, how does Fit work? It covers the basics of tables, fixtures, error handling, and so on. Then it goes into an extended example (several chapters) following a team developing rental software. The first half closes with advice about designing better tests.

The second half is targeted at programmers. While programmers should really read and understand the first half of the book, test authors will probably at most skim this half. This half starts by explaining how to implement various types of fixtures. Then it continues the earlier rental software example by showing the fixture code that would be developed. Finally, this half closes with some advanced topics: Fit’s architecture, custom fixtures and runners, and model- based test generation.

The authors have done a good job explaining Fit from both the test- writing and programming perspectives. The text is clearly written, using plenty of examples, frequent breaks for Questions and Answers along the way, and exercises at many chapter ends.

This book is unique. While you can find information about Fit and fixtures on the web, what’s on the web is much less readable than what this book provides. The book also gives you an extended example and helpful advice from two experts.

If you are considering Fit, or just want to understand its philosophy, this book provides the clearest explanation I’ve seen. For test authors, the first part of the book justifies the whole price. For programmers who need to understand how and why fixtures work, it’s even more of a bargain.

Fit for Developing Software, by Rick Mugridge and Ward Cunningham, with a foreword by Brian Marick. Prentice Hall, 2005. ISBN 0-321-26934-9.