cvtest
创建模型覆盖率测试规范对象
说明
使用 cvtest
创建一个存储模型覆盖率设置的测试规范对象。将 cvtest
对象传递给 cvsim
函数,根据您的设置执行覆盖率分析。
创建对象
描述
使用默认覆盖率设置创建 cvto
= cvtest(root
)cvtest
对象。root
可以是模型的名称或模型的句柄。root
也可以是模型内子系统的名称或句柄,在这种情况下,只对指定的子系统及其后代进行覆盖率分析。
注意
cvtest
对象中指定的覆盖率度量设置将覆盖模型配置参数中设置的覆盖率度量设置。
输入参量
root
— 模型的名称或句柄或者子系统的路径
character array
| string array
模型名称或句柄,或子系统的路径,指定为字符数组或字符串数组。
属性
id
— 内部模型 ID
scalar
此属性是只读的。
内部模型 ID,以标量形式返回。
modelcov
— 内部覆盖配置 ID
scalar
此属性是只读的。
内部覆盖率配置 ID,以标量形式返回。
rootPath
— 要分析的系统的名称或句柄
character array
| string array
此属性是只读的。
您指定要分析的系统的名称,以字符数组或字符串数组的形式返回。
数据类型: char
| string
label
— 测试标签
character array
| string array
测试标签,指定为字符数组或字符串数组。该标签作为测试名称出现在覆盖率报告中。
数据类型: char
| string
setupCmd
— 仿真之前在基础 MATLAB 工作区中执行的命令
character array
| string array
仿真之前在基础 MATLAB 工作区中执行的命令,指定为字符数组或字符串数组。
每次仿真之前都会执行设置命令。
数据类型: char
| string
settings
— 覆盖率设置
structure
要收集的覆盖率类型,指定为结构体。
settings
包括以下字段:
属性 | 描述 | 值 |
---|---|---|
| 启用决策覆盖率数据。 |
|
| 启用条件覆盖率数据。 |
|
| 启用修正条件决策覆盖率(MCDC) 数据。 如果启用了 |
|
| 启用来自 Simulink® Design Verifier™ 模块的覆盖率数据。 |
|
| 启用查找表的覆盖率数据。 |
|
| 启用信号范围数据。 |
|
| 启用信号大小数据。 |
|
| 启用整数溢出覆盖率数据饱和度。 |
|
| 启用关系边界覆盖率数据。 使用 有关详细信息,请参阅关系边界覆盖率 |
|
options
— 高级覆盖率选项
structure
高级覆盖率选项,指定为结构体。
options
包括以下字段:
属性 | 描述 | 值 |
---|---|---|
| 关系边界覆盖率的相对容差。 有关更多信息,请参阅关系边界覆盖率。 |
|
| 关系边界覆盖率的绝对容差。 有关更多信息,请参阅关系边界覆盖率。 |
|
| 是否将模型覆盖率记录限制在指定的仿真时间区间。 使用 有关详细信息,请参阅指定覆盖率选项 |
|
| 何时开始录制覆盖率。 如果启用了 |
|
| 何时停止录制覆盖率。 如果启用了 |
|
| 是否记录用模块简化参数标记的模块的覆盖率。
有关详细信息,请参阅Block reduction |
|
| 将哪个 MCDC 定义应用于模型,指定为以下选项之一:
有关更多信息,请参阅Simulink Coverage 中的修改条件和决策覆盖 (MCDC) 定义。 |
|
filter
— 覆盖率过滤器
structure
覆盖率过滤器,指定为结构体。
filter
有一个字段,filter.fileName
。filter.fileName
是应用于覆盖率分析的覆盖率过滤器文件的名称,指定为字符数组或字符串数组。
有关详细信息,请参阅覆盖率过滤规则和文件
modelRefSettings
— 模型参考设置
structure
(默认)
模型参考设置,指定为结构体。
modelRefSettings
包括以下字段:
属性 | 描述 | 值 |
---|---|---|
| 模型参考覆盖率设置,指定为以下选项之一:
|
|
| 是否从覆盖率分析中排除顶层模型,指定为数字或逻辑 |
|
| 要从覆盖率分析中排除的引用模型,指定为逗号分隔的模型名称的单个字符或字符串数组。 要使用此字段,请将 |
|
emlSettings
— 是否收集 MATLAB 函数调用的外部程序文件的覆盖率
structure
是否收集模型中 MATLAB 函数调用的外部程序文件的覆盖率,指定为结构体。
emlSettings
有一个字段,emlSettings.enableExternal
。如果要收集 MATLAB 函数调用的外部程序文件的覆盖率,则将 emlSettings.enableExternal
设置为 1
;如果不想收集 MATLAB 函数调用的外部程序文件的覆盖率,则设置为 0
。
sfcnSettings
— 是否收集 C/C++ S-Function 模块的覆盖率
structure
(默认)
是否收集模型中 C/C++ S-Function 模块的覆盖率,指定为结构体。
sfcnSettings
有一个字段,sfcnSettings.enableSfcn
。如果您想要收集模型中 S-Function 的覆盖率,请将 sfcnSettings.enableSfcn
设置为 1
;如果您不想收集模型中 S-Function 的覆盖率,请将其设置为 0
。
有关更多信息,请参阅 S-Function。
示例
使用 cvtest
对象分析覆盖率
此示例展示如何使用 cvtest
对象运行覆盖率分析。
打开 slvnvdemo_ratelim_harness
模型并使用 cvtest
定义测试对象。当您创建 cvtest
对象时,指定可调 Rate Limiter 模块作为要分析的模型对象。
load_system('slvnvdemo_ratelim_harness'); testObj = cvtest(['slvnvdemo_ratelim_harness', ... '/Adjustable Rate Limiter']); testObj.label = 'Gain within slew limits';
向 testObj
添加设置命令。在覆盖率分析之前,设置命令在基础 MATLAB 工作区中执行。在这种情况下,设置命令会将数据加载到仿真所需的工作区中。
testObj.setupCmd = ... 'load within_lim.mat';
为了收集整数溢出覆盖率的决策覆盖率和饱和度,请通过将属性设置为 true
或 1
来启用 testObj
对象中的 decision
和 overflowsaturation
属性。
testObj.settings.decision = true; testObj.settings.overflowsaturation = true;
最后,通过使用 testObj
调用 cvsim
来执行覆盖率分析。
cvdo = cvsim(testObj);
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)