如何在Simulink中实现MIL的自动化测试?
![](https://img.auto-testing.net/testingimg/202008/04/000713841.png)
图中的软件组件测试、软件集成测试都可以通过MIL测试实现。
对于嵌入式ECU来说,其开发过程是一个反复迭代的过程,这就意味着测试工程师会重复地对软件功能进行测试。如果每一轮测试都根据测试用例手动调整接口,将会特别耗费精力,也容易出现错误。自动化测试就是在这样的背景下产生的。
今天,脚主将谈一谈如何在Simulink中实现MIL的自动化测试?
Simulink实现自动化测试的方法有多种,脚主这里介绍最常见的方法之一。
简单来讲,MIL的自动化测试可以分为以下三个步骤。
脚主将以下图所示的simulink模型为例进行具体介绍,就是一个与门逻辑。
![](https://img.auto-testing.net/testingimg/202008/04/000712131.png)
第一步、测试用例编写
测试用例主要是根据功能需求来编写的。测试工程师可以不了解具体的模型,把模型当成一个黑盒,直接根据系统需求进行测试场景、期望结果的设计。
对于上述例子的与门模型,可以设计如下图所示的excel测试用例,仅当两输入同为1时输出才为1。
![](https://img.auto-testing.net/testingimg/202008/04/000711161.png)
其实对这个模型来说,这4个测试用例是不够的,例如输入值有不为0/1的情况没有考虑。这里仅列举这4个作为范例参考。
第二步、Simulink模型设置
模型设置包括两方面内容:输入输出接口设置、配置参数设置。
模型输入输出接口需要设置为与测试用例一致,这样便于数据的导入以及测试结果对比,所以把上述模型输入输出接口分别改为a/b/c,如下图所示。
![](https://img.auto-testing.net/testingimg/202008/04/000710941.png)
配置参数设置包括求解器、数据输入输出设置。
求解器设置主要根据测试用例的需求设置仿真时间、求解器选择、仿真步长等,这些也可以通过自动化代码进行不同测试用例的差异化设置。本例中进行逻辑需求验证,所以这里运行一个步长即可,选择Stop time=0。
![](https://img.auto-testing.net/testingimg/202008/04/000709941.png)
数据输入输出设置,这是最为关键的一步,一定要保证输入数据的名称与模型的Inport名称一致,所以这里Input选择[0,a]、[0,b]。这样在进行模型仿真时,才可以把workspace中的数据a/b作为输入信号导入模型,实现模型的正常仿真计算。模型的输出会通过yout输出至workspace。
![](https://img.auto-testing.net/testingimg/202008/04/000708201.png)
第三步、自动化测试代码编写
自动化测试代码主要包括3个指令:xlsread、sim、xlswrite。
先用xlsread把测试用例的输入和期望输出读取进来;借助for循环,实现每一个测试用例的单独执行,这里会用到sim(‘XX.mdl’),把执行完的结果与期望的结果对比即可获得测试结果;最后把测试结果通过xlswrite写入excel。
并不是所有的测试结果都是一个具体的期望数值,有的可能是一个范围,有的可能只是一种状态,需要我们去设计一个合理的评判标准。当我们不能通过某一标准去识别测试结果时,可以把测试结以Map的形式反馈至测试报告中,以便做进一步分析。
具体代码如下图所示。
![](https://img.auto-testing.net/testingimg/202008/04/000707771.png)
运行自动化测试代码,得到以下结果。
![](https://img.auto-testing.net/testingimg/202008/04/000706271.png)
4个测试用例都通过,说明模型基本正确。
以上,简要介绍了MIL自动化测试的方法,不妥之处,欢迎交流。
- 下一篇:动力电池强标之针刺试验
- 上一篇:落地两年晒成绩 金龙自动驾驶助力智慧交通建设
最新资讯
-
直播|车载以太网Tx/Rx/link测试流程及测试
2025-02-18 17:03
-
理想纯电整车工厂,落地常州!
2025-02-18 17:01
-
氢安全事件分析 | 燃料电池发动机测试过程
2025-02-18 15:48
-
汽车座椅舒适和健康性能测试
2025-02-18 15:47
-
欧I到欧VII,对排放都要求了啥
2025-02-18 15:34