模型覆盖率报告MATLAB功能
收集覆盖率模型之后,可以生成一个覆盖率报告,总结了为每个块覆盖率结果和细节。如果你的模型包含MATLAB函数块,您可以查看覆盖率结果逐行MATLAB®代码块内。覆盖率分析看起来为每个类型的MATLAB函数略有不同:
覆盖率报告MATLAB函数在一个MATLAB功能块
考虑为MATLAB函数模型覆盖报告run_intersect_test
,这是在一个定义MATLAB函数块。
以下链接的函数名是一个链接为父母报告的部分MATLAB函数包含的代码块run_intersect_test
函数。
的上半部分的报告功能覆盖率结果总结了其模型。的覆盖率run_intersect_test
包括决策、条件、和MCDC覆盖。你能理解这些指标通过检查代码run_intersect_test
。
线和覆盖元素被突出显示的行号:
1号线接收决定报道表明是否顶级功能
run_intersect_test
执行。第6行接收决定覆盖
如果
声明。第14行收到决定报道表明是否本地函数
rect_intersect
执行。行27和30接收决定,条件,和MCDC覆盖
如果
语句和条件。的条件
right1 <候补委员
在30行显示为红色,这表明这种情况没有评估所有可能的结果。覆盖率报告显示的结果仍然不满意的覆盖率分析。
覆盖率报告包括每个行代码的详细信息。单击链接打开编辑器相关的报告。
报道总结
的报道的细节窗格显示总结覆盖整个的度量标准run_intersect_test
函数。
报道的结论总结是:
有八个决策结果报告
run_intersect_test
在报告:一个1号线(执行)
两个线6 (
真正的
和假
)一行14(执行)
两行27 (
真正的
和假
)两个线30 (
真正的
和假
)。
决定覆盖每一行显示,100%决定覆盖。这个结果意味着决定覆盖
run_intersect_test
八个八个可能的结果,或100%。报告有四个条件
run_intersect_test
在报告。27日和30各有两个条件,每个条件有两个条件的结果(真正的
和假
),总共八个条件的结果run_intersect_test
。所有条件均阳性真正的
和假
结果行30(除了第一个条件right1 <候补委员
)。这意味着条件覆盖run_intersect_test
七,八,或88%。MCDC覆盖表决定行27和30每个列表两种情况的决定为每个条件逆转,总共四种可能的逆转。只有决定逆转改变状况的评价
right1 <候补委员
的线30真正的
来假
没有出现在模拟。这意味着,三,四,或75%的病例可能逆转在模拟测试,覆盖的75%。
覆盖1号线
每个MATLAB函数的第一行代码生成配置为接收覆盖率分析决定。这一决定表明,函数执行应对被称为。
的覆盖率报告run_intersect_test
显示100%的决定覆盖率,这表明函数至少执行一次。决策表另外显示函数执行11次。
覆盖第6行
的决策分析表表明,决定在6号线,如果isempty (x1)
,总共11次执行。决定评估真正的
一个时间步,十次错误的步骤。因为两个可能的结果发生,决定覆盖率是100%。
覆盖第14行
的决策分析表显示,当地的函数rect_intersect
在测试期间执行,因此收到了100%的覆盖率。
覆盖线27
的决策分析表表明,有两种可能的结果决定在27日真正的
和假
。五11次表达式的执行,评估决定假
。剩下的6倍,评估决定真正的
。因为两个可能的结果发生,决定覆盖率是100%。
此外,条件分析表显示,因为这个决定由两个条件与逻辑或(| |
必须评估)操作,只有一个条件真正的
决定的结果真正的
。如果第一个条件评估真正的
,没有必要评估第二个条件。这就是所谓的逻辑短路。第一个条件,top1 < bottom2
11次,评估真正的
两次。这个结果意味着第二个条件,top2 < bottom1
评估只有9次。条件的评价为真正的
四次,总真正的
决定六个出现,匹配的数量决策分析表。
MCDC覆盖寻找决定逆转发生因为一个条件变化结果T
来F
或从F
来T
。的MC / DC分析表识别结果的组合条件,导致逆转的决定。这个角色x
表示条件的结果,由于逻辑短路是无关紧要的。期间没有达到条件的结果组合,模拟标有一组括号。27日线,因为每个条件独立影响决策的结果,报告MCDC覆盖率是100%,MC / DC分析表不包括括号在任何条件的结果组合。
覆盖线30
线30的决定,如果(right1 <候补委员| | right2 < left1)
是嵌套的其他的
情况下的如果
声明行27。因此,线30决定评估只有27决定假
。因为线27决策评估假
五次,30行评估五次,三个的假
。因为这两个真正的
和假
结果,决定覆盖线30 100%。
因为30行,像线27岁,两个条件相关的逻辑或操作符(| |
),条件2是评估前提条件1假
。因为条件1评估假
五次,条件2是评估五次。其中,条件2评估真正的
两次,假
三次,占的两个事件真正的
这一决定的结果。
因为线的第一个条件30决定不评价真正的
,这两个结果不发生条件和这份报告强调了条件覆盖第一个条件与玫瑰的颜色。报告还强调了MCDC覆盖以同样的方式决定基于逆转真正的
结果的条件。
覆盖率报告金宝app设计验证器MATLAB功能
如果您配置您的MATLAB代码代码生成和代码包括这些金宝app®设计验证器™功能,你可以测量范围:
sldv.condition
(金宝app仿真软件设计验证器)sldv.test
(金宝app仿真软件设计验证器)sldv.assume
(金宝app仿真软件设计验证器)sldv.prove
(金宝app仿真软件设计验证器)
对于这个示例,考虑一个模型,该模型包含了一个MATLAB函数块。
的MATLAB函数块包含这个代码:
函数y = fcn (u)%这个块支持MATLAB代金宝app码生成。sldv.condition(u > -30) sldv.test(u == 30) y = 1;
收集覆盖金宝app仿真软件设计验证器MATLAB函数,在配置参数对话框,报道窗格中,在其他指标中,选择目标和约束。
仿真后,模型覆盖率报告显示覆盖sldv.condition
和sldv.test
功能。为sldv.condition
,该表达式u > -30
评估,真正的
51次。为sldv.test
,该表达式u = = 30
评估,真正的
51次。
对模型覆盖率数据的一个例子金宝app仿真软件设计验证器块,看到目标和约束范围。
覆盖率报告MATLAB函数在一个外部文件
使用相同的模型MATLAB函数模型覆盖报告假设MATLAB函数run_intersect_test
和rect_intersect
存储在外部MATLAB文件命名run_intersect_test.m
。
收集覆盖率为MATLAB函数在外部文件中,在配置参数对话框,报道窗格中,选择MATLAB文件覆盖。
后仿真,模型覆盖率报告总结包含顶层模型和外部的部分功能。
模型的覆盖率报告run_intersect_test.m
报告同样的覆盖率数据中存储的功能MATLAB函数块。
对于一个详细的示例模型的MATLAB函数的覆盖率报告外部文件,看看外部MATLAB文件覆盖报告。