第一篇文章讲了软件测试V模型的基本概念,那么V模型适合所有行业的开发吗?
答案是适用,但需要本地化的改动。
对于汽车行业,甚至航空航天行业,由于被控对象复杂,各控制器逻辑关系复杂,人机交互逻辑复杂,而且汽车行业一般使用matlab开发,最终转化为代码,因此基于V模型的汽车本地化软件测试方法诞生,他们就是MIL,SIL,PIL和HIL。
汽车测试过程中必然要进行单元测试,集成测试,系统测试,那么问题就来了,有朋友会问,MIL,SIL,PIL和HIL和单元测试,集成测试,系统测试的区别是什么呢?我们先来看一张图。
其实所说的MIL,基本上覆盖单元测试和软件集成测试。为什么说覆盖单元测试呢,这就是前面讲的汽车测试本地化,因为汽车控制器软件很多功能要面对被控对象,而被控对象不仅仅是输入输出IO,AD那么简单,因此简单的输入输出单元测试不能完全满足测试要求,有时候单元测试需要两个甚至几个单元组合进行测试才能达到测试效果与测试覆盖率,因此引入了模型在环,也就是我们所说的MIL进行,这样才能完整的对软件单元进行测试,提高测试覆盖率。
从上面可以看出MIL和单元测试是不对等的,两者互相包含但不相等。
SIL和PIL是MIL的等效测试,因此他们和单元测试与集成测试的关系和MIL基本是一致的。
HIL测试完全等效于系统测试,是将控制器软件硬件进行结合,之后对控制器进行闭环测试,主要面向于需求的功能。