主要内容

模型覆盖率报告MATLAB功能

收集覆盖率模型之后,可以生成一个覆盖率报告,总结了为每个块覆盖率结果和细节。如果你的模型包含MATLAB函数块,您可以查看覆盖率结果逐行MATLAB®代码块内。覆盖率分析看起来为每个类型的MATLAB函数略有不同:

覆盖率报告MATLAB函数在一个MATLAB功能块

考虑为MATLAB函数模型覆盖报告run_intersect_test,这是在一个定义MATLAB函数块。

以下链接的函数名是一个链接为父母报告的部分MATLAB函数包含的代码块run_intersect_test函数。

报道结果run_intersect_test MATLAB函数。圈复杂度是7。函数接收100%的决定覆盖率8的8决定结果满意,88%的条件覆盖率与7的8条件结果满意,和75% MCDC条件的四分之三都有逆转的决定的结果。

的上半部分的报告功能覆盖率结果总结了其模型。的覆盖率run_intersect_test包括决策、条件、和MCDC覆盖。你能理解这些指标通过检查代码run_intersect_test

代码的覆盖率报告视图。行1、6、14和27色完全绿色。线30是彩色的部分红色表明决定不接受完全覆盖的一部分。其余的线不是彩色的。

线和覆盖元素被突出显示的行号:

  • 1号线接收决定报道表明是否顶级功能run_intersect_test执行。

  • 第6行接收决定覆盖如果声明。

  • 第14行收到决定报道表明是否本地函数rect_intersect执行。

  • 行27和30接收决定,条件,和MCDC覆盖如果语句和条件。

    的条件right1 <候补委员在30行显示为红色,这表明这种情况没有评估所有可能的结果。覆盖率报告显示的结果仍然不满意的覆盖率分析。

覆盖率报告包括每个行代码的详细信息。单击链接打开编辑器相关的报告。

报道总结

报道的细节窗格显示总结覆盖整个的度量标准run_intersect_test函数。

覆盖率结果run_intersect_test报告7圈复杂度,和100%的决定覆盖率(8 8决策结果满意),88%的条件覆盖率(7 8条件结果满足),和75% MCDC报道(3,4条件逆转的决定的结果)。

报道的结论总结是:

  • 有八个决策结果报告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的11次步骤。

的覆盖率报告run_intersect_test显示100%的决定覆盖率,这表明函数至少执行一次。决策表另外显示函数执行11次。

覆盖第6行

决策分析表表明,决定在6号线,如果isempty (x1),总共11次执行。决定评估真正的一个时间步,十次错误的步骤。因为两个可能的结果发生,决定覆盖率是100%。

报道的结果如果isempty (x1)报告覆盖率100%的决定。1的11次的决定是正确的步骤,和假10的11次步骤。

覆盖第14行

决策分析表显示,当地的函数rect_intersect在测试期间执行,因此收到了100%的覆盖率。

覆盖率结果rect_intersect报告决定覆盖率100%。函数执行11的11次步骤。

覆盖线27

决策分析表表明,有两种可能的结果决定在27日真正的。五11次表达式的执行,评估决定。剩下的6倍,评估决定真正的。因为两个可能的结果发生,决定覆盖率是100%。

此外,条件分析表显示,因为这个决定由两个条件与逻辑或(| |必须评估)操作,只有一个条件真正的决定的结果真正的。如果第一个条件评估真正的,没有必要评估第二个条件。这就是所谓的逻辑短路。第一个条件,top1 < bottom211次,评估真正的两次。这个结果意味着第二个条件,top2 < bottom1评估只有9次。条件的评价为真正的四次,总真正的决定六个出现,匹配的数量决策分析表。

MCDC覆盖寻找决定逆转发生因为一个条件变化结果TF或从FT。的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®设计验证器™功能,你可以测量范围:

对于这个示例,考虑一个模型,该模型包含了一个MATLAB函数块。

一个模型包含一个常数块设置为30。恒定的信号块进入一个MATLAB函数块。MATLAB功能块的信号进入一个外港块。

MATLAB函数块包含这个代码:

函数y = fcn (u)%这个块支持MATLAB代金宝app码生成。sldv.condition(u > -30) sldv.test(u == 30) y = 1;

收集覆盖金宝app仿真软件设计验证器MATLAB函数,在配置参数对话框,报道窗格中,在其他指标中,选择目标和约束

仿真后,模型覆盖率报告显示覆盖sldv.conditionsldv.test功能。为sldv.condition,该表达式u > -30评估,真正的51次。为sldv.test,该表达式u = = 30评估,真正的51次。

对模型覆盖率数据的一个例子金宝app仿真软件设计验证器块,看到目标和约束范围

覆盖率报告MATLAB函数在一个外部文件

使用相同的模型MATLAB函数模型覆盖报告假设MATLAB函数run_intersect_testrect_intersect存储在外部MATLAB文件命名run_intersect_test.m

收集覆盖率为MATLAB函数在外部文件中,在配置参数对话框,报道窗格中,选择MATLAB文件覆盖

后仿真,模型覆盖率报告总结包含顶层模型和外部的部分功能。

覆盖率报告摘要显示总覆盖率88%覆盖条件,决定覆盖率100%,75% MCDC覆盖。项目1显示了run_intersect_test覆盖率和报告条件覆盖率88%,100%决定覆盖,75% MCDC报道。项目2显示了intersecting_rectangles1覆盖率和报告决定覆盖率100%,其他指标不适用。

模型的覆盖率报告run_intersect_test.m报告同样的覆盖率数据中存储的功能MATLAB函数块。

对于一个详细的示例模型的MATLAB函数的覆盖率报告外部文件,看看外部MATLAB文件覆盖报告

相关的话题