背靠背 (MIL/SIL) 等效性测试原子子系统
此示例显示如何为原子子系统创建和运行背靠背测试(也称为等效性测试)。

为模型生成代码
打开模型,配置运行 Simulink 的系统,并为整个模型生成代码。
model = 'sltestMILSILEquivalence'; open_system(model); % Configure for code generation if ismac lProdHWDeviceType = 'Intel->x86-64 (Mac OS X)'; elseif isunix lProdHWDeviceType = 'Intel->x86-64 (Linux 64)'; else lProdHWDeviceType = 'Intel->x86-64 (Windows64)'; end set_param(model, 'ProdHWDeviceType', lProdHWDeviceType); slbuild(model);
### Starting build procedure for: sltestMILSILEquivalence ### Successful completion of build procedure for: sltestMILSILEquivalence Build Summary Top model targets: Model Build Reason Status Build Duration ========================================================================================================================== sltestMILSILEquivalence Information cache folder or artifacts were missing. Code generated and compiled. 0h 0m 21.598s 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 25.414s
使用测试管理器和测试模型组件向导创建背靠背测试
1.打开测试管理器。
sltest.testmanager.view;
2.点击新建 > 测试模型组件。

3.点击使用当前模型图标
,将 sltestMILSILEquivalence 模型添加到顶级模型字段。选择 Controller 并点击加号。然后点击下一步。

4.选择使用来自顶层模型的组件输入作为测试输入。然后点击下一步。

5.选择执行背靠背测试。检查 Simulation1 是否设置为 Normal 以及 Simulation2 是否设置为 Software-in-the-Loop (SIL)。然后点击下一步。

6.保留保存测试数据和生成的测试的默认值:
选择测试框架输入源:
Inports,指定文件格式:
MAT指定保存测试数据的位置:sltest_sltestMILSILEquivalence
测试文件位置:sltest_
sltestMILSILEquivalence_tests
然后,点击完成。为模型组件创建测试会生成背靠背(等效性)测试,然后返回到测试管理器。

7.在测试管理器测试浏览器窗格中,选择测试文件 sltest_sltestMILSILEquivalence_tests。通过展开覆盖率设置部分来启用覆盖率收集。在要收集的覆盖率下,选择记录在测系统的覆盖率。在覆盖率度量下,选择决策和 MCDC。覆盖率评估测试的完整性。

8.选择 sltestMILSILEquivalence_Harness1 测试用例。展开仿真 1 和仿真 2 部分及其在测系统和仿真设置和发布覆盖子部分以查看设置。


运行测试并查看结果
1.点击测试管理器工具栏中的运行。
2.测试运行完成后,在结果和工件窗格中,选择结果并查看聚合覆盖率结果部分。普通仿真和 SIL 仿真的覆盖率均为 100%,这表明对于所选模型覆盖率度量的测试已完成。

3.展开结果层次结构并选择 Out1:1 下的 Equivalence Criteria Result。普通仿真和 SIL 仿真之间的差异为零,这表明两种仿真产生相同的结果。

关闭模型并清除并关闭测试管理器
close_system(model,0) sltest.testmanager.clear sltest.testmanager.clearResults sltest.testmanager.close