为模型生成覆盖率结果
您可以使用 Simulink® Coverage™ 确定模型在仿真过程中的执行覆盖范围,并找出测试中的覆盖缺口。有多种方法可以生成模型的覆盖率结果:
使用运行按钮对模型进行仿真。
使用多个仿真窗格和全部运行按钮多次运行您的模型。
使用 Simulink Test™ 中的测试管理器创建一个测试套件。
以编程方式创建并运行测试用例。
分析模型的覆盖率时,Simulink Coverage 会将结果保存在一个 CVT 文件中。您可以通过分别设置自动保存数据文件名和输出目录参数来指定 CVT 文件的名称和位置。对于名为 myModel.slx 的模型,默认名称和位置为 slcov_output/myModel/myModel_cvdata.cvt(相对于当前工作目录)。
在 Simulink 中以交互方式运行单一仿真
如果您在“配置参数”对话框中选中启用覆盖率分析参数,然后使用运行(覆盖率) 按钮对模型进行仿真,Simulink Coverage 将打开覆盖率详细信息窗格,其中包含覆盖率报告,突出显示了模型中的每个模块或图,并指示每个对象在覆盖率分析中的执行情况。当您想要突出显示模型中的模块,或希望为未满足的覆盖率目标创建覆盖率过滤器时,请使用运行(覆盖率) 按钮。有关详细信息,请参阅模型覆盖率工具的基本操作和在 Simulink Canvas 中查看覆盖率结果。
在 Simulink 中使用多个仿真窗格运行多个同时进行的仿真
您可以使用多个仿真窗格收集两个或更多仿真的覆盖率。在 Simulink 中,在仿真选项卡上的准备下,点击多个仿真。在此窗格中,您可以创建设计研究,添加仿真场景,然后依次运行所有场景。如果您有 Parallel Computing Toolbox™,则各个仿真将并行运行。有关详细信息,请参阅使用设计研究收集多个仿真的覆盖率。
使用 Simulink Test 中的测试管理器运行测试
如果您有 Simulink Test 许可证,则可以使用测试管理器来创建和运行测试场景。在您的测试文件中,在覆盖率设置下选择记录在测系统的覆盖率。然后,选择您要分析的覆盖率度量。当您通过此方式收集覆盖率时,测试管理器将在聚合覆盖率结果部分中显示您的测试的覆盖率摘要。如果您点击覆盖率摘要中的模型名称,则系统将依据相应的覆盖率结果,在模型界面上进行突出显示。
当您需要进行基于需求的测试(将覆盖率结果限定为链接的需求),或执行背靠背测试(分析模型与生成的代码之间的一致性)时,请使用测试管理器。有关详细信息,请参阅使用 Simulink Test 中的测试管理器分析模型覆盖率和评估基于需求的测试的覆盖率结果。
以编程方式分析覆盖率
您可以使用 Simulink Coverage 或测试管理器 API 来分析覆盖率。您所使用的 API 取决于您拥有的产品许可证或当前正在使用的工具。例如,如果您已在使用 Simulink Test 中的测试管理器,则可以考虑使用测试管理器 API 来实现测试自动化。
您可以在创建覆盖率结果后,或通过 cvload 函数加载覆盖率结果后,使用 cvmodelview 函数查看模型的突出显示。
使用 Simulink Coverage API
您可以使用 sim 或 parsim 以编程方式收集覆盖率数据。使用 Simulink.SimulationInput 对象。有关详细信息,请参阅使用脚本收集覆盖率数据和对覆盖率数据执行操作。
使用测试管理器 API
Simulink Test 中的测试管理器同样提供了可用于实现测试自动化的 API。您可以启用覆盖率,将覆盖率结果限定为链接的需求,运行测试并创建报告。有关详细信息,请参阅使用脚本创建并运行测试用例 (Simulink Test)和运行测试用例并收集覆盖率 (Simulink Test)。
另请参阅
sim | parsim | cvdata | cvmodelview | cvload