In the Test Manager, you can reuse test cases for real-time testing by converting desktop test cases to real-time test cases. For convenience, data can be stored externally so that each test case accesses common inputs and baseline data. The overall workflow is as follows:
Create a baseline, equivalence, or simulation test case with external inputs. For baseline tests, add baseline data from external files.
In the Test Manager, select the test case in the Test Browser.
Copy the test case. Right-click the test case and select Copy.
Paste the new test case into a test suite.
Rename the new test case.
Right-click the new test case, and select Convert to > Real-Time Test. For equivalence tests, select which simulation (simulation 1 or simulation 2) should be run in real time.
Select the Target Computer and Load Application From options.
Ensure that the model settings are compatible with real-time test execution. For more information, see Development Computer Setup and Configuration (Simulink Real-Time).
You can simplify test input data management by defining the input data in an external MAT or Excel® file. Map the data to root inports in your model or test harness for desktop simulation. When you convert the desktop simulation test case into a real-time test, the test case uses the same inport mapping.
Options for using external data in real-time tests depend on how your test case loads the application:
If you are using external data for a real-time test, you should load the test case from the model before running it from the target application or the target computer. Loading the real-time application from a model gives you the most external file options for test inputs. The external data is built into the application, and you can re-run the applicaton from the target application or target computer.
In the System Under Test section, set the application to load
Model. In the Inputs section of
the test case, click Add, and select an Excel file, MAT file, or CSV file. Map the data to your model inports. For
more information on input mapping, see Use External Inputs in Test Cases.
After running the test from the model, you can avoid recompiling the model by running the test from the target application or target computer. The application uses the input mapping built when the test ran from the model.
You can map external data to a test case loaded from the target application or
target computer, without first running from the model. The external data must be in
a MAT file, in the same format used if the test is loaded from the model. In the
System Under Test section, select to load the application
Target Application or
Computer. In the Inpus section, click
Add and select a MAT file. The Input string is not
This example shows a basic desktop test case reuse workflow using external input data defined in an Excel file. You run the baseline test case on the desktop, update the baseline data, convert a copy of the test case to a real-time test, then run the test case on a target computer. This example runs only on Windows® systems.
Open the test file.
tf = sltest.testmanager.TestFile(fullfile(matlabroot,'examples',... 'simulinktest','sltestTestCaseRealTimeReuseExample.mldatx')); sltest.testmanager.load(tf.Name); sltest.testmanager.view;
The test file runs a transmission shift controller algorithm through four
iterations, each corresponding to a different test scenario: passing, gradual
acceleration, hard braking, and coasting. There is baseline data associated with
each scenario for the signals
vehicle speed and
Run the baseline test.
Under the Baseline Criteria result, select
Passing result to view the comparison. The
Passing result fails due to transient signals that fall
outside the relative tolerance.
Assume these transient signals are not significant, and update the baseline data:
Click Next Failure. The first failure region is bounded by data cursors.
Click Update Baseline + Update selected signal region, and confirm you want to overwrite the data.
Repeat this process for the other two failure regions.
Copy and convert the baseline test case to a real time test:
In the Test Browser, right-click Baseline Test and select Copy.
Paste the new test case under the test suite.
Rename the new tests case
RT Baseline Test.
RT Baseline Test and select Convert to > Real-Time Test.
Run the real time test case:
Set the Target Computer.
Set the system under test to load from
RT Baseline Test test case.
In this example, several of the scenarios fail due to timing impacts on the
data output. For example, in the
HardBrake iteration, the
vehicle speed output falls outside the relative tolerance
after the brake is applied. To resolve this failure, you could:
Increase the relative tolerance for the real-time test.
Create a separate set of baseline data for the real-time test.