How it is designed (Architectural Guide) - iks-gmbh-tools/SysNat GitHub Wiki

Back to Home


SysNat is a stand alone application depending on Java, JUnit and Maven and executes in two phases with two steps in each phase:

1.1 SysNat reads its configuration (optionally modificable using the SettingsConfigDialogue).

1.2 SysNat generates Java code (JUnit classes) for the test execution.

2.1 SysNat calls Maven to compile the Java code and to execute it via JUnit.

2.2 The data collected during test execution is written into the test report which is finally launched.

SysNat is based on the concept Executable Example (XX). An XX is a description of functionality in the test application in natural language which becomes executable by SysNat. To make this work, the following four components must play together:


The input required by SysNat and the output created by SysNat is shown by the following context diagram:

Internally SysNat is divided into the following eight modules represented each by a maven module:

The SysNat sources contain nine Maven modules because there is also a parent module that contains the eight modules shown above.

For a closer look into the architecture follow the following links:

Module sysnat.natural.language.executable.examples

Module sysnat.testcase.generation

Module sysnat.test.runtime.environment

Module sysnat.quality.assurance

Module sysnat.test.execution


Main goal during development was (and still is) a maintainable code base. This can be achieved by applying Clean Code principles, such as building modular software and using automated tests .


Back to Home