|
In order to focus on the important, it helps to identify and tune out the unimportant. Reactis V2011.2 helps you do this in your testing by letting you configure how Reactis tracks coverage in order to tune out targets unimportant to your task at hand. For example, if your model includes no Stateflow diagrams, then you can instruct Reactis to include no Stateflow-related targets as goals for test generation, in visual feedback during simulation, or in coverage reports generated for your model. Or if your current model does not require obtaining coverage at the level of Modified Condition/Decision Coverage (MC/DC), then you can turn off MC/DC for a model.
Another new feature of V2011.2 lets you turn off all coverage tracking for any subsystem in your model. This capability comes in handy if your model references a well-tested library that is not a focus of your current test efforts. In this case, you can turn off all coverage tracking within the library subsystem in order to concentrate your attention on the non-library portion of your model.
V2011.2 also contains a new coverage metric that helps you construct test suites that more thoroughly exercise Stateflow diagrams. Child State Exit via Parent Transition (CSEPT) coverage lets you track whether each transition exiting a state with child states, causes each child to exit. For example, consider the Stateflow diagram below. The state On has three child states: Inactive, Active, and Init. CSEPT coverage tracks whether the transition from On to Off has fired when On is in each of its child states. So in this case there are three CSEPT targets. Namely the transition from On to Off fires when:
Several enhancements to the Reactis Test Suite Browser continue with our
theme of helping you focus on the important. Recall that the Test Suite Browser
lets you display each test as a matrix where the rows correspond to the inputs
and outputs of the model and the columns correspond to test steps. You can now
hide both rows and columns to concentrate certain parts of a test. To hide rows
simply select a subset of rows and select Filter -> Hide Selected Rows. A
new Filter entry box in the toolbar lets you search for columns (test
steps) that satisfy a given search condition. For example, to see all test
steps for a cruise control test suite in which the brake is pressed, simply
enter brake == 1 as the test step filter.
Simply load a test suite in Simulator and select Simulate -> Fast Run with
Report to generate an HTML test execution report like the one shown below.
For each test, the report lists any runtime errors or assertion violations that
occurred as well as any differences between values stored in the tests and those
computed by the model.
Several new features improve the experience of stepping through model execution in Reactis Simulator. You can now pause a slow simulation mid-step. Previously, when you pressed pause, Reactis completed the currently executing simulation step, which can take significant time for large models or C code bases. You can also now back up to the start of the current step when Reactis is paused mid-step.
When using the Reactis for C Plugin and executing a model containing C code
in Simulator, you can now step backwards one C statement at a time. If a test
suite uncovers an error, you can execute right up to the error and then back up
one C statement at a time in order to diagnose the problem.
In March of this year, Reactive Systems launched a new product Reactis
for C which supports the test and validation of C code that is not
incorporated into a model. You can generate test cases directly from C code and
in the process detect runtime errors, check assertions, and track coverage. If
you use a model-based design process and C as your implementation language, you
might benefit from synergies available when using Reactis for C (the new
product) in combination with Reactis for Simulink. Use-cases shown below
demonstrate some of the ways the two versions can be used collaboratively.
Note, that both tools support the same test suite file format to facilitate
interoperability.
As shown above, thanks to the common test suite file format, you can generate tests from a model using Reactis for Simulink and run those tests on C code using Reactis for C. This lets you visualize C code coverage and flag any differences in behavior.
The basic steps performed during this process are as follows:
Alternatively, the work flow can proceed from Code to model as shown above.
Best Regards,
The Reactis Team