Reactis Tester automatically generates test suites from
Simulink®/Stateflow® models of embedded control software. The test
suites provide comprehensive coverage of different test-quality criteria,
while at the same time minimizing redundancy in tests.
Yes, for details on how to do this please see Chapter The Reactis Info File Editor of the Reactis User's Guide. In brief, do the following:
Yes. In brief, do the following:
Whenever you add/remove top-level inports to/from your model, or change the type of a top-level inport, you should:
Whenever you add/remove top-level inports or outputs to/from your model, you can convert old test suites to the new input/output signature as follows:
Yes, Reactis uses a facility called configuration variables to do this. The idea is that you may tag a workspace data item as a configuration variable, and specify the different values it may assume. When generating tests, Reactis will change the values of configuration variables only between tests (not during a test). To tag a workspace data item as a configuration variable, do the following:
The probable explanation is that your model was modified after the tests were generated, but before they were run. In this case, input values from the test might yield different responses from the model. To update a test suite, so that the new model responses are recorded in the tests, load the model and test suite in Simulator and then select Test Suite, Update Outputs...
Another possible explanation for the differences is that the model
contains an S-function that maintains its own state from one call to
the next. (For example, the S-function might modify global or
statically allocated variables.) During the test-generation process
Reactis repeatedly restarts simulations from intermediate model
configurations. In order to restore configurations for S-functions
appropriately, Reactis must be able to extract any persistent state
information the function might have. Reactis can do this if the S-
function adheres to the constraints described in
Chapter Preparing Models for Use with Reactis of the Reactis User's Guide and only uses storage allocated by
mdlInitializeSizes() to store information between calls to
the S-function.
The reason for this is that the test generation algorithm employed by
Tester includes a pseudo-random component -- during guided simulation,
some inputs are selected using a random number
generator. Therefore, different test steps result when different
random numbers are generated.
Yes, you can do this by specifying that the random number generator use the same seed for different runs. For a model foo.mdl, this is done as follows:
Created by: rtest cruise -i cruise.rsi -r 5;100 -t 2000;10;1000;40;100;2.0 -g 1=y;2=y;3=y;4=y;5=y;6=y;7=y -o cruise.rst -s 3670373.596The -s flag gives the random number generator seed (3670373.596 in the above example).
Reactis can also automatically save all relevant Tester parameters (including
the random seed) to a file when generating a test suite. To enable this feature,
select "File -> Settings -> General" in Reactis and make sure the "When creating a
test suite, also create a parameters file (extension '.rtp')" option is enabled.
To use the .rtp files generated by this feature, click the "Load" button in the
Tester launch dialog and select the .rtp created by an earlier Tester run.
This is due to a couple of factors. First, Tester employs a random
number generator to select some inputs. Also, Tester includes a
"pruning" phase during which test steps that do not improve coverage
are eliminated. So even though two different test suites may achieve
the same level of coverage, they could be quite different.