| Several
projects at Carmen have been developing software using the Extreme
Programming methodology. We have found it to be an invaluable aid
in our day-to-day work. It involves, among other things, a focus on automated
testing, continuous integration and release, and all new code being written
in pairs to ensure high quality.
Our own automated testing is entirely at the level of functional testing,
rather than the unit testing which is usually at the core of XP. To aid
with this, we have developed our own application-independent framework,
"TextTest", which is free and available to Download.
TextTest is usable as is, but is intended
as a framework that users plug their own tools, custom comparators, reports
etc. into. It is composed of a core framework for handling the text files
constituting a test suite, and various extendable configurations.
As is, it will allow the user to define various
runs of particular binaries using commandline options and standard-input
redirects, along with standard results for those runs. These are then
the testcases. It then provides means to subselect these testcases, and
compare the files produced (by default using line-based comparators such
as UNIX diff), to ensure that behaviour changes in the target binary can
be controlled. Its default mode of operation is interactive: it will demand
action on discovering unexpected differences in behaviour.
It is currently supported on UNIX and Windows.
The UNIX version has more features: it uses tkdiff and diff for its file
comparators and includes an email-generating batch mode for night jobs.
A configuration for the load balancing software
LSF, available from Platform Computing, is also available. This will enable
the tests to be run in parallel over a network, which has been invaluable
for ensuring fast run-times for testing Carmen's optimizers.
|