Fit Specification

 

Fit is a tool for improving communication between customers, programmers, and testers.  It allows the customer to describe his requirements in a way that can be checked against the actual program.

 

The technique Fit uses is called "specification by example."  It allows customers to create a document with tables that describe specific examples of how the software should work.  Fit looks at the document and checks to see if the software works the way the tables say it should.

 

Fit uses small programs, called "fixtures," to connect tables to software.  Programmers on the development team are responsible for creating those fixtures.  Customers are responsible for creating the tables.  Testers work with both groups of people to help make sure that all situations are adequately covered.  The three groups work together, interactively, to create great software.

 

This document, and the documents it references, describes Fit using specification by example.  It is, itself, an example of how to use Fit.  If all the “pass” cells in the table below are colored green, then you can be confident that your copy of Fit meets this specification.

 

This is a “straw man” draft.  It proposes some things that the official version of Fit doesn’t support.  Those proposals are highlighted in yellow, like this paragraph.  All aspects of the specification are open for modification; the highlighted proposals most of all.

                                                                                                                                       

 

Fit knows how to do these things:

 

fat.ReferenceFixture

 

 

Description

Location

Result()

Parse and output HTML documents

parse.html

pass

Interpret tables using fixtures    

fixtures.html

 

fail: 50 right, 31 wrong, 0 exceptions

Provide a command-line interface

cli.html

 

file not found: C:\projects\fit\spec\cli.html

 

Click the links for details about how Fit does each of these things. 

 

Fit is available for many programming languages.  The sections above apply to all implementations of Fit.  Extensions specific to this implementation of Fit are described here:

 

fat.ReferenceFixture

 

 

Description

Location

Result()

Implementation-specific extensions

extensions.html

pass

 

 

 

fit.Summary

counts 2 right, 0 wrong, 0 ignored, 0 exceptions
input file C:\projects\fit\imp\java\..\..\spec\index.html
input update Tue Jul 20 14:54:58 PDT 2004
output file C:\projects\fit\imp\java\output\spec\index.html
run date Tue Aug 31 16:56:41 PDT 2004
run elapsed time 0:00.71