02 MIL SIL PIL HIL 的区别和定义
逍遥萧楠
|
2019.12.28
|
0
+关注

软件测试学习过程中,经常会接触到MIL、SIL、PIL、HIL,跟广大测试一样,本人在学习过程中也对这几种测试的内容不理解,同时他们和V模型的名称又不一样,对应关系不知从何入手。本文向广大测试工程师学习者谈一谈自己的理解,同时这几种测试和V模型中的测试不一样的地方我将在下一文中进行阐述。

我们先来看看MIL、SIL、PIL、HIL的定义,其实懂得英文的人基本可以通过英文定义大概知道几种测试概念。

定义:

MIL:Model in loop, 验证控制算法模型是否满足功能需求

SIL: Software in loop, 在PC上验证模型是否与代码功能一致

PIL:Processor in loop, 在目标处理器上验证模型是否与代码功能一致

HIL:Hardware in loop, 在ECU/EPP/整套系统上验证代码是否与需求功能一致

MIL:

MIL就是模型在环测试,在汽车上一般就是在Similink模型的开发环境下进行模型软法仿真,根据软件详细设计和概要设计,设计输入一系列的测试用例,验证软件模型是否满足了设计的功能需求。MIL是所有测试中的开始,后面SIL/PIL都是与该测试进行对照的,因此MIL阶段的测试用例显得至关重要,影响整个后期测试的质量。MIL测试不仅仅是用例输入输出那么简单,因为有些功能需要借助于被控对象反映而判断测试结果,因此需要将模型和被控对象组成环进行测试,即所谓的模型再环。

SIL:

SIL是一种等效性测试,测试的目的是验证代码与控制模型在所有功能上是否完全一致。其基本原则一般是使用与MIL完全相同的测试用例输入,将MIL的测试输出与SIL的测试输出进行对比,考察二者的偏差是否在可接受的范围之内。

SIL测试一般是没有被控对象模型的,其测试来源是MIL中生成的测试向量,这些测试向量可以模拟闭环过程。

SIL测试一般都在PC上完成,对代码的编译器一般都是LCC,SDK,MSC等这些。

PIL:

PIL测试与SIL测试的不同在于软件是使用的目标ECU的编译器进行编译链接,也需要运行在目标板上

其测试通过准则是,使用与SIL相同的测试用例输入进行测试时,比较PIL和SIL的输出,如果两者之差在容许范围之内,则测试通过。

HIL:

汽车控制器开发过程中,一般硬件周期较长,因此经常会存在软件已经开发完毕,但是没有硬件进行测试的情况。即使硬件已经完成,但是由于硬件直接进行路试成本太高,为提高开发效率,HIL测试应运而生。HIL是通过实时处理器运行被控对象模型来模拟受控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。同时在信号间加入故障,模拟实际路况故障,从安全性、可行性和合理的成本上考虑,硬件在环测试已经成为ECU开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低汽车厂的风险。

精选留言
会飞的伞
2020.01.19
延伸阅读
2020.06.30
2618阅读
2020.06.30
2790阅读
更多报告干货
写留言
4085
阅读
收藏
回到顶部