Simulink集成模型测试太慢怎么办?
Tips:
现阶段模型开发大部分采用Simulink,为了验证模型实现了相关功能,需要对模型进行测试。模型测试(MiL)有单元测试和集成测试之分。单元测试中模型复杂度低,信号参数数量少,测试用例数量少,用例时间短,通常为开环测试,测试用例运行总时长在可接受范围内。但是集成测试不同,由于模型结构复杂,信号参数数量庞大,加之测试用例时间长,导致需要处理大量信号数据(很多情况包含被控对象),测试运行总时间往往很长。
最近,有小伙伴向我们反馈,集成测试由于模型复杂度高,测试用例多,导致执行耗时非常长,TPT有没有加速测试的方法。
当然有了,有需求就会有解决方案。接下来向大家介绍TPT中加速运行的方法。
1. TPT结合Simulink自带的加速测试功能
1) TPT调用Simulink “Accelerator”或“Rapid Accelerator”模式
在TPT18中,可以指定Simulink的运行模式,分别为“Normal”、“Accelerator”和“Rapid Accelerator”,我们可以选择“Accelerator”或“Rapid Accelerator”模式,加速运行。
使用Simulink自带的demo集成模型进行演示,运行相同的用例,并统计不同模式的运行时间。
在TPT中选择运行模式。
图 1 在TPT中选择运行模式
图 2 不同模式运行总时长
以上结果可知,选择“Accelerator”或“Rapid Accelerator”模式后,运行速度有一定程度的提升。
2) TPT调用Simulink “Fast Restart”
我们也可以勾选“Fast restart”来提高运行速度。需要注意的是,“Rapid accelerator”模式不支持“Fast restart”。
图 3 Fast restart
Tips:
Fast restart:即快速重启,可避免再次编译。当以迭代方式仿真模型时,开启“Fast restart”后无需每次迭代时编译模型,提高测试速度。
Rapid Accelerator:Rapid Accelerator模式会根据被测模型创建可执行文件,使用external mode与Simulink进行通讯。
2. TPT多核运行模式
默认情况下,TPT运行时只会选择一个CPU内核进行测试。当测试用例较多时,可以选择多核模式,开启多个MATLAB运行测试。
在运行配置中点击“Use one core”。
图 4 Use one core
填写想要使用的数量,比如2核。
图 5 填写 “Cores”
我们可以看到,同时有2条测试用例在执行。
图 6 多核运行
可用核数取决于电脑配置,可以在设备管理器中的处理器查看。
图 7 电脑核数
3. 合并报告
在集成测试时,测试用例执行总时间很长。当遇到某条测试用例出现问题时,为了获取完整的测试报告,修改测试用例之后还需运行全部的测试用例。这样做的时间成本很高,还有没有其他的方式呢?答案是肯定的。
在TPT中,支持合并报告,如下进行说明。
首次运行工程后,存在未通过测试用例。
图 8 首次运行结果
修改“Test_Case_002”测试用例,并运行。
图 9 运行未通过测试用例
选择所有测试用例,在“Run”处点击“Generate overview report”即可生成包含所有测试用例的报告。
图 10 合并报告
最后,可以看到,测试报告包含全部测试用例。
图 11 测试报告
通过以上方法,TPT能够使得测试提速,减少时间成本。TPT提速测试并不局限于上述内容,如果着眼于整个测试过程,状态机测试用例的可视化、功能需求与测试用例和评估的双向追溯关系、适用于全局的评估等都能够加速测试。此外,TPT能够集成Jenkins部署CICT,实现自动化的测试流程。
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林。北汇信息作为PikeTec在中国的独家合作伙伴,致力于帮助中国客户提升嵌入式控制系统的开发效率。目前,TPT已被众多国内知名主机厂和零部件企业认可,在新能源(VCU/BMS/MCU)以及ADAS等领域中被广泛应用。
本文来自博客园,作者:{北汇信息},转载请注明原文链接:{https://www.cnblogs.com/polelink/}