10.5 Bringing Your Customers into the Testing Process with FitNesse

Traditional testing processes carry two significant weaknesses. First, there is a large gap, called development, between what customers ask for and what gets produced for testing. It’s not uncommon for customers to look at tested software and say, “That’s not what I asked for.” Second, typical feature specifications require immense amounts of effort to maintain because the software and requirements are always in flux. Feature-specification documents can be riddled with lies. But tests, because they must always pass, will never tell a lie.

FitNesse is an acceptance-testing framework that supports test-driven development. Customers specify features in FitNesse before development of those features begins. Developers take those specifications and execute them within FitNesse to see whether their code meets the customers’ requirements. Thus, there is no gap between specification and testing. Customers always get what they ask for because their specs are the tests. FitNesse also eliminates the nightmare of maintaining feature specs. The tests are the specs, and since they must always pass, they can never get out of date.

Tip

FitNesse is an acceptance- or unit-test tool for logic-based methods and libraries; it’s not a UI-testing tool.

FitNesse at a Glance

Tool

FitNesse

Version covered

20050731

Home page

http://www.fitnesse.org

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.