主要内容

本页采用了机器翻译。点击此处可查看英文原文。

覆盖率过滤

如果您的覆盖率结果包含未满足的覆盖率结果,并且这些未满足的结果是可以接受的,您可以过滤这些结果,以免它们分散您对覆盖率报告重点部分的注意力。您可以在运行仿真之前或之后创建和应用覆盖率过滤器。

何时使用覆盖率过滤

大型模型可能包含故意不实现 100% 覆盖率的设计元素。例如,由于防御性编码实践,您的模型可能包含无效逻辑。模型还可以包含必须记录 100% 覆盖率的设计元素,但实际并未达到 100% 的覆盖率。您可以暂时或永久地从覆盖率记录中过滤掉这些元素,以便专注于您想要测试的元素。

提示

如果您有一个包含失效逻辑的模型,并且您拥有 Simulink® Design Verifier™ 许可证,则可以使用 Simulink Design Verifier 来自动识别和创建失效逻辑的过滤器规则。有关详细信息,请参阅使用 Simulink Design Verifier 为死逻辑生成过滤器规则

覆盖率过滤器规则的类型

您可以创建两种类型的过滤器规则:

  • 排除规则将某些模型元素排除在覆盖率范围报告之外。

  • 理由规则用于证明某些模型要素或覆盖率结果的申述,使其在覆盖率报告中不显示为未满足。

排除项不计入覆盖率报告。当您排除模型元素时,覆盖率报告不会显示这些元素的覆盖率结果。已申述对象会对覆盖率报告产生影响。当您申述覆盖率报告时,会在覆盖率报告的 覆盖率摘要 中以浅蓝色突出显示该结果,并显示缺少覆盖率的理由。覆盖率报告在计算覆盖率百分比时,将这些合理的结果视为已满足。

您可以根据覆盖率报告创建覆盖率过滤器规则。您可以在仿真之前或之后创建覆盖率过滤器规则。您可以将覆盖率过滤器规则保存在覆盖率过滤器文件中。有关如何创建覆盖率过滤器的更多信息,请参阅 创建和使用覆盖率过滤器

在覆盖率报告的详细信息部分中,已申述对象的覆盖率结果显示为:((已覆盖结果数 + 已申述结果数)/可能的决策数)。

Coverage report for the Stateflow state "Clipped" shows 100% decision coverage, 2 decision outcomes satisfied and 2 decision outcomes justified, along with 100% condition coverage, 5 condition outcomes satisfied and 7 condition outcomes justified.

有关过滤模型元素的更多信息,请参阅 创建、编辑和查看覆盖率过滤器规则创建和使用覆盖率过滤器

支持覆盖率过滤的模型元素

您可以为以下内容创建覆盖率过滤器规则:

  • 获得覆盖率的 Simulink 模块,包括 MATLAB Function 模块

  • 子系统及其内容。覆盖率报告不会显示被排除的子系统或其子系统的覆盖率结果。

  • 各个库链接的模块或图

  • 链接到某个库的所有引用模块

  • Stateflow® 图、子图、状态、转移和事件

对于软件在环模式下的模型,您可以排除代码文件,包括通过 S-FunctionC Caller 模块手动集成到模型中的文件。您还可以对代码覆盖率结果申述。有关详细信息,请参阅使用代码窗格查看和过滤代码覆盖率结果

如果您过滤一个 Model 模块,Simulink Coverage™ 只会过滤掉 Model 模块本身的模块执行覆盖率,而不会过滤掉引用模型的内容。如果要忽略引用模型的内容,请将覆盖率分析的范围模型配置参数设置为引用模型,并使用选择模型对话框仅选择要分析覆盖率的模型。

有关获得覆盖率的完整模型对象列表,请参阅接受覆盖率的模型对象

另请参阅

| | | | | | |

主题