此示例演示如何使用Simulink®设计验证程序™ 扩展现有金宝app测试套件以获得缺失的模型覆盖率。
分析示例模型并生成测试套件以实现完全覆盖。然后,修改模型,使测试用例不再实现完全覆盖。最后,使用Simulink®Design Verifier分析修改后的模型以获得缺少的覆盖™.金宝app
分析sldvdemo\u巡航控制
建模并生成实现完全模型覆盖的测试套件。要分析模型以生成提供模型覆盖的测试用例,请使用sldvrun
功能。使用设置设计验证参数SLDV选项
.
开放式系统“sldvdemo\u巡航控制”;opts=sldvoptions;opts.Mode=“测试生成”;opts.modelCoverage对象=“MCDC”; opts.saveharnesmodel=“关”;选择保存报告=“关”; [状态,文件]=sldvrun(“sldvdemo\u巡航控制”,opts,true);
测试生成分析结果显示在Simulink Design Verifier结果摘要窗口中。金宝app
封闭系统(“sldvdemo\u巡航控制”,0);
这个sldvruntest
函数使用现有测试套件模拟模型cvhtml
函数生成一个覆盖率报告,该报告指示sldvdemo\u巡航控制
模型
开放式系统“sldvdemo\u巡航控制”;[outData,initialCov]=sldvruntest(“sldvdemo\u巡航控制”,files.DataFile,[],true);cvhtml(“初始覆盖”,initialCov);关闭系统(“sldvdemo\u巡航控制”,0);
加载修改后的sldvdemo\u巡航控制\u模块
模型。控制器目标速度值限制为70,通过使用饱和
块
加载系统“sldvdemo\u巡航控制\u模块”; 加载系统“sldvdemo\u巡航控制\u模块/控制器”;
这个sldvruntest
函数模拟修改后的sldvdemo\u巡航控制\u模块
具有现有测试套件和与相同输入的模型sldvdemo\u巡航控制
模型cvhtml
函数生成一个覆盖率报告,该报告指示修改的sldvdemo\u巡航控制\u模块
模型不再实现完全覆盖。
[outData,startCov]=sldvruntest(“sldvdemo\u巡航控制\u模块”,files.DataFile,[],true);cvhtml(“原始测试套件的覆盖率”,startCov);
要实现全车型覆盖,请斯尔德芬科夫
函数分析模型并扩展现有的测试套件。
[状态、数据、文件]=sldvgencov(“sldvdemo\u巡航控制\u模块”,opts,true,startCov);
验证新的测试套件是否实现了sldvdemo\u巡航控制\u模块
修正模型sldvruntest
函数用扩展的测试套件来模拟修改后的模型。这个cvhtml
报告显示了sldvdemo\u巡航控制\u模块
模型
[additionalOut,additionalCov]=sldvruntest(“sldvdemo\u巡航控制\u模块”,files.DataFile,[],true);totalCov=startCov+additionalCov;cvhtml(“附加保险”,totalCov);
要完成示例,请关闭模型。
封闭系统(“sldvdemo\u巡航控制\u模块”);