分析覆盖率并查看结果
启用覆盖率并选择所需的度量后,您必须对模型进行仿真以收集覆盖率结果。
首先,通过点击分析覆盖率按钮对模型进行仿真。仿真完成后,Simulink® Coverage™ 会根据覆盖率完整性突出显示模型对象。
覆盖率详细信息窗格会自动打开并显示覆盖率报告。该报告将在详细信息部分自动打开,其中列出模型对象的覆盖率结果。您可以向上滚动以查看摘要部分和模型信息,也可以向下滚动以浏览各个模块。
window_system
子系统显示为绿色,因为该子系统内的每个模块均获得 100% 的覆盖率。其他子系统显示为红色,因为其中的一个或多个模块没有获得全覆盖率。
指向某个子系统可显示每个相关度量的覆盖率的简短摘要。例如,指向 power_window_control_system
子系统模块。
如果您左键点击某个模块,覆盖率详细信息窗格将显示该模块的报告部分。例如,点击 power_window_control_system
子系统。
您可以进入某个子系统来查看该子系统内容的详细覆盖率结果。双击 power_window_control_system
子系统以查看其包含的模块的覆盖率结果。双击 validate_passenger
,然后双击 check_up
。
点击 And 模块 allow_action
以显示报告的相关部分。
由于 And 模块输出两个输入信号的逻辑组合,因此如果两个输入信号均为 true,则输出信号为 true。从条件表中可以看到,输入信号 1 在每个时间步均为 False
,而输入信号 2 在 878 个时间步为 True
,在 884 个时间步为 False
。
由于有四种条件结果,而其中一种没有出现,因此 allow_action
模块获得了 75% 的条件覆盖率。
已分析条件表下方是 MC/DC 分析表。
MCDC 分析表列出了由于一种条件结果从 true
变为 false
或从 false
变为 true
而发生的决策逆转。此表报告在第一个条件的仿真期间只出现了 FF
情形,第二个条件没有出现 MCDC 目标,这导致报告的 MCDC 为 0%。
命令行信息
要从命令行执行相同的步骤,请输入以下命令:
simOut = sim(simIn); covData = simOut.covData; cvmodelview(covData);