XP teams represent detailed requirements as automated customer tests. Automating the tests insures they are detailed,
unambiguous, and executable. Typically, each acceptance criteria is translated into at least one automated test.
There are lots of ways to do this:
For a batch program reading inputs and producing outputs: create test input files, capture actual output, and
compare it against expected output.
Write functional tests as programs. You can use a unit testing framework as a base or create a little scripting
language the programmers can use.
Allow the customer to easily specify tests (spreadsheets, flat text files) and create a small tool to read the
input and expected output. The tool runs the input against the system and checks that the actual output matches the
Build an input recorder to allow customers to define the tests.
Use simple file-based tools to check the results.
It is important to build the automation simply and incrementally as you need it. It is too easy to lose control and
invest too much time in test automation instead of business value. Don't overdo it.