启用覆盖率并选择度量
在分析模型的覆盖率结果之前,您需要启用覆盖率并决定要查看哪些覆盖率度量。
打开模型
打开 slvnvdemo_powerwindow
模型。slvnvdemo_powerwindow
包含一个电动车窗控制器和一个低阶被控对象模型。该控制器是通过一个 Stateflow® 图来实现的。
选择您的覆盖率度量
在 App 选项卡上,点击覆盖率分析器。然后,在覆盖率选项卡上,点击设置以打开“配置参数”窗口。在左窗格中,点击覆盖率。选择启用覆盖率分析。默认情况下,覆盖率分析的范围设置为整个系统。如果要收集特定引用模型或子系统的覆盖率数据,请选择所需的覆盖率范围,然后点击选择模型或选择子系统。对于此示例,请选择整个系统。
结构覆盖率等级参数有四种设置:
模块执行
在仿真期间是否执行了每个模块。
决策
分析模型中的决策点。决策是模型中的一个位置,在该位置处由一个或多个输入信号决定模块的输出信号。选择决策覆盖率还会收集模块执行覆盖率。
条件决策
分析输出其输入的逻辑组合的模块。条件是不包含布尔运算符的布尔表达式。选择条件决策覆盖率还会收集模块执行覆盖率。
修正条件决策覆盖率 (MCDC)
MCDC 属于条件决策覆盖率,要求每个条件必须独立影响决策结果。选择修正条件决策覆盖率 (MCDC) 还会收集条件决策和模块执行覆盖率。
对于此示例,请将结构覆盖率等级设置为修正条件决策覆盖率 (MCDC)。
有关覆盖率度量(包括高级度量)的完整列表,请参阅模型覆盖的类型。
命令行信息
您还可以通过编程方式执行此示例中的步骤。将 sim
与 Simulink.SimulationInput
对象结合使用以设置仿真的覆盖率模型参数。
openExample('slcoverage/GetStartedWithSimulinkCoverageExample') modelName = 'slvnvdemo_powerwindow'; open_system(modelName) simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovScope','EntireSystem'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData');