Software testing environments are applications that assist testers in executing tests and collecting results against some other application under test.
The AGEDIS Test Execution Engine is an infrastructure to support automated testing of distributed software running on different platforms and coded in different programming languages. It provides solutions for testing distributed software running on Windows or Linux, and coded in Java, C, or C++.
Tests are described in the Abstract Test Suite Language, a special XML profile. The Abstract Test Suite is a set of test instructions to be executed against the application. The set contains the test cases, a sequence of stimulations and observations of the system under test in an abstract formulation. Thus, it is independent of the specific test execution engine used.
The result of the test execution is recorded in a set of files, the Suite Event Trace (SET), which can be viewed in the Test Suite Browser.
The test execution engine supports a graphical user interface and a command line interface.
In addition to the ATS, information has to be provided on how to execute the ATS on the system under test. This information is contained in the Test Execution Directives (TED). The data within the TED are organized in XML format. They include, but are not limited to, the following:
- Description of the system under test (i.e., host machines, processes, objects, and classes).
- Information on distribution, synchronization, and multiplication (i.e., how many clones of processes are running and where they are running).
- Action to perform before starting (or after ending) the test suite and each test case.
- Mappings of ATS objects, controls, observable responses, and constants to their counterparts on the system under test.
The AGEDIS execution engine bridges the gap between the Abstract Test Suite and the system under test using the information of the TED by mapping the abstract stimuli to actual points of control (i.e., method invocations and signal injections), and the abstract observations to actual points of observation, such as object states or interface outputs.
The engine has 3 main components:
- Test Suite Driver The Test Suite Driver is the brain of the system. It controls all other components. The Test Suite Driver executes the AGEDIS Abstract Test Suite (ATS) on the System Under Test (SUT) by consulting the Test Execution Directives (TED). It writes the results of the execution to the AGEDIS Suite Event Trace (SET).
- Host Manager The Host Manager is the representative of the Test Suite Driver on each host machine in the execution environment. Host Manager also provides a real time view of the host and the status of each Process Controller running on the host.
- Process Manager The Process Manager maintains SUT Objects.