Main Content

本页采用了机器翻译。点击此处可查看英文原文。

cvsim

仿真并返回测试对象的模型覆盖率结果

说明

cvdo = cvsim(modelName) 仿真模型并在 cvdata 对象 cvdo 中返回覆盖率结果。当使用 modelName 调用时,cvsim 使用模型配置参数中指定的覆盖率度量设置。

注意

即使模型配置参数中未启用覆盖率,cvsim 也会记录覆盖率。

cvdo = cvsim(testObj) 仿真模型并返回 cvtest 对象 testObj 的覆盖率结果。

注意

testObj 中指定的覆盖率度量设置将覆盖模型配置参数中指定的覆盖率度量设置。

[cvdo,simOut] = cvsim(__,Name,Value) 指定模型参数,仿真模型,并在 cvdata 对象 cvdo 中返回覆盖率结果,在 Simulink.SimulationOutput 对象 simOut 中返回仿真输出。

[cvdo,simOut] = cvsim(testObj,paramStruct) 设置结构体 paramStruct 中指定的模型参数。

示例

[cvdo1,...,cvdoN] = cvsim(testObj1,...,testObjN) 针对 N 测试对象仿真模型,并返回每个对象的覆盖率结果。

示例

全部折叠

此示例展示如何将 cvsimcvtest 对象输入和模型参数结构体一起使用。

加载 slvnvdemo_cv_small_controller 示例模型。

modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName)

创建一个 cvtest 对象并打开决策覆盖率。

testObj = cvtest(modelName);
testObj.settings.decision = 1;

创建一个定义以下模型参数的结构体:

  • 将绝对容差 AbsTol 设置为 1e-5

  • 使用 SaveState 启用仿真以将状态保存到工作区。

  • 使用 SaveStateName 声明用于保存状态信息的变量名。

  • 启用 Simulink® 以使用 SaveOutput 将仿真输出数据保存到工作区。

  • 使用 OutputSaveName 声明用于存储仿真输出数据的变量名称。

paramStruct.AbsTol =         '1e-5';
paramStruct.SaveState =      'on';
paramStruct.StateSaveName =  'xoutNew';
paramStruct.SaveOutput =     'on';
paramStruct.OutputSaveName = 'youtNew';

使用 cvsim 仿真模型并使用 cvhtml 生成覆盖率报告。

[covData,simOut] = cvsim(testObj,paramStruct);
cvhtml('CoverageReport.html',covData,'-sRT=0');

输入参数

全部折叠

Simulink 模型的名称,指定为字符数组或字符串数组。cvsim 使用当前覆盖率设置仿真模型。

数据类型: char | string

覆盖率测试设置,指定为 cvtest 对象。cvsim 使用 testObj 中指定的设置收集覆盖率。

testObj 中指定的覆盖率度量设置将覆盖模型配置参数中指定的覆盖率度量设置。例如,如果您的模型中的结构覆盖率等级参数设置为修正条件决策覆盖率(MCDC),但您的 testObj.settings.mcdc 属性为 0,则 covData = cvsim(testObj)不会记录 MCDC 覆盖率。

数据类型: cvtest

模型参数,指定为结构体。您可以将模型参数指定为结构体,并使用该结构体而不是名称值参量来设置多个参数。

paramStruct 字段是模型参数的名称,值是相应的参数值。

示例: paramStruct.AbsTol = '1e-5';

数据类型: struct

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来

示例: [cvdo,simOut] = cvsim(testObj,'AbsTol','1e-5'); 指定使用 1e-5 的绝对容差和 testObj 中指定的覆盖率设置来仿真模型。

cvsim 支持与 sim 支持的相同模型参数,但配置参数窗口的覆盖率窗格中的参数除外。

模型参数的名称,指定为字符数组或字符串数组。该参数的值被指定为下一个参量。

数据类型: char | string

输出参量

全部折叠

cvdo,作为 cvdata 对象返回。当记录层次结构中的多个模型的覆盖率时,cvdo 而是 cv.cvdatagroup 对象。cvdo 包含来自仿真系统的覆盖率数据。

请参阅 cvdata 了解对象结构体。

simOut,作为 Simulink.SimulationOutput 对象返回。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |