主要内容

模型覆盖的类型

万博1manbetx®Coverage™可以执行几种类型的覆盖分析。

执行覆盖(EC)

执行覆盖是最基本的覆盖形式。对于每个项目,执行覆盖范围确定在模拟期间是否执行该项目。

决策覆盖范围(DC)

决策覆盖范围分析了代表模型中决策点的元素,例如交换块或eventsflow®状态。对于每个项目,决策覆盖范围通过遍历模拟的项目确定模拟路径总数的百分比。

有关模型覆盖报告中的决策覆盖数据的示例,请参阅分析的决定

条件覆盖(CC)

条件覆盖范围分析块输出其输入的逻辑组合(例如,逻辑运算符块)和状态流转换。当在模型中导致逻辑块的每个实例以及在模拟期间,在模拟期间至少一次的每个条件,在模拟期间,在模拟期间至少一次的情况下,测试案例达到全面覆盖。条件覆盖分析报告测试用例是否完全覆盖了模型中每个块的块。

收集模型的覆盖范围时,您可能无法实现100%的条件覆盖范围。例如,如果您通过选择指定短路逻辑块,请选择将Simul万博1manbetxink逻辑块视为短路在里面覆盖范围窗格在配置参数中,您可能无法实现该块的100%条件覆盖范围。看MCDC分析想要查询更多的信息。

有关模型覆盖报告中的条件覆盖数据的示例,请参阅分析的条件

修改条件/决策覆盖率(MCDC)

修改条件/决策覆盖范围分析万博1manbetxSimulink覆盖范围软件扩展了决策和条件覆盖能力。它分析了输出其输入和状态流过渡的逻辑组合的块,以确定测试用例测试逻辑块输入和转换条件的独立程度的程度。

  • 当一个输入的一个完全的输入,无关的任何其他输入时,测试案例为块的完全覆盖率导致块输出的变化。

  • 当在条件的变化触发每个条件时,测试案例在状态流过渡时实现了全面的覆盖范围。

如果您的模型包含定义具有不同类型逻辑运算符和超过12条条件的表达式的块,则该软件无法记录MCDC覆盖范围。

因为这万博1manbetxSimulink覆盖范围MCDC覆盖范围可能无法实现完全决策或条件覆盖,您可以实现100%MCDC覆盖范围没有实现100%的决策覆盖范围。

一些Sim万博1manbetxulink对象万博1manbetx支持MCDC覆盖,一些对象仅支持条件覆盖范围,以及一些对象仅支持决策覆盖范围。表中的表覆盖范围的模型对象列出哪些对象接收哪种类型的模型覆盖范围。例如,组合逻辑块可以接收决策覆盖范围和条件覆盖,但不是MCDC覆盖范围。

要为您的模型实现100%MCDC覆盖,如DO-178C / DO-331标准所定义覆盖范围配置参数的窗格,选择修改条件/决策覆盖率(MCDC)作为结构覆盖水平

收集模型的覆盖范围时,您可能无法实现100%MCDC覆盖范围。例如,如果您指定短路逻辑块,则可能无法为该块实现100%MCDC覆盖范围。

如果您独立运行测试用例并累积所有覆盖结果,则可以确定您的模型是否遵守修改的条件和决策覆盖标准。有关DO-178C / DO-331标准的更多信息,请参阅DO-178C / DO-331支票(万博1manbetxSimulink检查)

有关MCDC覆盖数据的示例,请参阅模型覆盖报告中,参见MCDC分析。有关累积覆盖结果的示例,请参阅累积覆盖范围

圈复杂性

圈复杂性是模型结构复杂性的量度。它近似于模型生成的代码的McCabe复杂度度量。由于该分析不考虑的代码特征,因此,复杂性度量比生成的代码不同于模型,例如统一逻辑和错误检查。

要计算对象的循环复杂性(例如块,图表或状态),模型覆盖范围使用以下公式:

C = σ. 1 N O. N - 1

N是对象表示的决策点数O.N是该的成果数量N决定点。计算考虑了矢量化操作或一个多端口交换机块作为一个决定点。该工具将1添加到原子子系统和状态流图的复杂性编号。

对于模型覆盖报告中的循环复杂性数据的示例,请参阅圈复杂性

查找表覆盖范围

查找表覆盖(LUT)检查块,例如1-D查找表块,从输入和输出表中的输入输出信息,从表条目中插入或推断。查找表覆盖记录表查找使用每个插值间隔的频率。测试案例在至少一次执行每个插值和外推中来时,可以完全覆盖。对于模型中的每个查找表块,覆盖率报告显示查找表的彩色地图,指示每个插值。如果N-D查找表块的断点总数超过1,500,000,则该软件无法记录该块的覆盖范围。

有关Model Coverage报告中的查找表覆盖数据的示例,请参阅n维查找表

笔记

仅在仿真开始时配置查找表覆盖范围。如果调整在运行时影响查找表覆盖范围的参数,则不会更新受影响块的覆盖设置。

信号范围覆盖范围

信号范围覆盖记录模型中每个块处的最小和最大信号值,如在仿真期间测量的。仅具有输出信号的块接收信号范围覆盖。

该软件没有记录用于控制信号的信号范围覆盖,由一个块使用的信号用于启动另一个块的执行。看控制信号

如果模型中的信号总数超过65535,或者您的模型包含宽度超过65535的信号,则软件无法记录信号范围覆盖。

对于模型覆盖报告中的信号范围覆盖数据的示例,请参阅信号范围分析

笔记

当您为可重用子系统或具有单个范围覆盖的统计流构造的累积覆盖范围时,累积覆盖率具有最大的信号值范围。有关更多信息,请参阅获取可重用子系统和StateFlow®构造的累积覆盖范围

信号尺寸覆盖范围

信号大小覆盖记录模型中所有可变大小信号的最小,最大值和分配大小。报告中仅包含具有可变大小输出信号的块。

如果模型中的信号总数超过65535,或者您的型号包含宽度超过65535的信号,则软件无法记录信号大小覆盖范围。

对于模型覆盖报告中的信号大小覆盖数据的示例,请参阅可变维信号的信号尺寸覆盖

有关可变大小信号的更多信息,请参阅可变尺寸信号基础

目标和制约因素覆盖范围

万博1manbetxSimulink覆盖范围软件收集以下内容覆盖数据万博1manbetxSimulink Design Verifier™块和matlab.®用于代码生成功能:

万博1manbetxSimulink Design Verifier MATLAB用于代码生成功能
测试条件(万博1manbetxSimulink Design Verifier) SLDV.Condition.(万博1manbetxSimulink Design Verifier)
测试目标(万博1manbetxSimulink Design Verifier) sldv.test.(万博1manbetxSimulink Design Verifier)
证明假设(万博1manbetxSimulink Design Verifier) sldv.assume.(万博1manbetxSimulink Design Verifier)
证明目标(万博1manbetxSimulink Design Verifier) sldv.prove.(万博1manbetxSimulink Design Verifier)

如果你没有万博1manbetxSimulink Design Verifier许可证,您可以为包含这些块或函数的模型收集模型覆盖,但您无法使用该模型分析模型万博1manbetxSimulink Design Verifier软件。

通过添加一个或多个万博1manbetxSimulink Design Verifier块或函数到您的模型中,您可以:

  • 检查一个结果万博1manbetxSimulink Design Verifier分析,运行生成的测试用例,并使用块遵守结果。

  • 使用测试目标块定义模型要求,并使用在模拟期间收集的软件的模型覆盖数据验证结果。

  • 分析模型,创建测试线束,并使用测试目标块模拟线束来收集模型覆盖数据。

  • 分析模型并使用证明假设块来验证任何CondereRexample万博1manbetxSimulink Design Verifier识别。

如果您指定收集万博1manbetxSimulink Design Verifier覆盖范围:

  • 该软件收集覆盖范围万博1manbetxSimulink Design Verifier块和功能。

  • 该软件检查链接到每个信号的数据类型万博1manbetxSimulink Design Verifier堵塞。如果信号数据类型是固定点,则块参数也必须是固定点。如果信号数据类型不是固定点,则软件尝试转换块参数数据类型。如果软件无法转换块参数数据类型,则软件报告错误,并且必须明确分配块参数数据类型以匹配信号。

  • 如果您的模型包含验证子系统块,则该软件仅记录覆盖范围万博1manbetxSimulink Design Verifier街区在验证子系统(万博1manbetxSimulink Design Verifier)堵塞;它不会为验证子系统中的任何其他块记录覆盖范围。

如果您未指定收集万博1manbetxSimulink Design Verifier覆盖范围,软件不会检查任何数据类型万博1manbetxSimulink Design Verifier模型中的块和函数,不会收集覆盖范围。

有关覆盖数据的示例万博1manbetxSimulink Design Verifier模型覆盖报告中的块或函数,请参阅万博1manbetxSimulink设计验证程序覆盖范围

在整数溢出覆盖范围内饱和

在整数溢出覆盖范围上饱和,检查块,例如ABS块,与在整数溢出上饱和参数选择。只有具有此参数的块选择在整数溢出覆盖范围内接收饱和。

在整数溢出覆盖上饱和记录整数溢出上块饱和的次数。

当块在整数溢出至少一次并且至少一次饱和时,测试案例达到完全覆盖。

有关在模型覆盖报告中的整数溢出覆盖数据上的饱和示例,请参阅在整数溢出分析上饱和

关系边界覆盖范围

关系边界覆盖率检查具有显式或隐式关系操作的块,状态溢图和MATLAB功能块。

对于这些模型对象,度量标准记录模拟是否测试了以下操作:

  • 相同的操作数值。

    只有在两个操作数都是整数或固定点号的情况下,此部分的关系边界覆盖范围仅适用。

  • 通过一定容差不同的操作数值。

    关系边界覆盖范围的这一部分适用于所有操作数。对于整数和定点操作数,可以修复公差。对于浮点操作数,您可以使用预定义的公差,或者您可以指定您自己的公差。

公差值取决于操作数的数据类型。如果两个操作数具有相同类型,则公差遵循以下规则:

数据类型的操作数 宽容
浮点,如单身的或者双倍的

MAX(ABSTOL,RELTOL * MAX(| LHS |,| RHS |))

  • ab是您指定的绝对容差值。默认为1E-05.

  • RELTOL.是您指定的相对容忍度。默认为0.01

  • LHS.是左操作数和RHS.正确的操作数。

  • max(x,y)回报X或者y,以较大者为准。

固定点 对应于最低有效位的值。有关更多信息,请参阅精确(定点设计师)。要找到精度值,请使用LSB.(定点设计师)功能。
整数 1
布尔基 N / A.
枚举 N / A.

如果两个操作数具有不同类型,则公差遵循更严格类型的规则。如果其中一个操作数是布尔,则公差遵循其他操作数的规则。严格的顺序减少:

  1. 浮点

  2. 固定点

  3. 整数

如果两个操作数是固定点,但具有不同的精度,则精度的较小值用作容差。

在选择此度量标准时,您可以指定绝对和相对公差的值,用于浮点输入的关系边界覆盖范围覆盖度量标准章节覆盖窗格配置参数对话框。

有关以下内容的更多信息: