主要内容

覆盖率过滤

何时使用覆盖率过滤

使用覆盖率过滤以便于采用自下而上的方式记录模型覆盖率。如果您的模型较大,可能有一些设计元素故意不记录 100% 的覆盖率。也可能有一些设计元素要求记录 100% 的覆盖率,但实际上并未达到 100% 的覆盖率。您可以临时或永久地将这些元素从覆盖率记录中排除,从而专注于某个对象子集进行测试和修改。

这样,您就可以更高效地进行迭代,即专注于一个小问题,修复它,然后再处理下一个小问题。在为整个模型记录覆盖率之前,您可以先解决模型各个部分的缺失覆盖率问题。

什么是覆盖率过滤?

覆盖率过滤允许您在对 Simulink® 模型进行仿真后,将某些模型对象排除在模型覆盖率报告之外。您可以指定要从覆盖率记录中过滤哪些对象。有两种过滤模式:已排除已申述

已排除对象不会对覆盖率报告产生影响。当您在对模型进行仿真时指定要排除的对象后,覆盖率报告将不会记录这些对象的覆盖率。

已申述对象会对覆盖率报告产生影响。当您在对模型进行仿真时指定要申述的对象后,覆盖率报告会将这些模块视为已达到 100% 覆盖率,并且它们在覆盖率摘要中显示为浅蓝色。

Coverage report summary shows the model slvnvdemo_covfilt receives 64% decision coverage, 60% decision coverage, 50% MCDC coverage, and 74% execution coverage. The colored bars indicate some decision outcomes are justified and some remain unsatisfied.

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

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.

要过滤对象,请参阅创建、编辑和查看覆盖率过滤器规则创建和使用覆盖率过滤器