[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!