Main Content

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

覆盖率报告的类型

Simulink® Coverage™ 可以为模型、某些模型元素以及集成到模型中的代码或从模型生成的代码创建覆盖率报告。要生成覆盖率报告,请使用以下方法之一:

  • 点击 运行(覆盖率)按钮来仿真模型。当仿真完成后,您会看到在覆盖率详细信息窗格中打开的覆盖率报告。

  • 覆盖率选项卡上,点击结果浏览器。使用以下两种方法之一通过覆盖率结果浏览器生成覆盖率报告:

    • 点击突出显示具有覆盖率结果的模型以突出显示模型并打开覆盖率详细信息窗格。

    • 点击“生成报告”可创建独立报告,该报告可与“Simulink”模型分开查看。

    当您有覆盖率结果但没有看到覆盖率详细信息窗格时,请使用其中一种方法,例如从文件加载覆盖率结果时。

  • 如果您以编程方式生成或加载覆盖率数据,请使用 cvhtml

报告类型描述HTML 报告文件名
顶层模型覆盖率报告提供所有模型及其模型元素的覆盖率信息。model_name_cov.html
模型摘要报告提供引用模型和模型层次结构中的外部 MATLAB® 文件的覆盖率结果链接。当顶层模型包含 Model 模块或调用一个或多个外部文件时创建。model_name
active_summary_cov.html
模型参考覆盖率报告为模型层次结构中的每个引用模型创建。该报告与顶级模型覆盖率报告的格式相同。reference_model_name
_cov.html
外部 MATLAB 文件覆盖率报告提供有关模型调用的 MATLAB 文件的详细覆盖率信息。每个外部文件都有一份报告。 MATLAB_file_name
_cov.html
子系统覆盖率报告提供所选子系统的覆盖率结果。model_name_cov.html,其中 model_name 是顶级模型的名称
代码覆盖率报告提供 SIL 模式下自定义代码模块和模型中的 C/C++ 代码的覆盖率信息。model_name_block_name
_instance_n_cov.html
model_name_cov.html

模型摘要报告

如果顶层模型包含 Model 模块或调用外部文件,Simulink Coverage 会创建一个名为 model_name_active_summary_cov.html 的模型摘要覆盖率报告。本报告的标题是按模型划分的覆盖率

模型摘要报告列出并链接到所引用模型的覆盖率报告以及模型中 MATLAB 代码调用的外部文件。有关更多信息,请参阅外部 MATLAB 文件覆盖率报告

当您点击覆盖率详细信息窗格中的链接时,您可以使用返回模型摘要报告链接返回顶级报告。

此图显示了手动生成的模型摘要报告的示例。它包含模型覆盖率报告(mExternalMfile)、Model 模块(mExternalMfileRef)的报告以及从模型调用的三个外部文件(externalmfileexternalmfile1externalmfile2)的链接。

Report title is "Coverage Report by Model." The top model is mExternalMfile. The total coverage report is 90% decision coverage, 75% condition coverage, and 25% MCDC. The report links to 5 separate files that are included in the total coverage.

模型参考覆盖率报告

如果您的顶层模型引用了 Model 模块中的模型,软件将创建一个名为 reference_model_name_cov.html 的单独模型引用报告,其中包含对引用模型的覆盖率。该报告与顶层模型覆盖率报告格式相同,且不表明该模型在 Model 模块中被引用。

外部 MATLAB 文件覆盖率报告

如果您的顶层模型调用任何外部 MATLAB 文件,您可以通过在配置参数对话框的覆盖率窗格上选择 MATLAB 文件来启用外部 MATLAB 文件覆盖率报告。该软件为从模型调用的每个文件创建一份名为 MATLAB_file_name_cov.html 的报告。当模型对给定文件进行多次调用时,软件只会为该文件创建一份报告,但它会累积对该文件的所有调用的覆盖率。外部 MATLAB 文件覆盖率报告不包含有关模型哪些部分调用外部文件的信息。

外部 MATLAB 文件覆盖率报告的第一部分包含有关外部文件的摘要信息,类似于顶级模型覆盖率报告。

详细信息部分报告外部文件及其文件中函数的覆盖率。

详细信息部分还列出了文件的内容,并突出显示了具有决策点或函数定义的代码行。

The code view of the coverage report highlights lines 2, 6, 12, 21, and 25.

报告中显示了每个突出显示的代码行的覆盖率结果。该图显示了上述代码示例中的部分覆盖率结果。

Coverage results for line 2 of the code is for the function externalmfile1, which receives 100% coverage (executed 102 out of 102 times). Coverage results for line 6 of the code is for the expression [if u greater than 1 and u less than 5], which receives 50% decision coverage (decision is false 102 out of 102 times, and true 0 out of 102 times).

子系统覆盖率报告

如果您想为单个子系统创建模型覆盖率报告,您可以创建子系统覆盖率报告。在配置参数对话框的覆盖率窗格中,选择启用覆盖率分析,然后点击选择子系统来分析所选子系统的覆盖率。该软件为顶层模型创建模型覆盖率报告,但仅包含子系统的覆盖率结果。

如果顶层模型调用任何外部文件并且您在配置参数对话框的覆盖率窗格中选择 MATLAB 文件,则结果将包括从以下位置调用的所有外部文件的覆盖率:

  • 您正在记录覆盖率的子系统

  • 包含子系统的顶层模型

如果子系统参数读/写权限设置为 NoReadOrWrite,则软件不会记录该子系统的覆盖率。

例如,在 fuelsys 模型中,假设您点击选择子系统并选择 feedforward_fuel_rate 子系统的覆盖率。

该报告与模型覆盖率报告类似,但它仅包含 feedforward_fuel_rate 子系统及其内容的结果。

代码覆盖率报告

对于每个自定义代码模块(例如 S-Function 和 C Caller 模块),模型覆盖率报告链接到模块中 C/C++ 代码的详细代码覆盖率报告。对于调用外部 MATLAB 文件的 MATLAB 函数模块,模型覆盖率报告链接到每个外部 MATLAB 文件的详细代码覆盖率报告。有关 S-Function 如何出现在报告中的更多信息,请参阅查看 S-Function 模块中自定义 C/C++ 代码的覆盖率结果

如果您安装了 Embedded Coder®,您还可以从软件在环(SIL)或处理器在环(PIL)模式下的模型生成代码覆盖率报告。有关如何为 SIL 或 PIL 模式下的模型生成代码覆盖率报告的更多信息,请参阅软件在环 (SIL) 模式和处理器在环 (PIL) 模式下模型的代码覆盖率。有关代码覆盖率报告的更多信息,请参阅代码覆盖率报告

另请参阅

|

相关主题