如何在Simulink中实现MIL的自动化测试?
图中的软件组件测试、软件集成测试都可以通过MIL测试实现。
对于嵌入式ECU来说,其开发过程是一个反复迭代的过程,这就意味着测试工程师会重复地对软件功能进行测试。如果每一轮测试都根据测试用例手动调整接口,将会特别耗费精力,也容易出现错误。自动化测试就是在这样的背景下产生的。
今天,脚主将谈一谈如何在Simulink中实现MIL的自动化测试?
Simulink实现自动化测试的方法有多种,脚主这里介绍最常见的方法之一。
简单来讲,MIL的自动化测试可以分为以下三个步骤。
脚主将以下图所示的simulink模型为例进行具体介绍,就是一个与门逻辑。
第一步、测试用例编写
测试用例主要是根据功能需求来编写的。测试工程师可以不了解具体的模型,把模型当成一个黑盒,直接根据系统需求进行测试场景、期望结果的设计。
对于上述例子的与门模型,可以设计如下图所示的excel测试用例,仅当两输入同为1时输出才为1。
其实对这个模型来说,这4个测试用例是不够的,例如输入值有不为0/1的情况没有考虑。这里仅列举这4个作为范例参考。
第二步、Simulink模型设置
模型设置包括两方面内容:输入输出接口设置、配置参数设置。
模型输入输出接口需要设置为与测试用例一致,这样便于数据的导入以及测试结果对比,所以把上述模型输入输出接口分别改为a/b/c,如下图所示。
配置参数设置包括求解器、数据输入输出设置。
求解器设置主要根据测试用例的需求设置仿真时间、求解器选择、仿真步长等,这些也可以通过自动化代码进行不同测试用例的差异化设置。本例中进行逻辑需求验证,所以这里运行一个步长即可,选择Stop time=0。
数据输入输出设置,这是最为关键的一步,一定要保证输入数据的名称与模型的Inport名称一致,所以这里Input选择[0,a]、[0,b]。这样在进行模型仿真时,才可以把workspace中的数据a/b作为输入信号导入模型,实现模型的正常仿真计算。模型的输出会通过yout输出至workspace。
第三步、自动化测试代码编写
自动化测试代码主要包括3个指令:xlsread、sim、xlswrite。
先用xlsread把测试用例的输入和期望输出读取进来;借助for循环,实现每一个测试用例的单独执行,这里会用到sim(‘XX.mdl’),把执行完的结果与期望的结果对比即可获得测试结果;最后把测试结果通过xlswrite写入excel。
并不是所有的测试结果都是一个具体的期望数值,有的可能是一个范围,有的可能只是一种状态,需要我们去设计一个合理的评判标准。当我们不能通过某一标准去识别测试结果时,可以把测试结以Map的形式反馈至测试报告中,以便做进一步分析。
具体代码如下图所示。
运行自动化测试代码,得到以下结果。
4个测试用例都通过,说明模型基本正确。
以上,简要介绍了MIL自动化测试的方法,不妥之处,欢迎交流。
- 下一篇:动力电池强标之针刺试验
- 上一篇:落地两年晒成绩 金龙自动驾驶助力智慧交通建设
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
最新资讯
-
直播|中汽中心 工程院:汽车智驾技术主题
2024-11-24 11:43
-
直播|中汽中心 工程院:无人驾驶车路云一
2024-11-24 11:42
-
直播|中汽中心 工程院:基于无人驾驶矿卡
2024-11-24 11:41
-
直播|中汽中心 工程院:超声波雷达测试系
2024-11-24 11:40
-
直播|中汽中心 工程院:基于车路云图的无
2024-11-24 11:40