Framework for Integrated Test
Software developed by Ward Cunningham in 2002. FIT later led to Robert C. Martin’s FitNesse, which in turn led to Jason Huggins’s Selenium Core (2004) and the Selenium IDE (2006) by Shinya Kasatani that wrapped it.
Introductory Text
Great software requires collaboration and communication. Fit is a tool for enhancing collaboration in software development. It’s an invaluable way to collaborate on complicated problems—and get them right—early in development.
Fit allows customers, testers, and programmers to learn what their software should do and what it does do. It automatically compares customers’ expectations to actual results.
Encouraging Collaboration
You write requirements (an acceptance test document) in MS Word, and if you insert examples in the form of tables in the middle of the document, those get executed, making it easy to check whether the software currently under development matches the specification.

Like literate programming, you can write natural-language sentences, and because the executable parts are examples contained in table forms that are relatively easy to understand, people in non-development roles such as customers and planners can easily write and understand them. The important thing is that, from the standpoint of guiding the way people work in a particular direction, 1) using this inevitably causes developers and customers (planners) to communicate a great deal, 2) it causes specifications to be created before implementation (acceptance TDD; Acceptane TDD), and 3) instead of creating a perfect specification all at once, it allows specifications to be gradually elaborated and moreover encourages doing so.
Satisfying Requirements with Minimal Code
If I had to guess at FIT’s requirements, they would be something like this.
- It should be usable from a word processor
- It should be possible to insert test specifications throughout the document
- The test specifications should run, and their results should be viewable immediately within Word
Most developers, in order to build this, would probably start studying MS Word’s COM API, but W. Cunningham approached it differently. Use MS Word’s HTML save feature, and then FIT just extracts the <table> elements, runs the tests, and appropriately overwrites the results. Done.
W.C. was extremely good at using less unnecessary technology in this way. I really envy that, and it’s an ability I want to emulate. (See also: Possibility Rather Than Functionality)