Simulink模型如何做单元测试

参考链接:

[1] https://ww2.mathworks.cn/videos/find-potential-design-errors-using-model-based-testing-86482.html

>>slvnmakeharness(‘model_name’)

注1:slvnvmakeharness(‘model_name’)其中的model_name指的是simulink模型文件的名称,非模型中某个模块的名称。

注2:输入命令slvnvmakeharness(‘model_name’)时需要将model_name文件打开。

注3:需要创建test harness的模型必须满足:compile无报错,即点击“run”,simulink右下角会出现“compiling”进度。当compile完成,如果没弹出错误框或者matlab工作窗口中没有提示错误,则表示compile成功。(1、被测模型必须为“输入+模型+输出”形式,其中输入为input,输出为output,不能为from或者goto模块;)

注4:被测模型中不能有enable or trigger模块。

注5:如果模型中有Z-1形式的delay模块(或者离散时间模块),一定要将simulink配置中的solver option设置为固定步长,否则compile会报错误。(solver配置为discrete?)

注6:被测模型的输入、输出必须为一一对应input、output,不能出现用BusSelector或者Bus Creator。

注7:出现数据类型冲突的时候,加入convert(后继承)以匹配前后量的数据类型。

  • 扩展测试用例

>>loggedSignals = sldvlogsignals('model_name_harness')

>>save extraTestCases.mat loggedSignals

  • 生成测试用例

进入被测模型界面,页面菜单进入analysisàdesign verifieràoptions

 

 

Model coverage objectives可选

加载保存的mat文件:extraTestCases.mat

回到Design Verifier主界面,生成用例

 

生成界面

 

Q:生成的test harness保存的路径

 

猜你喜欢

转载自blog.csdn.net/Eigrl/article/details/81700431