This is a blog about axiom, an open source integration architecture testing framework.
Axiom (working title) is a framework for testing integration scenarios and
validating expectations about routing/rules and business logic executed in
a variety of systems integration landscapes.
The projects aims are:
- Make testing integration scenarios simple(r)
- Simple to understand
- Simple to configure, deploy and run axiom itself
- Simple to hook up to your existing infrastructure
- Facilitate instrumenting/debugging complex integration architectures (simply)
- Provide a set of (simple) mechanisms for verifying rules/constraints
- Provide immediate feedback in useful formats (surefire reports, rss feeds, email, etc)
Axiom is a “scenario based” testing framework, in that it asks you to encode the various direct/indirect test inputs as a set of scenarios, whilst providing expectations about the inter-system interactions. Finally, it allows you to push your own test data into the test environment in order to kick things off, or alternatively will (eventually) simulate various different load+soak scenarios by injecting configurable, random data sets into the ecosystem.
Test scripts are (currently) written using an internal DSL (Domain Specific Language). I plan to also expose a “Scenario Builder” as a graphical (drag and drop) web UI to make the framework more accessible to test analysts who aren’t so keen on writing code. The tool can run as a stand alone java service, be embedded inside a web container or message broker and/or integrate into an existing build/test infrastructure as a command line tool (for standard build tools such as ‘make’, ‘rake’ and ‘cabal’) or plugin for various java build tools (such as ant and maven).
Perhaps the most interesting thing about Axiom, is that in some ways it merges the white and black box testing approaches. It is certainly an integration/system test framework, in that it does not test individual code modules as unit test tools do. But Axiom is also designed to “spy on your comms” and because of this “wire tapping” which is integral to how it works, there is a sense in which Axiom takes a white box approach to testing.
Axiom is free and open source software, distributed under a BSD-style license.