[Agile Development] Fit and Fitnesse

Tools such as NUnit provide frameworks that make writing and managing unit tests relatively convenient.  Unit testing is primarily a developer-driven process that helps software engineers to constantly ensure the integrity of their work.  The success of automated unit testing and unit testing frameworks has spurred a move to Test Driven Development (TDD) as a new and agile method for creating high-quality software systems.   But unit testing is only part of a holistic testing approach.

Recently, automated testing frameworks have appeared to address other testing needs.  In particular, new frameworks have emerged to help with the generation and management of  acceptance tests.  Specifically, I want to highlight Fit, by Ward Cunningham and friends, and its arguably more modern offspring, Fitnesse, by Robert Martin and others.  Fitnesse packages the power of Fit-based acceptance testing in a very convenient wiki server system.  Fitnesse is available for Java, in mature form, and, although it is not quite ready for prime time, an experimental version exists for the Microsoft .NET Framework.  Fitnesse is an Open Source project with a Fitnesse Source Forge site.

One advantage of Fit and Fitnesse for acceptance testing is that they use an approach that enables users and user representatives to write acceptance tests via a spreadsheet-like approach.  This feature decouples the creation of acceptance test suites from dependence on developers.  It also enables a mixture of documentation and testing that can result in testing documents that also provide considerable insight into how systems should work.  Such test suites can really help when the time comes to produce formal documentation and training materials.

Fit and Fitnesse do not replace unit testing frameworks such as NUnit and they certainly do not eliminate the need for Test Driven Development.  They work at the other end of the testing process and supplement the TDD approach.

Have fun with Fit and Fitnesse!


No Comments