Technology

Since Conformiq’s Automatic Test Design™ technology development started in 2003, we have been constantly pushing the technology forward to make model-based testing applicable to an ever growing set of industrial-scale software test design problems. This section provides some highlights of how Conformiq Automatic Test Design has been implemented.

Eclipse®

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.

Cross-Platform

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.

Distributed Computing

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.

Symbolic Execution

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.

Combinatorial Optimization

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.

Model Import

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.

Multi-Core Support

Our tool automatically uses all the available cores on the local node in order to speed up the test generation process.

Plug-In Architecture

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.

Multi-Component Modeling

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.

Testing

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.

Continue exploring
Products Case studies Demo