In both Conformiq Designer and Conformiq Creator, the user interface is built on top of Eclipse, the leading integrated development environment and development tools consolidation platform from the Eclipse Foundation.
Since its inception, Conformiq technology has been available on both Windows and Linux platforms. The test generation algorithm is implemented in C++ and compiled with the native C++ compilers on any of these platforms.
Large test generation problems are computationally complex and can take a long to process on a single PC. Conformiq’s unique distributed architecture for the mathematics of test generation allows users to split test generation tasks on multiple PC nodes, for example, in a private or public cloud environment.
Test generation in Conformiq products is based on a symbolic state space exploration algorithm that has been custom-crafted for test case generation. It is the only known solution for robustly generating both test inputs and outputs from a single system model without any user intervention.
As part of the test generation process, Conformiq products run a combinatorial optimizer that minimizes the size of a test set, as well as the number of test steps necessary for individual requirements under test.
Conformiq Designer imports models from various UML design tools by using a combination of XMI and EMF encodings— a graph-rewriting process— and a compiler for the action language that is tested with standard Java compiler test cases. Conformiq Creator imports BPMN models, simple flow charts, or WSDL/XSD files, all of which can be used to jump-start modeling.
Deterministic Test Generation
The Conformiq test generation algorithm is guaranteed to be deterministic, meaning that multiple test generation can run on the same model result in the same test case set. This might sound trivial, but in the context of a highly distributed test generation algorithm like the one we use, this is very important.
Our tool automatically uses all the available cores on the local node in order to speed up the test generation process.
Conformiq Designer provides a plug-in architecture with a fully documented API so that users and third parties can create completely customized test output formats without any involvement from Conformiq.
Incremental Test Generation
Our test generation tool maintains an internal database of test cases. By reusing previously generated test cases when possible, it generates new test cases only when they are needed. This keeps test sets as stable as possible and makes keeping track of test execution results easier.
We allow models that have multiple asynchronous components and for communications between those components within the model. The predicted internal communications can be reviewed in our tool also can be verified during test execution.
Every night, as part of the software development process, the test generation algorithm is benchmarked against a database of real-world models to both verify its functional correctness as well as to continuously optimize it.