生成模型的覆盖率结果
您可以使用 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 进行测试自动化。
您可以在创建覆盖率结果后使用 cvmodelview
函数查看模型突出显示,或者使用 cvload
函数加载覆盖率结果。
使用 Simulink Coverage API
您可以使用 sim
或 parsim
以编程方式收集覆盖率数据。使用 Simulink.SimulationInput
对象。有关更多信息,请参阅使用脚本收集覆盖率数据 和 对覆盖率数据执行操作。
使用测试管理器 API
Simulink Test 中的测试管理器还包含一个可用于自动化测试的 API。您可以启用覆盖率、将覆盖率结果范围限定到链接需求、运行测试并创建报告。有关更多信息,请参阅Create and Run Test Cases with Scripts (Simulink Test) 和 Run a Test Case and Collect Coverage (Simulink Test)。
另请参阅
sim
| parsim
| cvdata
| cvmodelview
| cvload