9

随想录(sil、hil、mil测试)

 3 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/111149527
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

随想录(sil、hil、mil测试)

original.png
费晓行 2020-12-14 09:19:45 articleReadEyes.png 5
分类专栏: 随想录

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    对于安全系统,或者控制系统来说,sil、hil、mil测试是三种基本测试。

1、sil

    sil全称software in loop,也就是软件在环测试。这种测试本质上可以看成是一种软件仿真测试。比如说,一个qt软件,本来是要在嵌入式系统运行的,那么我可以在ubuntu上先用x86平台完成ui开发,然后port到arm平台,这都是可以的。再比如,一个英文单词查询的电子词典,界面部分完全可以在pc上面开发,不需要完全在开发板上实际调试,这样又快又好,这些都属于sil的范畴。测试可以从嵌入式硬件,转移到pc进行,这就是sil的意义。

2、hil

    hil称之为hardware in loop,也就是硬件在换。有一些电路和软件,依赖于外部的信号输出,才能测试对应的结果。比如说汽车上面前置的adas摄像头,我拿到了研发团队的开发板和软件后,怎么才能测试它的基本功能呢?这个时候,hil就派上用场的。一种常用的做法,就是去定制专门的测试硬件,比如用arm+fpga去将视频文件生成开发板需要的mipi信号,这样可以通过已有的视频库文件达到真实测试的目的。本身方便,也可以模拟出各种情况。

3、mil

    mil测试,称之为机械在环测试。主要是一部分测试,除了软硬件之外,还涉及到机械的部分,这部分有机械的输入和输出两部分。以机械输出为例,我们测试一个汽车发动机软件,当我们已经验证好sil和mil都没有什么问题之后,这个时候就需要看看软硬件正常运行的时候,进气控制、排气控制、点火控制、喷油控制,这些是不是真的没问题。这些部分都需要和真实的机械硬件搭配的。当然,有些同学说,这些用实际的发动机测试不就好了,干嘛需要mil测试?这个主要是,mil测试本身并不是真正的汽油燃烧测试,本身只是验证系统的机械属性,看看软件、硬件、机械三个部分配合得如何,mil不需要一个完整的发动机,只需要将发动机控制输出的几个部分拆分开来,配合测试进行就可以了。喷油燃烧的部分,甚至都可以用水来代替,这都是可以的。

    以上说的三种测试,对于tier1厂商的同学来说,都是基本测试。有相关经验的同学,可以多多了解,多多学习。sil、mil、hil本身代替不了系统测试和产品测试,但是在产品开发的早期快速发现问题,降低开发成本,提高开发收益,本身还是非常不错的选择。

a,有的地方把mil称之为model in loop测试,这也是可以的,但实际情况中,软件、硬件、机械联调的mil比较多一点

b,实际开发中,产品会模拟出一个最终形态的真实场景,比如如果是驾驶员监控软件,就会模拟出一个座舱来进行测试

c,实际场景的测试是比较重要的,但实际测试成本高很多,需要将实际场景的数据保留下来,留作sil、hil、mil使用


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK