主要内容

顶层模型覆盖率报告

如果你模拟模型使用运行按钮,金宝app®覆盖™创建一个模型覆盖率报告命名为指定的模型model_name_cov.html。模型的覆盖率报告也自动打开的报道的细节窗格。模型的覆盖率报告包含几个部分:

访问sldemo_fuelsys在MATLAB模型中,执行以下命令®命令窗口:

openExample (“ModelingAFaultTolerantFuelControlSystemExample”);

分析信息

模型部分包含基本信息分析信息分析:

  • 覆盖率数据信息

  • 模型信息

  • 利用信息(如果你出现记录从一个报道金宝app仿真软件测试™利用)

  • 仿真优化选项

  • 覆盖选项

聚合测试

聚合测试部分出现,如果你:

  • 记录汇总覆盖率结果通过至少两个测试用例金宝app仿真软件测试经理和生产聚合结果的覆盖率报告,或

  • 产生一个覆盖报告Explorer覆盖率结果累积的结果。

如果你通过运行测试用例金宝app仿真软件测试经理,聚合测试部分的链接到相关的测试用例金宝app仿真软件测试经理。

如果你总测试用例结果通过结果探险家,汇总测试结果中的部分链接到相应的cvdata节点探险家。

对于每个运行聚合测试部分,有一个链接到相应的结果金宝app仿真软件测试经理或探险家的结果。

聚合单元测试

如果你利用记录覆盖一个或多个子系统,聚合测试列出每个单元测试运行,和描述部分显示了描述聚合的覆盖率数据。你可以看到和编辑这个描述要覆盖率结果Explorer和点击当前累积数据

每个测试单元接收一个序数n被测试,每个测试单元接收一个序数的风格Un

描述和聚合测试覆盖率报告的一部分。聚合测试列出两个测试:运行T1, T2运行。

报道总结

报道总结有两个部分:

  • 测试——每个测试用例的仿真启动和停止时间和任何设置命令前的模拟。每个测试用例包括任何测试用例的标题标签指定的使用cvt命令。本节只显示报表时不包含一个聚合测试部分。

  • 总结-总结的子系统的结果。看到详细的结果为一个特定的子系统,在总结分段,单击子系统名称。

每个请求的摘要部分包含一个列覆盖率度量,即使对指标不适用的模型或模型对象进行了分析。例如,在sldemo_fuelsys如果你选择模型目标和约束覆盖率度量,得到列标题测试的目标,客观的证据,测试条件,证明假设,尽管模型不包含块金宝app仿真软件覆盖这些指标可以分析。

细节

细节部分报告覆盖率结果的详细模型。每个部分的详细报告总结的指标测试结果中的每个对象模型:

您还可以访问一个分段模型元素细节如下:

  1. 右键单击一个模型元素。金宝app

  2. 在上下文菜单中,选择报道>报告

过滤对象

过滤对象列出所有的对象模型,从报道记录过滤,并为过滤这些对象指定的基本原理。如果过滤器规则指定特定类型的所有块被过滤,所有这些积木都列在这里。

在下图中,几个街区,子系统,过滤和转换。两个library-linked块,受保护的部门和保护division1过滤,因为他们阻止图书馆被过滤。

模型的细节

细节部分包含一个结果总结为模型作为一个整体,其次是一个元素的列表。点击模型元素名称查看其报道的结果。

下面的图形显示了部分细节sldemo_fuelsys模型的例子。

详细列出模型sldemo_fuelsys和儿童系统:发动机气体动力学、节流命令,控制器,植物,和燃料消耗率控制。

子系统的细节

每个子系统的细节部分包含一个总结的测试覆盖率结果子系统和它所包含的子系统的列表。概述后跟部分街区,图表,和MATLAB函数,一个用于每一个对象,它包含一个决策点的子系统。

下面的图形显示了覆盖率结果为发动机的气体动力学子系统sldemo_fuelsys模型的例子。

子系统块发动机气体动力学显示覆盖率结果包括每个指标的后代。圈复杂度是13日决定覆盖率是71%(10/14决策结果),执行覆盖率是100%(17/17目标结果),关系边界的覆盖率是50%(3/6目标结果),和饱和度整数溢出覆盖率是50%(10/20客观结果)

块的细节

下面的图形显示了覆盖率结果决定极大极小块的混合和燃烧发动机气体动力学子系统的子系统sldemo_fuelsys模型的例子。

极大极小块报告决定覆盖(1/2决策结果),50%和100%执行报道客观结果(1/1)。

发现链接元素第一次出现在第一个块的块的细节部分的模型层次结构不能达到100%的覆盖率。第一个发现链接元素有一个箭头连接块的细节部分的报告下一个块,不达到100%的覆盖率。

随后块实现100%的覆盖率没有链接块细节部分报告的前一个和后一个块没有达到100%的覆盖率。

图表细节

下面的图形显示了Stateflow报道结果®图表control_logicsldemo_fuelsys模型的例子。

56岁的控制逻辑子系统报告圈复杂度条件覆盖率超过21%(5/24条件结果),25%的决定覆盖率(23/92决策结果),0%的MCDC覆盖率(0/12条件相反的结果),0%的查找表覆盖率(0/1082插值/推断间隔),0%的执行覆盖率(0/4客观结果),和0%的关系边界覆盖率(0/34客观结果)。

更多信息关于Stateflow图表和模型覆盖报告他们的对象,明白了模型覆盖报告Stateflow图表

报道细节MATLAB功能和金宝app设计验证器功能

默认情况下,金宝app仿真软件覆盖记录覆盖所有MATLAB函数模型。MATLAB函数是在MATLAB函数块,Stateflow图表,或外部MATLAB文件。

请注意

一个详细的例子覆盖报告外部MATLAB文件,看看外部MATLAB文件覆盖报告

记录金宝app仿真软件设计校验™覆盖sldv。*函数调用MATLAB函数,任何金宝app仿真软件设计验证器块,选择目标和约束报道面板的配置参数对话框。

下面的示例显示了一个MATLAB函数,报道的细节hFcnsInExternalEML电话,四金宝app仿真软件设计验证器功能。在本例中,代码hFcnsInExternalEML居住在一个外部文件。

这个示例还显示金宝app仿真软件设计验证器报道细节下面的功能:

覆盖率结果,达到100%的代码覆盖率是绿色的。代码,达到小于100%的覆盖率是红色的。

覆盖率为嵌入式MATLAB函数hfcnsinexternaleml报告4圈复杂度,40%的决定覆盖率(2/5决策结果),50%的测试目标覆盖率(1/2客观结果),0%的客观证据覆盖率客观结果(0/1),100%的测试条件覆盖率(1/1目标结果),和0%的证明假设覆盖率(0/1客观结果)。

报道的hFcnsInExternalEML函数和sldv。*电话是:

  • 第1行,函数声明hFcnsInExternalEML是绿色的,因为仿真执行函数至少一次。fcn调用hFcnsInExternalEML在模拟的11倍。

    4号线,sldv.assume(u1 > u2)因为,达到0%的覆盖率u1 > u2没有评估为true。

  • 第5行,sldv.condition(u1 = = 0)因为,达到100%的覆盖率u1 = = 0评估为true的至少一个时间步。

  • 6号线,开关u1达到25%的覆盖率,因为只有四个结果之一开关语句(例0)发生在模拟。

  • 第17行,sldv.test(y>u1); sldv.test (y == 4)达到50%的覆盖率。第一个sldv.test达到100%的覆盖率,但是第二个sldv.test达到0%的覆盖率。

覆盖MATLAB函数的更多信息,请参阅模型覆盖MATLAB函数

有关报道的更多信息金宝app仿真软件设计验证器功能,请参阅目标和约束范围

要求测试细节

如果你运行至少两个测试用例金宝app仿真软件测试与要求要求工具箱™,聚合的覆盖率报告细节模型元素之间的联系,测试用例,和有关要求。

要求测试细节部分包括:

  • 实现需求——需求与模型元素。

  • 验证了测试——测试验证的要求。

  • 相关的运行——这与每个相关验证测试运行。

例如如何跟踪报道结果需求的覆盖率报告,明白了跟踪报道结果的要求

圈复杂度模型覆盖报告

你可以指定模型覆盖率报告包括圈复杂度的数字在两个地点报告:

  • 摘要部分包含的圈复杂度的数字模型层次结构中的每个对象。为一个子系统或Stateflow图表,这个数字包括所有后代的圈复杂度的数字。

  • 每个对象的细节部分所有单个对象的圈复杂度的数字列表。

    细节子系统块节流&歧管显示了这个对象,圈复杂度为0和10的圈复杂度这个对象包括后代。

决策分析

分析了决策表列出了可能的结果决定的次数,一个发生在每一个测试结果仿真。结果没有出现红色突出显示的表行。

下面的图形显示了决策分析表中的饱和块节流&歧管发动机气体动力学子系统的子系统sldemo_fuelsys模型的例子。

饱和块限制积极报道(2/4决策结果)显示,50%决定,决定输入> =下限是适用于所有的时间步骤,决定输入>上限是假的步骤。

显示和突出问题的块,点击顶部的块的名字包含块的部分决策的分析表。

饱和块限制正红色突出显示仿真软件的画布。金宝app

条件分析

条件分析表列表出现的次数真假条件对应块的每个输入端口上。

条件分析表显示条件“输入端口1”适用于199521时间步和480次错误的步骤。条件“输入端口2”是真200001时间步长和假0次步骤。表的单元格显示0时间步骤也显示“创建一个理由过滤规则”图标。

MCDC分析

MCDC分析表列出了MCDC输入条件情况下由相应的块和程度报告测试用例覆盖条件的情况下。

MCDC分析表(在括号中不发生组合)。表达

MCDC分析表的每一行表示一个条件对于一个特定的块的输入。一个条件输入n块的输入值的组合。输入n被称为决定输入条件的情况。改变输入的值n仅改变块的输出的值。

MCDC分析表显示了一个条件表达式代表一个条件案件。一个条件表达式是一个字符串:

  • 字符串中的一个字符的位置对应于输入端口号。

  • 位置的字符代表输入的值。(T意味着真正的;F意味着)。

  • 黑体字符对应于输入的值决定。

例如,FTF代表三个输入块的条件情况下,第二个输入是决定输入。

决策/条件列指定决定输入的输入条件的情况。的真正的出列指定的决定导致块输出的输入值真正的值条件。的真正的出条目使用一个条件表达式,例如,FF,来表达所有的输入的值,大胆的决定变量的值。

括号的表达式表明指定的输入组合没有发生在第一个(或)测试用例包含在这个报告。换句话说,测试用例没有覆盖相应的条件。的假了列指定块的决定输入值,导致输出一个错误的价值和价值是否发生在第一个(或)测试用例包含在报告中。

一些模型元素实现少MCDC报道根据MCDC定义中使用的分析。有关MCDC定义如何使用的更多信息在分析影响覆盖率结果,明白了改性条件和决策覆盖(MCDC)定义在模型的报道金宝app

如果您选择治疗模型逻辑金宝app块短路报道面板配置参数对话框,MCDC覆盖率分析不验证是否短路输入实际发生。使用一个MCDC分析表x例如,在一个条件表达式(TFxxx)来表示短路输入没有分析的工具。

如果禁用此功能和逻辑块不短路而收集模型覆盖,你可能无法达到100%的覆盖率块。

选择治疗模型逻辑金宝app块短路选择要MCDC覆盖率分析近似程度的报道你的测试用例实现为生成的代码(大多数高级语言短路逻辑表达式)。

累计覆盖

你记录连续报道的结果之后,可以访问、管理和总覆盖率结果在覆盖率结果探险家。默认情况下,每个模拟的结果保存并记录在报告中累计。

如果您选择显示累计进度报告结果部分的配置参数,结果位于最右边区域的所有表累计覆盖报告反映累计值。报告是有组织的,这样你可以很容易地比较最近运行的额外覆盖与所有之前的报道在会话中运行。

累计覆盖报告包含的信息:

  • 当前运行的覆盖率结果模拟刚刚完成。

  • δ-覆盖的比例添加到累计报道通过模拟刚刚完成。如果之前仿真的累计覆盖和当前覆盖非零,三角洲可能0如果新的报道不会增加累计覆盖。

  • 累积,总覆盖率收集模型,包括,模拟刚刚完成。

在运行三个测试用例,总结报告显示多少额外的覆盖第三测试用例实现和累积覆盖率达到前两个测试用例。

覆盖率报告的总结部分。显示彩色条指示的百分比覆盖率为每个子系统和模型获得的总。有列的当前运行的酒吧,δ,累积的报道。

决策分析累计覆盖表包含三列表示当前运行的数据对决策结果,δ上一次运行以来,分别和累积数据。

条件分析表使用列标题# n T# n F表示单个测试用例的结果。表的使用合计T合计F累积的结果。您可以识别真假条件对应块的每个输入端口上为每个测试用例。

MCDC分析# n真正出# n假了列显示的条件情况下为每个测试用例。的总出T总出F列显示累积的结果。

请注意

你可以计算累计覆盖可重用的子系统和Stateflow构造在命令行。有关更多信息,请参见获得累计覆盖可重用的子系统和Stateflow®结构

n维查找表

以下互动图表总结了多大程度上访问一个查找表的元素。在这个例子中,两个正弦波模块生成xy索引,访问二维查找表10块元素充满随机值。

一块二维查找表两个正弦波输入,和它的输出连接到一个块范围。

在这个模型中,查找表指数是1,2,…在每个方向,10。相位的正弦波2块是正弦波1块π/ 2弧度。由此产生xy编号为一个圆的边缘,你看到当你检查生成的查找表覆盖。

报告包含一个二维表代表了查找表的元素。元素指标由细胞边界网格线,在每个维度10号。地区之间的查找表篡改表所代表的值是细胞区域。地区的外推的元素1和10是由细胞的元素在桌子边缘的,没有外部边界。

请注意

覆盖率报告只生成查表的详细信息图像的查找表400或更少的内插或外推的间隔。

的数量为每个单元格值内插或外推(执行计数)在测试期间由绿色表示分配给细胞。每个六级绿色阴影和执行计数的范围代表显示表的一侧。

如果你点击一个表格单元,你会看到一个对话框显示的索引位置细胞生成和执行的具体数量数量在测试期间。以下示例展示的内容color-shaded细胞圆的右边缘。

选中的单元格已用红色标出。您还可以点击推断细胞边缘的表。

一个大胆的网格线,表明至少有一个块输入等于其确切的索引值发生在模拟。单击边界显示确切数字的索引值。

下面的示例模型使用一个一天的查找表块10-by-10-by-5元素充满随机值。

一个一天的查找表块两个正弦波输入和一个斜坡输入。其输出连接到一个块范围。

这两个xy表轴有指标1、2、……10。的z轴指数10,20,…,50。查找表值与访问xy指数这两个正弦波模块生成的,在前面的例子中,和一个z斜坡块生成索引。

仿真后,您将看到下面的查找表的报告。

而不是一个二维表,链接力地图生成显示如下表:

查找表覆盖一块三维查找表报告为一组二维表。

垂直酒吧代表确切的z索引值:10、20、30、40、50。如果一个竖线是大胆的,这表明至少一块输入等于它所代表的确切的索引值模拟。点击酒吧得到覆盖率报告栏代表的确切的索引值。

你可以报告查找表覆盖任何维度的查找表。四维表的覆盖率报告为组三维集,就像那些在前面的例子。五维表报告为套组三维集,等等。

块减少

所有模型覆盖率报告显示仿真软件的状态金宝app块减少参数的报告。在下面的例子中,设置力阻止减少了

仿真优化选项部分的覆盖率报告显示三个模型参数的状态。金宝app默认设置为可调参数行为,减少块设置为强制,优化设置为条件分支。

在下一个示例中,您启用动态仿真模块金宝app块减少参数,您没有设置力阻止减少了

仿真优化选项部分的覆盖率报告显示三个模型参数的状态。金宝app默认设置为可调参数的行为,阻止将减少,优化设置为条件分支。

考虑下面的模型,模拟不执行MinMax1块——因为只有一个输入In3

显示两个断开连接的极大极小块模型。第一个极大极小块需要两个输入和一个输出。第二个极大极小块需要一个输入和一个输出。

如果你设置力阻止减少了报告不包含覆盖率数据这一块,因为最低输入MinMax1块总是1

如果你不设置力阻止减少了报告不包含,为减少块覆盖率数据。

减少块部分的覆盖率报告。从覆盖率分析块消除块减少模型模拟设置:“ex_minmax_coverage / MinMax1。”

关系边界

覆盖面板的配置参数对话框,如果你选择关系边界覆盖率指标,软件模型中创建一个关系边界表覆盖报告为每个模型对象支持这个报道。金宝app表适用于显式或隐式关系操作参与模型对象。有关更多信息,请参见:

下面的表显示了关系边界的覆盖率报告关系input1 < = input2。表的外观取决于操作数的数据类型。

整数

如果两个操作数都是整数(或者如果一个操作数是整数,另一个布尔值),表如下所示。

关系边界覆盖表:第一行显示输入input1 - 2: 33%的覆盖率。第二行显示1:0/51。第三行显示0:51/51。行4显示+ 1:0/51。

等相关操作operand_1< =operand_2:

  • 第一行的两个操作数的形式operand_1- - - - - -operand_2

  • 第二行州在仿真的次数operand_1- - - - - -operand_2= 1。

  • 第三行州在仿真的次数operand_1等于operand_2

  • 第四行州在仿真的次数operand_1- - - - - -operand_2= 1。

不动点

如果一个操作数的定点类型和另一个操作数是一个固定的点或整数,表如下所示。LSB代表最低有效位的值。有关更多信息,请参见精度(定点设计师)。如果两个操作数有不同的精度,使用精密的较小值。

关系边界覆盖表:第一行显示输入input1 - 2: 33%的覆盖率。第二行显示lsb: 51/51。第三行显示0:0/51。行4显示+ LSB: 0/51。

等相关操作operand_1< =operand_2:

  • 第一行的两个操作数的形式operand_1- - - - - -operand_2

  • 第二行州在仿真的次数operand_1- - - - - -operand_2等于lsb

  • 第三行州在仿真的次数operand_1等于operand_2

  • 第四行州在仿真的次数operand_1- - - - - -operand_2等于LSB

浮点

如果一个操作数的浮点类型,表如下所示。托尔代表一个值计算使用您指定的输入值和公差。如果你不指定公差,使用默认值。有关更多信息,请参见关系边界的覆盖率

关系边界覆盖表:第一行显示输入input1 - 2: 50%的覆盖率。第二行显示[托尔. .0]:51/51。第三行显示(0 . .托尔]:0/51。

等相关操作operand_1< =operand_2:

  • 第一行的两个操作数的形式operand_1- - - - - -operand_2

  • 第二行州在仿真的次数operand_1- - - - - -operand_2值的范围吗(tol . . 0)

  • 第三行州在仿真的次数operand_1- - - - - -operand_2值的范围吗(0 . . tol]在模拟。

这个表的外观变化根据块的关系操作符。根据关系操作符的值operand_1- - - - - -operand_20是:

  • 排除关系边界范围。

  • 包含在上述地区关系边界。

  • 包括在以下地区关系边界。

关系操作符 报告格式 解释
= = (tol . . 0) 0是排除在外。
(0 . . tol]
! = (tol . . 0) 0是排除在外。
(0 . . tol]
< = (tol . . 0) 0是包含在以下地区关系边界。
(0 . . tol]
< (tol . . 0) 0是包含在上述地区关系边界。
(0 . . tol)
> = (tol . . 0) 0是包含在上述地区关系边界。
(0 . . tol)
> (tol . . 0) 0是包含在以下地区关系边界。
(0 . . tol]

0是包括以下关系边界< =但以上关系边界<。这条规则是一致决定覆盖。例如:

  • 的关系input1 < = input2,这一决定是正确的input1小于或等于什么input2<=被组合在一起。因此,0在于下面的地区关系边界。

  • 的关系input1 < input2,这一决定是真的只是如果input1小于input2>=被组合在一起。因此,0位于上方的区域关系边界。

浸透在整数溢出分析

覆盖面板的配置参数对话框,如果你选择浸透在整数溢出覆盖率指标,软件上创建了一个饱和溢出模型覆盖率报告中的分析表。该软件创建表的每一块浸透在整数溢出参数选择。

饱和溢出分析表上列出的次数一块浸透在整数溢出,指示一个真正的决定。如果阻止不饱和整数溢出,表显示一个错误的决定。结果不发生在红色突出显示的表行。

下面的图形显示了饱和溢出分析表极大极小块的混合和燃烧发动机气体动力学子系统的子系统sldemo_fuelsys模型的例子。

极大极小块接收整数溢出饱和度50%覆盖。

显示和突出问题的块,点击顶部的块的名字包含块的饱和溢出的部分分析表。

信号范围分析

如果您选择了信号范围范围覆盖指标,软件创建一个信号分析部分底部的模型覆盖报告。本节列出了每个输出信号的最大和最小信号值在仿真模型中测量。

访问的信号范围内迅速分析报告信号范围顶部的链接nonscrolling地区模型覆盖率报告,如下所示sldemo_fuelsys示例模型报告。

每个块都是报道以分层的方式;子块直接出现在父块。在每一块的名字信号范围报告是一个链接。例如,选择自我传感器链接来显示这个块中强调本国的图。

信号覆盖变尺度大小的信号

如果您选择信号的大小,软件创建一个变量信号宽度后部分信号范围覆盖报告中的数据模型。本节列出所有输出端口的最大和最小信号大小适应信号模型中。它还列出了仿真软件的内存分配信号,在仿真计算。金宝app这个列表包括在模拟信号不变化的大小。

下面的例子显示了变量信号宽度部分覆盖报告。在这个例子中,Abs块信号从2到5,大小不一的分配5。

每个块都是报道以分层的方式;子块直接出现在父块。每个块的名字在变量信号宽度是一个链接列表。点击链接凸显在模型编辑器中相应的块。金宝app分析后,适应信号有一个广泛的线路设计。

金宝app设计验证器报道

如果您选择目标和约束,分析收集覆盖率数据金宝app仿真软件设计验证器在你的模型。

为一个例子,这是如何工作的,开放的sldvdemo_debounce_testobjblks模型。

这个模型包含两个测试目标块:

  • 真正的块定义了一个属性的信号值2

  • 掩盖了内部的边缘块,目标子系统,描述了属性的输出和阻止蒙面目标子系统的变化21

金宝app仿真软件设计验证器软件分析这个模型,利用模型包含测试用例实现特定的测试目标。原始模型是否达到这些目标,模拟利用模型和收集模型覆盖率数据。模型覆盖工具分析任何决策点或您指定的时间间隔内值测试目标块。

在这个例子中,覆盖率达到100%的覆盖率报告显示真正的阻止,因为信号值2至少一次。信号值2在6 14时间步骤。

输入信号边缘块的值来实现真正的的14次步骤。