扩展现有的测试套件
这个例子展示了如何使用仿真软件®设计校验™扩展现有测试套件来金宝app获取丢失的模型覆盖。
你分析一个例子模型和生成测试套件实现全覆盖。然后,不再修改模型,测试用例实现全面覆盖。最后,您修改后的模型分析获得失踪的报道通过使用仿真软件®设计验证人™。金宝app
生成一个初始测试套件
分析sldvdemo_cruise_control
模型和生成一个测试套件,实现全覆盖模型。分析模型来生成测试用例,覆盖模型,使用sldvrun
函数。设置设计验证参数sldvoptions
。
open_system“sldvdemo_cruise_control”;选择= sldvoptions;选择。模式=“TestGeneration”;选择。ModelCoverageObjectives =“MCDC”;选择。SaveHarnessModel =“关闭”;选择。SaveReport =“关闭”;(地位、文件)= sldvrun (“sldvdemo_cruise_control”、选择正确的);
测试生成分析结果出现在仿真软件设计校验结果总结窗口。金宝app
close_system (“sldvdemo_cruise_control”,0);
验证完全覆盖
的sldvruntest
函数模拟模型与现有的测试套件。的cvhtml
函数产生一个覆盖报告表明最初的报道sldvdemo_cruise_control
模型。
open_system“sldvdemo_cruise_control”;[outData, initialCov] = sldvruntest (“sldvdemo_cruise_control”,文件。丢失,[],真);cvhtml (“初始覆盖”,initialCov);close_system (“sldvdemo_cruise_control”,0);
修改模型
加载修改后的sldvdemo_cruise_control_mod
模型。控制器的目标速度值限制在70个,通过使用一个饱和
块。
load_system“sldvdemo_cruise_control_mod”;load_system“sldvdemo_cruise_control_mod /控制器”;
测量范围通过现有的测试套件
的sldvruntest
函数模拟了修改sldvdemo_cruise_control_mod
与现有的测试套件和输入相同的模型sldvdemo_cruise_control
模型。的cvhtml
函数产生一个覆盖报告表明修改后的sldvdemo_cruise_control_mod
模型不再达到完全覆盖。
[outData, startCov] = sldvruntest (“sldvdemo_cruise_control_mod”,文件。丢失,[],真);cvhtml (“与原testsuite报道”,startCov);
扩展现有的测试套件
覆盖,实现完整的模型sldvgencov
函数分析模型,扩展了现有的测试套件。
(状态、covData文件)= sldvgencov (“sldvdemo_cruise_control_mod”选择,真的,startCov);
验证完全覆盖
验证新的测试套件实现全面覆盖sldvdemo_cruise_control_mod
修改后的模型。的sldvruntest
函数模拟修改后的模型与扩展的测试套件。的cvhtml
报告显示总报道通过sldvdemo_cruise_control_mod
模型。
[additionalOut, additionalCov] = sldvruntest (“sldvdemo_cruise_control_mod”,文件。丢失,[],真);totalCov = startCov + additionalCov;cvhtml (额外的覆盖的,totalCov);
完成,关闭模式。
close_system (“sldvdemo_cruise_control_mod”);