Simulink Test自动化(二)-自动创建TestFile,TestSuite及TestCase

前言

在前面一篇关于Simulink Test自动化的文章中,传送门:Simulink Test自动化(一)-自动创建Test Sequence

介绍了Test Sequence和Test harness的自动创建,本文接着介绍关于Test Manager中的Test File,Test Suite及Test Case的自动创建。

简单介绍一下三个文件的作用:

Test File:测试文件的载体,属于最上层,只有在这个层级下才可以对覆盖度进行相关配置。

Test Suite:中间层,可以建立多个Test Suite,相当于对Test Case分类。这里基本没有什么可以配置的地方。

Test Case:及测试用例,执行层,可以一个Test harness对应一个Test Case。在这个层级配置测试模型对应的Test harness

自动创建Test File

% Clear test file from Test Manager
sltest.testmanager.clear;
% Create the test file, test suite, and test case structure
tf = sltest.testmanager.TestFile(TestfileName);

sltest.testmanager.clear用来清除已打开的Test file

sltest.testmanager.TestFile用来创建Test File,参数为路径+File名称

配置覆盖度选项

%% Turn on coverage settings at test-file level
cov = getCoverageSettings(tf);
cov.RecordCoverage = true;
cov.MdlRefCoverage = true;
% Enable Decision Condition and MCDC coverage metrics
cov.MetricSettings = 'dmc';

getCoverageSettings获取当前file的覆盖度配置

配置覆盖度参数RecordCoverage,MdlRefCoverage为true

MetricSettings:

d: Decision coverage

c: Condition coverage

m: MCDC coverage

t: Lookup table coverage

r: Signal range coverage

o: Coverage for Simulink Design Verifier blocks

b: Relational boundary coverage

r: Signal range coverage

一般覆盖度检查为Decision Condition and MCDC

自动创建Test Suite

%% create TestSuite
ts = createTestSuite(tf,TestSuite_name);

tf为之前创建Test file时返回的句柄,后面一个参数为Test Suite的名称
一般在自动创建Test file时,会自动创建一个名为New Test Suite 1的Test Suite,可以使用下面的API函数删除它

% Remove the default test suite
tsDel = getTestSuiteByName(tf,'New Test Suite 1');
remove(tsDel);

自动创建Test case

for i = 1:length(harnessList)
    tc = createTestCase(ts,'baseline',harnessList(i).name);

    %set model and test harness
    setProperty(tc,'Model',test_model);
    setProperty(tc,'HarnessOwner',test_model,'HarnessName',harnessList(i).name);
end

本文以Test harness为Testcase载体,一个Harness对应一个Testcase。
首先创建Testcase,然后配置测试模型及对应的harness。

实现效果

自动生成的文件用Test Manager打开如下:

覆盖度配置已自动勾选上~~

总结

创建Testfile的脚本并不复杂,但也能减少一部分手动的工作量~下一篇介绍测试结果报告和覆盖度报告的生成。


若你觉得本文对你有帮助,欢迎点赞,关注,收藏,转发~~~
你的鼓励是对小弟的最大支持~~~

建了一个WX公众h,《汽车电子学习笔记》感兴趣可以关注一下~~~文章都会同步更新~

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赞哥哥s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值