High-level Automated System Test Environment Overview

Haste represents an approach to system testing that is philosophically consistent with standard XP unit testing practices. Test code runs in the same address space as the application under test, allowing for ready examination of application state. The fundamental Haste abstractions of Story, Step, and StoryBook provide a framework to implement system tests. Utility classes simplify test development. In addition to acting as XP acceptance tests, Haste tests aid source maintenance and extension, and can play an important role in a release process.

Note: We are no longer supporting this system testing environment. These pages are left here for reference and education. Our current thinking is represented in an advanced system testing package we call Systir – System Testing in Ruby.

Not using Java?

Haste provides a valuable metaphor shift that is one step beyond but complementary to unit testing. It is, however, still most valuable in a Java context where white-box code access is needed to drive the software and make assertions.

If your application can be driven externally, via a command-line, SOAP, graphical or web interface, you may be better served by Systir, an even more flexible environment that lets you define system test cases using your own particular domain-level test language.

Paper – “Make Haste, not Waste: Automated System Testing”

Jump to our Papers page to read the abstract or open the PDF here.


Example Download & Installation

Distrubutions and anonymous cvs access can be gained through our sourceforge project page. You’ll also need ant installed. (Please see note at top of page.)

Included in the Haste distribution is an example application with a set of Haste system tests. The application is JBooks, a simple Java accounting application. For reference, only the source for Haste itself is included. To do development on Haste you need to check out the CVS repository from SourceForge.

Running the example system tests:

  1. Inflate the zip/tgz
    unzip atomic-haste-1.0.0.zip
  2. Establish your environment
    export HASTE_HOME= the inflated directory
    cd $HASTE_HOME/example
    source jbooks_env
  3. Compile and run the system tests
    ant systest


Getting Started with Haste
Advanced Usage of Haste

External Resources


Copyright © Atomic Object LLC. — +1 616 776 6020 — Contact Us