类型的模型覆盖
金宝app®覆盖™可以执行几种类型的覆盖分析。
执行覆盖(EC)
执行覆盖是最基本形式的报道。对每项产品的执行范围决定了项目执行过程中模拟。
决定覆盖(DC)
决定覆盖分析元素代表决策点在一个模型中,如开关部件或Stateflow®州。对每项产品的决策范围决定了总数的百分比模拟仿真遍历的路径通过项。
例如决定覆盖率数据的模型覆盖率报告,明白了决策分析。
条件覆盖(CC)
条件覆盖分析块输出输入的逻辑组合(例如,逻辑算符块)和Stateflow转换。测试用例达到完全覆盖,使每个输入每个实例模型和逻辑块的每个条件在过渡期间至少是真实的一次模拟,在模拟和假至少一次。条件覆盖分析报告是否完全覆盖的测试用例模型中的每个块的块。
当你收集覆盖一个模型,您可能无法达到100%覆盖条件。例如,如果您指定短路逻辑块,通过选择治疗模型逻辑金宝app块短路在报道面板的配置参数,你可能无法达到100%的条件覆盖率块。看到MCDC分析为更多的信息。
例如条件覆盖率数据的模型覆盖率报告,明白了条件分析。
修改条件/决定覆盖(MCDC)
修改/决定覆盖分析的条件金宝app仿真软件覆盖软件扩展的决定和条件覆盖能力。分析模块的输入和输出的逻辑组合Stateflow转换来确定测试用例测试在多大程度上独立的逻辑块输入和转换条件。
一个测试用例达到完全覆盖一块当一个输入的变化,独立于任何其他投入,使改变块的输出。
的测试用例达到完全覆盖Stateflow过渡时,至少有一个时间的变化条件触发转换为每个条件。
如果你的模型包含块定义有不同类型的逻辑运算符和表达式超过12条件,软件不能记录MCDC报道。
因为金宝app仿真软件覆盖MCDC报道可能不能实现完全的决定或条件覆盖,可以MCDC覆盖率达到100%没有实现100%的决定覆盖率。
一些支持M金宝appCDC覆盖率模型对象,对金宝app象仅支持条件覆盖,和一些报道对象只支持的决定。的表模型对象,得到覆盖列出哪些对象接收哪种类型的覆盖模型。例如,组合逻辑块可以接收决定覆盖和条件覆盖,但不是MCDC报道。
达到100%的MCDC覆盖率为您的模型,定义的- 178 c /做- 331标准,报道面板配置参数的选择修改条件/决定覆盖(MCDC)随着结构覆盖水平。
当你收集覆盖一个模型,您可能无法MCDC覆盖率达到100%。例如,如果您指定短路逻辑块,你可能无法达到100%的MCDC覆盖率块。
如果你独立运行测试用例和积累的所有报道的结果,您可以确定您的模型符合修改条件和决策覆盖标准。更多的信息- 178 c / - 331标准做,明白了- 331 - 178 - c /做检查吗(金宝app仿真软件检查)。
圈复杂度
圈复杂度是衡量结构模型的复杂性。它接近McCabe复杂性度量代码生成自模型。复杂性测量可以为生成的代码是不同的比模型由于代码特性,分析不考虑,如合并逻辑和错误检查。
计算对象的圈复杂度(如一块、图表或状态),模型覆盖使用以下公式:
N决策点的数量,对象代表和on结果的数量吗n决策点。认为一个矢量化操作或计算多端口切换作为一个决策点。工具增加了复杂性的1号原子子系统和Stateflow图表。
圈复杂度的一个示例数据模型覆盖率报告,明白了圈复杂度。
查找表的报道
查找表覆盖(附近地区)检查块,如一维查找表,从表中输入输出信息的输入和输出之间的插值或根据表条目。查找表覆盖记录频率表查找使用每个插值区间。一个测试用例达到完全覆盖时,执行每一个内插和外推间隔至少一次。对于每个模型中查找表块,覆盖率报告显示的彩色地图查找表,指示每个插值。如果断点的总数超过1500000块一天的查找表,软件不能记录覆盖这一块。
查找表的一个示例覆盖率数据模型覆盖率报告,明白了n维查找表。
请注意
配置查找表只覆盖在一个模拟世界中。如果你调整一个参数影响在运行时查找表覆盖,覆盖设置影响块不更新。
信号覆盖范围
信号覆盖范围记录最小和最大信号值在每一块模型,在模拟计算。只有模块输出信号接收信号覆盖范围。
软件不记录信号覆盖范围控制信号,信号被一个块用来启动执行另一个块。看到控制信号。
如果信号模型的总数超过65535人,或者你的模型包含一个信号的宽度超过65535,软件不能记录信号覆盖范围。
信号覆盖范围的一个示例数据模型覆盖率报告,明白了信号范围分析。
请注意
当您创建累计覆盖可重用的子系统或Stateflow结构与单一的覆盖范围,累计报道的最大可能范围信号值。有关更多信息,请参见获得累计覆盖可重用的子系统和Stateflow®结构。
信号的大小范围
信号大小保险记录的最小、最大、分配大小适应信号模型中。只有块适应输出信号都包含在这个报告。
如果信号模型的总数超过65535人,或者你的模型包含一个信号的宽度超过65535,软件不能记录信号大小的报道。
例如信号大小的覆盖率数据模型覆盖率报告,明白了信号覆盖变尺度大小的信号。
关于适应信号的更多信息,请参阅适应信号基础知识。
目标和约束范围
的金宝app仿真软件覆盖以下软件收集模型覆盖率数据金宝app仿真软件设计校验™块和MATLAB®对于代码生成功能:
金宝app仿真软件设计验证器块 | MATLAB代码生成功能 |
---|---|
测试条件(金宝app仿真软件设计验证器) | sldv.condition (金宝app仿真软件设计验证器) |
测试的目标(金宝app仿真软件设计验证器) | sldv.test (金宝app仿真软件设计验证器) |
证明假设(金宝app仿真软件设计验证器) | sldv.assume (金宝app仿真软件设计验证器) |
客观的证据(金宝app仿真软件设计验证器) | sldv.prove (金宝app仿真软件设计验证器) |
如果你没有金宝app仿真软件设计验证器许可证,您可以收集模型覆盖模型,其中包含这些块或函数,但是你不能使用分析模型金宝app仿真软件设计验证器软件。
通过添加一个或多个金宝app仿真软件设计验证器块或函数模型,您可以:
检查的结果金宝app仿真软件设计验证器分析、运行生成的测试用例和用块观察结果。
定义模型需求使用测试目的和验证结果与模型覆盖率数据块期间收集的软件模拟。
分析模型,创建一个测试工具,测试和模拟利用目标块覆盖率数据收集模型。
分析模型和使用证明假设块来验证任何反例金宝app仿真软件设计验证器标识。
如果你指定收集金宝app仿真软件设计验证器覆盖范围:
软件收集覆盖金宝app仿真软件设计验证器模块和功能。
软件检查信号的数据类型,每个链接金宝app仿真软件设计验证器块。如果信号数据类型是固定的点,块参数也必须定点。如果信号数据类型是不固定的点,软件试图转换块参数的数据类型。如果软件不能转换块参数数据类型,软件会报告错误,您必须显式地指定块参数数据类型匹配的信号。
如果你的模型包含一块验证子系统,覆盖软件只记录金宝app仿真软件设计验证器块的验证子系统(金宝app仿真软件设计验证器)块;它不记录覆盖任何其他模块验证子系统。
如果你不指定收集金宝app仿真软件设计验证器报道,不检查数据类型的任何软件金宝app仿真软件设计验证器块和功能在您的模型中,不收集覆盖率。
覆盖率数据的一个例子金宝app仿真软件设计验证器块或函数模型中覆盖率报告,请参阅金宝app仿真软件设计验证人报道。
浸透在整数溢出的报道
浸透在整数溢出覆盖检查块,等腹肌块,浸透在整数溢出参数选择。只有块这个参数选择接收饱和整数溢出的报道。
浸透在整数溢出报道的次数记录块浸透在整数溢出。
一个测试用例达到完全覆盖块浸透在整数溢出至少一次,不饱和至少一次。
例如整数溢出覆盖率数据的饱和模型覆盖率报告,明白了浸透在整数溢出分析。
关系边界的覆盖率
关系边界覆盖检查块,Stateflow图表和MATLAB函数显式或隐式关系操作的块。
对于这些模型对象,度量记录模拟测试是否关系操作:
操作数的值相等。
这部分关系边界范围仅适用于如果两个操作数都是整数或定点数。
操作数的值相差一定的宽容。
这部分关系边界范围适用于所有操作数。对于整数和定点操作数,宽容是固定的。对于浮点操作数,你可以使用一个预定义的公差或您可以指定自己的宽容。
公差值取决于这两个操作数的数据类型。如果两个操作数具有相同的类型,宽容遵循以下规则:
操作数的数据类型 | 宽容 |
---|---|
浮点数,如单 或双 |
|
不动点 | 值对应于最低有效位。有关更多信息,请参见精度(定点设计师)。找到精确的值,使用lsb (定点设计师)函数。 |
整数 | 1 |
布尔 | N /一个 |
枚举 | N /一个 |
如果两个操作数有不同的类型,宽容遵循严格的规则类型。如果一个操作数的布尔,宽容是另一个操作数的规则。在这个秩序严格减少:
浮点
不动点
整数
如果两个操作数是固定的但有不同的精度,精度的较小值作为宽容。
您指定的绝对和相对公差值关系边界的报道浮点输入当您选择这个指标覆盖率度量部分的覆盖面板的配置参数对话框。
更多信息:
如何覆盖指标出现在报道,看到了吗关系边界。
模型对象接收这个报道,看到桌子了吗模型对象,得到覆盖。
如何获得从MATLAB命令行覆盖率结果,看到了吗收集关系边界覆盖支持块模型金宝app。