天天看点

Simulink集成模型测试太慢怎么办?

Tips:

现阶段模型开发大部分采用Simulink,为了验证模型实现了相关功能,需要对模型进行测试。模型测试(MiL)有单元测试和集成测试之分。单元测试中模型复杂度低,信号参数数量少,测试用例数量少,用例时间短,通常为开环测试,测试用例运行总时长在可接受范围内。但是集成测试不同,由于模型结构复杂,信号参数数量庞大,加之测试用例时间长,导致需要处理大量信号数据(很多情况包含被控对象),测试运行总时间往往很长。

最近,有小伙伴向我们反馈,集成测试由于模型复杂度高,测试用例多,导致执行耗时非常长,TPT有没有加速测试的方法。

当然有了,有需求就会有解决方案。接下来向大家介绍TPT中加速运行的方法。

TPT结合Simulink自带的加速测试功能

1)TPT调用Simulink “Accelerator”或“Rapid Accelerator”模式

在TPT18中,可以指定Simulink的运行模式,分别为“Normal”、“Accelerator”和“Rapid Accelerator”,我们可以选择“Accelerator”或“Rapid Accelerator”模式,加速运行。

使用Simulink自带的demo集成模型进行演示,运行相同的用例,并统计不同模式的运行时间。

在TPT中选择运行模式。

Simulink集成模型测试太慢怎么办?

图 1 在TPT中选择运行模式

Simulink集成模型测试太慢怎么办?

图 2 不同模式运行总时长

以上结果可知,选择“Accelerator”或“Rapid Accelerator”模式后,运行速度有一定程度的提升。

2)TPT调用Simulink “Fast Restart”

我们也可以勾选“Fast restart”来提高运行速度。需要注意的是,“Rapid accelerator”模式不支持“Fast restart”。

Simulink集成模型测试太慢怎么办?

图 3 Fast restart

Tips:

Fast restart:即快速重启,可避免再次编译。当以迭代方式仿真模型时,开启“Fast restart”后无需每次迭代时编译模型,提高测试速度。

Rapid Accelerator:Rapid Accelerator模式会根据被测模型创建可执行文件,使用external mode与Simulink进行通讯。

TPT多核运行模式

默认情况下,TPT运行时只会选择一个CPU内核进行测试。当测试用例较多时,可以选择多核模式,开启多个MATLAB运行测试。

在运行配置中点击“Use one core”。

Simulink集成模型测试太慢怎么办?

图 4 Use one core

填写想要使用的数量,比如2核。

Simulink集成模型测试太慢怎么办?

图 5 填写 “Cores”

我们可以看到,同时有2条测试用例在执行。

Simulink集成模型测试太慢怎么办?

图 6 多核运行

可用核数取决于电脑配置,可以在设备管理器中的处理器查看。

Simulink集成模型测试太慢怎么办?

图 7 电脑核数

合并报告

在集成测试时,测试用例执行总时间很长。当遇到某条测试用例出现问题时,为了获取完整的测试报告,修改测试用例之后还需运行全部的测试用例。这样做的时间成本很高,还有没有其他的方式呢?答案是肯定的。

在TPT中,支持合并报告,如下进行说明。

首次运行工程后,存在未通过测试用例。

Simulink集成模型测试太慢怎么办?

图 8 首次运行结果

修改“Test_Case_002”测试用例,并运行。

Simulink集成模型测试太慢怎么办?

图 9 运行未通过测试用例

选择所有测试用例,在“Run”处点击“Generate overview report”即可生成包含所有测试用例的报告。

Simulink集成模型测试太慢怎么办?

图 10 合并报告

最后,可以看到,测试报告包含全部测试用例。

Simulink集成模型测试太慢怎么办?

图 11 测试报告

通过以上方法,TPT能够使得测试提速,减少时间成本。TPT提速测试并不局限于上述内容,如果着眼于整个测试过程,状态机测试用例的可视化、功能需求与测试用例和评估的双向追溯关系、适用于全局的评估等都能够加速测试。此外,TPT能够集成Jenkins部署CICT,实现自动化的测试流程。

继续阅读