Main Content

启用覆盖率并选择度量

在分析模型的覆盖率结果之前,您需要启用覆盖率并决定要查看哪些覆盖率度量。

打开模型

打开 slvnvdemo_powerwindow 模型。slvnvdemo_powerwindow 包含一个电动车窗控制器和一个低阶被控对象模型。该控制器是通过一个 Stateflow® 图来实现的。

选择您的覆盖率度量

App 选项卡上,点击覆盖率分析器。然后,在覆盖率选项卡上,点击设置以打开“配置参数”窗口。在左窗格中,点击覆盖率。选择启用覆盖率分析。默认情况下,覆盖率分析的范围设置为整个系统。如果要收集特定引用模型或子系统的覆盖率数据,请选择所需的覆盖率范围,然后点击选择模型选择子系统。对于此示例,请选择整个系统

结构覆盖率等级参数有四种设置:

  • 模块执行

    在仿真期间是否执行了每个模块。

  • 决策

    分析模型中的决策点。决策是模型中的一个位置,在该位置处由一个或多个输入信号决定模块的输出信号。选择决策覆盖率还会收集模块执行覆盖率。

  • 条件决策

    分析输出其输入的逻辑组合的模块。条件是不包含布尔运算符的布尔表达式。选择条件决策覆盖率还会收集模块执行覆盖率。

  • 修正条件决策覆盖率 (MCDC)

    MCDC 属于条件决策覆盖率,要求每个条件必须独立影响决策结果。选择修正条件决策覆盖率 (MCDC) 还会收集条件决策模块执行覆盖率。

对于此示例,请将结构覆盖率等级设置为修正条件决策覆盖率 (MCDC)

有关覆盖率度量(包括高级度量)的完整列表,请参阅模型覆盖的类型

命令行信息

您还可以通过编程方式执行此示例中的步骤。将 simSimulink.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');

相关主题