主要内容

累积覆盖率分析

这个例子说明了如何使用Coverage Results Explorer来简化跨越一组多个覆盖运行的累积覆盖率数据和报告的生成。

开放范例模型

本例使用slvnvdemo_ratelim_harness模型来解释设置和累积覆盖率的选项。在这个模型中是一个可调速率限制器的实现。它用了三个开关块来控制何时应该限制输出,以及要应用的限制类型。

输入使用三个从工作空间块:获得不断增长的限制,下降的限制.输入的值由MATLAB®工作空间中定义的六个变量指定:t_gainu_gaint_posu_post_neg,u_neg

open_system (“slvnvdemo_ratelim_harness”);

open_system ('可调速率限制器');

启用覆盖率分析

首先打开覆盖设置。从建模选项卡上,选择模型设置

要启用覆盖工具,请选择启用覆盖率分析报道窗格。此设置启用“覆盖范围”窗格中的其他选项。

对于本例,收集条件和决策覆盖率。下覆盖率度量面板,设置结构覆盖级别条件决定

点击好吧应用所选设置并关闭此对话框。

用第一个测试用例模拟模型

第一个测试用例测试输入值不会快速变化的场景。它使用正弦波作为时变信号,使用常数作为上升和下降极限。

T_gain = (0:0.02:2.0)';U_gain = sin(2*pi*t_gain);

利用MATLAB计算时变输入的最小和最大变化量diff函数。

max(diff(u_gain)) min_change = min(diff(u_gain))
Max_change = 0.1253 min_change = -0.1253

根据这些最小和最大变更率,将速率限制设置为1而且-1.因此,输入的变化率将在这个测试运行的限制范围内。

T_pos = [0;2];U_pos = [1;1];T_neg = [0;2];U_neg = [-1;-1];

控件模拟使用第一组输入变量的模型运行(覆盖率)按钮。

在结果资源管理器中回顾第一个测试用例

中打开“结果资源管理器”覆盖分析仪应用程序,点击结果探险家

在这点上当前累计数据只包含第一次覆盖运行(标记为运行1).Results Explorer最初显示关于最新覆盖运行的信息,包括每个启用度量的结果摘要。

要跟踪此模拟的意图,请输入文本“速率限制内测试”描述字段,单击应用

用第二个测试用例模拟模型

第二个测试用例补充了第一个用例,增加的增益超过了速率限制。一秒钟后,它增加速率限制,使增益变化低于该限制。

T_gain = [0;2];U_gain = [0;4];T_pos = [0;1;1;2];U_pos = [1;1;5;5]*0.02;T_neg = [0;2];U_neg = [0;0];

通过单击第二组变量来模拟模型运行(覆盖率)按钮。

为第二个测试用例生成累积进度报告

现在已经执行了多个覆盖运行,您可以生成累积的覆盖报告。

首先,添加这次运行的简要描述,就像之前的模拟一样。输入文本“测试上升速率限制”描述字段运行2并点击应用

可以生成不同格式的覆盖率报告。为了可视化最近的模拟如何影响累积覆盖率结果,您可以生成一个累积进度报告。

在“结果资源管理器”中设置中,选择显示累计进度报告并点击应用

点击当前累计数据在“结果资源管理器”的最左边窗格中。注意总结指示从开始累积的累计覆盖结果运行1而且运行2.点击生成报告创建累计进度报告。

总结累计进度报告一节共有三栏:当前运行δ,累积.的当前运行列显示下面列出的最后一个模拟的覆盖范围当前累计数据(这是运行2在这种情况下)。的δ列显示当前运行暴露的在此模拟之前的累积结果中未实现的覆盖。的累积列给出当前累计覆盖率结果。

用第三个测试用例模拟模型

第三个测试用例是第二个测试用例的镜像,上升的增益被下降的增益取代。

T_gain = [0;2];U_gain = [-0.02;-4.02];T_pos = [0;2];U_pos = [0;0];T_neg = [0;1;1;2];U_neg = [-1;-1;-5;-5]*0.02;

通过单击第三组变量来模拟模型运行(覆盖率)按钮。

为第三个测试用例生成累积进度报告

再次添加最新运行的简要描述。输入文本“测试下降速率极限”描述字段跑3并点击应用

导航到当前累计数据并点击生成报告为最近的运行创建累积进度报告。

请注意,在最近的运行中,累积结果实现了Decision、Condition和Execution度量的完全覆盖。

细化累积数据集

如果您确定某个特定的覆盖运行不是必需的,您可以从累积数据集中排除此运行并生成新的累积报告。

在“结果资源管理器”中当前累计数据,右键单击运行1并选择从累积数据中排除

生成最终累计覆盖率报告

现在您已经选择了所需的测试运行子集,您可以为累积的结果生成覆盖率报告。

导航到设置,取消选择显示累计进度报告,然后按应用

导航到当前累计数据并点击生成报告

累积覆盖率报告显示与当前累积数据关联的结果。根据测试节中,有一个带有描述的测试“测试上升速率极限,测试下降速率极限”,表示该测试包含运行2和3的累积结果。

总结部分将显示这些累积结果完全覆盖了所分析的所有指标。