Test your System against Requirements

Generate test vectors and test oracles automatically

Import the System Under Test

The code of  the System Under Test can be easily imported as an FMI component, either fully generated by a code generation tool (Simulink, Scade, ControlBuild, etc) or partially generated by STIMULUS to embed your C code. At integration time, you can also import a CSV log file to perform a post analysis of the real system.

Build Test Cases

Several use cases can be defined to test the system, and STIMULUS will generate numerous test vectors automatically for each use case in order to maximise the functional coverage of your test campaign. Requirements can be easily reused as test observers that will detect and report any violation of the specification.

Run Test Campaigns

A test campaign automates the execution of the numerous test vectors generated from the use cases, and STIMULUS will report comprehensive metrics about requirement violations and coverage. Each failed test can be rerun in the simulation environment where requirement violations can be analysed.

Requirement-In-The-Loop Validation

Once the code has been developed, STIMULUS can check its compliance with system requirements automatically. Using block diagrams, you can build a test environment where requirements are turned into test observers, and the System Under Test is imported as a DLL using the standard FMI protocol. You can then generate and run numerous test vectors and STIMULUS will check that the behavior of the System Under Test complies with its specification automatically. During a test campaign, STIMULUS also computes and reports comprehensive metrics about the functional coverage of requirements.

STIMULUS in action

The figure below shows a STIMULUS screenshot where a test campaign has been run. The upper-right window gives a quick overview of passed and failed tests, while the bottom window give precise metrics about failed tests and enables the user to rerun failed tests in the standard simulation environment.