使用增强型 MCDC 创建背靠背测试
背靠背测试或等效性测试将正常仿真的结果与软件在环(SIL)、处理器在环(PIL) 或硬件在环 (HIL) 仿真生成的代码结果进行比较。您可以在使用增强 MCDC 的 Simulink® Test™ 中生成背靠背测试。
设置测试输入和验证策略
如果您要在 Simulink Test 中测试被测组件或子系统,则可以使用为组件创建测试向导,方法是选择新建 > 为模型组件创建测试 Simulink Test 测试管理器,使用 Design Verifier 生成测试输入场景。有关详细信息,请参阅为模型或组件生成测试和测试框架 (Simulink Test)。
要比较在两种不同仿真模式下运行组件的结果,请在向导的验证策略选项卡上选择执行背靠背测试。对于原子子系统或可重用库子系统的 SIL 测试,包含该子系统的子系统或库必须已经生成代码。查看 Simulink Design Verifier 中的增强 MCDC 覆盖率 以了解详细信息。
如果在执行背靠背测试下为 Simulation2 选择 Software-in-the-Loop
或 Processor-in-the-Loop
,则会出现将模型覆盖率目标设置为增强 MCDC 选项。增强型 MCDC 通过生成避免下游模块封装效应的测试用例来扩展决策覆盖率。
使用增强型 MCDC 进行背靠背测试
此示例向您展示如何使用增强型 MCDC 创建和运行背靠背测试。增强型 MCDC 分析模型中每个目标的可检测性,并为每个目标生成非封装测试用例。有关详细信息,请参阅Simulink Design Verifier 中的增强 MCDC 覆盖率。
Simulink® Test™ 中的背靠背测试将正常仿真的结果与软件在环、处理器在环或硬件在环仿真生成的代码结果进行比较。
第 1 部分:准备模型
1.打开模型:
model = ('sldvSliceCruiseControl');
open_system(model);
2.准备用于代码生成和记录的模型。
set_param(model, 'ProdHWDeviceType', 'Intel->x86-64 (Linux 64)'); set_param(model, 'ProdLongLongMode', 'on'); set_param(model, 'SaveOutput', 'on'); set_param(model, 'SignalLogging', 'on'); set_param(model, 'SaveFormat', 'Dataset');
注意:您还可以选择将模型中的内部信号标记为测试点记录信号(例如,sldvSliceCruiseControl/CruiseControlMode/opMode/Switch
,),以便在增强 MCDC 分析期间这些信号优先作为检测站点。有关详细信息,请参阅 使用测试点记录信号配置检测站点。
3.生成代码。
在 App 选项卡中,点击 Embedded Coder,然后点击生成代码。
Embedded coder® 为模型生成代码生成报告。关闭生成的报告窗口。Simulink Design Verifier 使用来自生成代码的记录信号信息来配置增强 MCDC 的检测站点。如果您不生成代码,Simulink Design Verifier 将使用来自模型的测试点记录信号的信息来配置增强型 MCDC 的检测站点。
第 2 部分:使用增强型 MCDC 创建背靠背测试
按照以下步骤在 Simulink Test 测试管理器中创建背靠背测试:
1.要打开 Simulink Test 选项卡,请在 App 选项卡的模型验证、确认和测试部分中点击 Simulink Test。
2.要打开测试管理器,请在测试选项卡中点击 Simulink Test 管理器。
3.点击新建 > 模型组件测试。打开“创建模型组件测试”向导。
4.要指定要测试的顶层模型,请点击顶层模型字段旁边的使用当前选定的模型组件按钮来填写字段。
5.点击下一步指定如何使用 Simulink Design Verifier 生成测试输入。选择使用 Design Verifier 生成测试输入场景。此选项运行模型并使用 Simulink Design Verifier 创建输入。
6.点击下一步选择测试方法。选择执行背靠背测试。对于 Simulation1,选择 Normal
。对于 Simulation2,选择 Software-in-the-Loop (SIL)
。选择将模型覆盖率目标设置为增强型 MCDC。
7.点击下一步指定输入源、格式以及保存测试数据和生成的测试的位置。对于指定文件格式,选择 MAT。对于指定保存测试数据的位置,使用默认位置名称。
8.点击完成。Simulink Test 创建测试用例并关闭向导。
第 3 部分:运行背靠背测试
要运行背靠背测试,点击 Simulink Test Manager 中的运行。
清理
为了完成示例,请关闭模型。
bdclose(model);
另请参阅
主题
- Simulink Design Verifier 中的增强 MCDC 覆盖率
- 为模型或组件生成测试和测试框架 (Simulink Test)