主要内容

收集测试覆盖率

覆盖率指的是通过分析已经执行了多少模型来确定模型和生成代码的测试完整性。方法收集保险范围动态仿真模块®测试™测试经理或sltest.testmanager.CoverageSettings,你一定有仿真软件覆盖™安装。尽管您可以使用仅设置和运行测试用例仿真软件覆盖, Simulink Test提供了额外的测试创建和测试管理功能。对于启用覆盖率收集的测试,测试管理器在结果中包含您选择收集的每个度量的覆盖率。如果你有要求工具箱™安装后,您还可以使用测试管理器来验证覆盖结果被跟踪到特定的需求。

请注意

模型参考块、原子子系统块和为SIL或PIL配置的顶级模型都支持覆盖。不支持从子系统创建的环中软件(SIL)或环中处理器(PIL)的覆盖率。

有关在测试套件中收集覆盖率时注意事项的信息,请参见中的“测试套件注意事项”测试线束和模型关系

使用测试管理器设置覆盖率收集

在测试管理器中,您可以启用覆盖率并在测试文件级别选择覆盖率度量。测试套件和测试用例从测试文件继承覆盖率设置。然而,您可以关闭单个测试套件和测试用例的覆盖收集。

请注意

测试管理器继承测试用例中使用的模型的配置参数中的所有覆盖设置。当测试用例运行时,您在测试管理器中指定的覆盖率设置将覆盖配置参数设置。

要设置测试管理器以包括覆盖集合:

  1. 创建一个测试文件,并为您的模型设置一个测试用例。

  2. 选择测试文件并展开覆盖范围设置部分。下覆盖率收集中,选择记录被测系统的覆盖范围控件指定的模型的覆盖率集合被测系统在每个测试用例中。选择记录引用模型的覆盖率收集被测试的指定系统中引用的模型的覆盖范围。所选的覆盖设置从测试文件传播到测试文件中的测试套件和测试用例。

    覆盖设置,选中被测系统的记录覆盖

  3. 单击,可以添加或删除现有的覆盖筛选器文件添加删除,分别在覆盖率过滤器部分,并选择过滤器文件。可以同时应用多个筛选器文件。

  4. 选择要收集的覆盖率度量。有关度量的信息,请参见模型覆盖的类型(仿真软件覆盖)而且对接收覆盖率的对象建模(仿真软件覆盖)

  5. 运行测试。在测试文件中收集测试套件和测试用例的覆盖率。

要从收集覆盖数据中删除单个测试套件或测试用例,请选择测试套件或测试用例,并更改其覆盖设置。

在测试管理器中查看覆盖率结果

查看聚合覆盖率结果和度量

在您获得保险后,使用结果和工件窗格中查看结果。覆盖结果在结果集中报告。选择一个结果项,并展开聚合覆盖率结果部分。覆盖率百分比显示为每个指标,颜色总结覆盖率结果。

  • 深蓝色-满意的覆盖率

  • 红色-不满意的覆盖率

  • 浅蓝色-合理覆盖

测试管理器中结果集的汇总和聚合覆盖率结果。

要将来自不同测试文件的结果聚合到单个结果集中,请在结果和工件列表。然后,从上下文菜单中选择合并覆盖率结果.包含组合覆盖率结果的结果集出现在列表中。

为基于需求的测试确定范围

对于基于需求的设计和测试,例如遵从DO-178B,启用范围覆盖的结果是关联的需求检查您的模型设计是否正在执行需求,以及测试是否正在验证这些需求。这两个仿真软件覆盖而且需求的工具箱许可证是必需的。此选项仅在结果集包含多个模拟时可用,例如多个测试用例或迭代。

范围覆盖的结果是关联的需求复选框,则覆盖结果仅包括直接链接到需求并已显式测试的测试。聚合的结果自动更新,无需重新模拟模型。如果您的测试涉及模型组件,但没有直接链接到需求,那么当您启用作用域时,您的聚合覆盖率结果百分比可能会下降。要获得对需求的100%覆盖,您可能需要更新您的测试,添加需求链接,或从覆盖中证明或排除一些项目。

跟踪覆盖结果到模型

要从测试管理器中的测试覆盖结果导航到模型,单击聚合覆盖率结果表中的模型名称。

模型打开,它的Coverage Report在模型窗口的Coverage Details窗格中打开。在这个示例模型中,模型元素是红色的,因为它们的覆盖率低于100%。

带有突出显示的模型元素的覆盖率报告。

指向一个模型元素,查看其度量和块执行的摘要。

悬停弹出显示决策在50%和执行在100%覆盖

中,单击模型元素滚动到它的详细覆盖率结果信息报道的细节窗格。

带有模型元素突出显示的覆盖细节

创建覆盖率报告

为模型创建覆盖率的报告,单击报告列的聚合覆盖率结果表格

为遗漏的覆盖率添加测试

如果你有仿真软件设计校验™许可证,您可以生成额外的测试用例来增加模型的覆盖率。

在测试管理器中,

  1. 在测试管理器中,选择结果和工件窗格。

  2. 选择结果您希望获得更多保险的项目。

  3. 在右边窗格中,在聚合覆盖率结果部分,选择表中覆盖不完全的行。

  4. 在底部聚合覆盖率结果部分中,点击为遗漏的覆盖率添加测试

  5. 在“为缺失覆盖率添加测试”对话框中,

    • 利用—选择是否使用现有的挽具或创建新的挽具

    • -选择线束的输入源。如果您使用现有的挽具,则字段为只读。

    • 测试用例—选择是使用已有的测试用例,还是创建新的测试用例。如果您创建了一个新的工具,惟一的选择就是使用一个新的测试用例。

    • 测试类型—选择用于新测试用例的测试类型。如果您选择创建一个新的工具或一个新的测试用例,此字段将显示出来。

    • 测试文件—选择是否使用已有的测试文件或创建新的测试文件。如果您选择创建一个新的工具或一个新的测试用例,此字段将显示出来。

    • 位置—如果选择新建测试文件,需要指定测试文件的路径和文件名。

  6. 点击好吧生成添加缺失覆盖的测试用例。

  7. 如果您创建了一个新的测试用例或新的工具,则在测试浏览器窗格中,将测试用例拖放到包含原始测试用例的测试套件中。

  8. 重新运行测试套件。

有关如何在测试管理器中增加测试覆盖率的完整示例,请参见增加模型的测试覆盖率

或者,您可以创建和使用测试以编程方式通过使用sltest.testmanager.addTestsForMissingCoverage而且sltest.testmanager.TestOptions

使用测试管理器的覆盖率过滤

覆盖筛选规则指定一个或多个模型对象或生成的代码行,以从覆盖集合中排除,或者您希望为其证明覆盖结果。一组覆盖筛选规则包含在筛选文件中,它可以应用到被测试的模型或代码。您可以将多个筛选器文件应用到一个测试中,并且为不同的模型重用筛选器文件。当应用新的或更新的筛选器时,显示为结果集的聚合覆盖率结果将自动更新。您不必重新模拟您的模型。有关更多信息,请参见覆盖过滤(仿真软件覆盖)

若要查看过滤后的覆盖率结果,请选择一个结果集(即a结果项)结果和工件窗格。

在测试管理器中,您可以:

  • 添加或删除现有的覆盖筛选器文件-在测试浏览器窗格中,选择测试文件并展开覆盖范围设置部分。点击添加删除在底部覆盖过滤器应用覆盖过滤器表,并分别选择要添加或删除的覆盖筛选器文件。可以对覆盖结果应用多个覆盖筛选器文件。

  • 编辑或创建筛选器文件,定义筛选器规则,并确定或排除覆盖范围覆盖率报告或者是报道的细节窗格的一个模型,打开仿真软件覆盖通过单击一个合理的图标筛选编辑器或者一个证明或排除链接。当过滤器编辑器打开时,测试管理器被锁定。当您关闭筛选器编辑器时,测试管理器被启用,结果和应用筛选器列表将随着您的更改而更新。有关使用筛选器编辑器的信息,请参见创建和使用覆盖率过滤器(仿真软件覆盖)而且创建、编辑和查看覆盖率筛选规则(仿真软件覆盖)

  • 将当前应用的覆盖率过滤器附加到测试文件-单击更新测试文件

  • 查看覆盖率结果—选择a结果结果和工件窗格并展开聚合覆盖率结果部分。

有关覆盖过滤器、规则和文件的更多信息,请参见中的覆盖筛选主题分析覆盖率并查看结果(仿真软件覆盖)

另请参阅

||

相关的话题

Baidu
map