浅谈MIL、SIL、PIL、HIL
MBD开过过程中,经常会接触到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就是模型在环,通俗一点理解就是对模型在模型的开发环境下(如SIMULINK)进行仿真,通过输入一系列的测试用例,验证模型是否满足了设计的功能需求。MIL是所有测试中最关键的,因为MIL的test accept criterion必须源于功能需求,没有其它的东西可以参考。而SIL/PIL的测试用例往往都是借用MIL的测试用例,一旦在MIL这个阶段的使用了错误测试用例,这个Bug很有可能会最终流出去,即便所有的测试都通过了。
SIL:
SIL是一种等效性测试,测试的目的是验证代码与控制模型在所有功能上是否完全一致。其基本原则一般是使用与MIL完全相同的测试用例输入,将MIL的测试输出与SIL的测试输出进行对比,考察二者的偏差是否在可接受的范围之内。
因此这个测试的目的就决定了带不带被控对象模型并不是那么重要。SIL测试一般都在PC上完成,对代码的编译器一般都是LCC,SDK,MSC等这些。
PIL:
PIL测试与SIL测试的不同在于软件是使用的目标MCU的编译器(Tasking)进行编译链接,也需要运行在目标板上,其基本工作原理如下。
其测试通过准则是,使用与SIL相同的测试用例输入进行测试时,比较PIL和SIL的输出,如果两者之差在容许范围之内,则测试通过。
HIL:
通过实时处理器运行仿真模型来模拟受控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。从安全性、可行性和合理的成本上考虑,硬件在环测试已经成为ECU开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低汽车厂的风险。
浅谈MIL、SIL、PIL、HIL相关推荐
- MIL/SIL/PIL/HIL定义梳理
本文主体内容转自以下两篇文章,略有删改. http://www.ind4.net/html/news/newsDetail_7007.html http://www.ind4.net/html/new ...
- MIL/SIL/PIL/HIL/VIL
MIL:Model in the loop 模型在环,对模型在模型的开发环境下(如SIMULINK)进行仿真,通过输入一系列的测试用例,验证模型是否满足设计的功能需求.验证控制算法模型是否准确地实现了 ...
- 随想录(sil、hil、mil测试)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 对于安全系统,或者控制系统来说,sil.hil.mil测试是三种基本测试. 1.sil sil ...
- python打开文件夹中的tiff_浅谈python下tiff图像的读取和保存方法
对比测试 scipy.misc和 PIL.Image和 libtiff.TIFF三个库 输入: 1. (读取矩阵) 读入uint8.uint16.float32的lena.tif 2. (生成矩阵) ...
- 浅谈yolov4中的一部分数据增强
浅谈yolov4中的数据增强 前言 数据增强 数据增强步骤 1.对图片进行水平翻转 2.对图片进行缩放 3.对图片HSV色域变换 4. Mosaic数据增强 5. 总代码 前言 在接下来的几天,我将解 ...
- 浅谈IM软件业务知识-实现富文本解析,如:解析字符串、网络链接等
----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...
- Java开发的B/S程序生成并向客户端发送excel文件:浅谈MIME
Java开发的B/S程序生成并向客户端发送excel文件:浅谈MIME 1.定义 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定 ...
- python中image什么意思_浅谈python图片处理Image和skimage的区别
做cnn的难免要做大量的图片处理.由于接手项目时间不长,且是新项目,前段时间写代码都很赶,现在稍微总结(恩,总结是个好习惯). 1,首先安装python-Image和python-skimage.py ...
- 浅谈MySQL存储引擎-InnoDBMyISAM
浅谈MySQL存储引擎-InnoDB&MyISAM 存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式 ...
最新文章
- 别再看GitHub的Star数了,这个数字更能反映项目流行趋势
- python打开后的界面-Python - tkinter:打开和关闭对话框窗口
- python学习系列day3-python基础
- html怎么转换undefined,JavaScript之Undefined详解
- [css] 为什么说不提倡用1px的小尺寸图片做背景平铺?
- 【POJ - 3281】Dining(拆点建图,网络流最大流)
- 计算机中整数加法满足结合律吗
- Intel® Nehalem/Westmere架构/微架构/流水线 (1) - 特性概述
- OpenCV 使用 FLANN 库实现特征匹配
- 特征的标准化和归一化
- Windows XP3安装internet 信息服务(IIS)时对策
- 攻防世界 逆向 logmein
- 简单学JAVA-Java前世今生
- excel保存快捷键_知心小虎| Excel 中常用的快捷键(第十一期)
- 微信小游戏制作学习笔记
- Android仿网易游戏的精美开场动画+动画基础详解
- 基于Vue开发的电商APP项目(仿蘑菇街)
- QMS-云质-质量管理软件-闲聊霍尼韦尔用13亿美元收购一家质量管理软件(QMS)小公司
- 完全卸载nvidia驱动
- cellpadding 与cellspace 属性
热门文章
- python的with open as f
- 学了python 你能干嘛
- 68.168.16.153 forum index.php,Discuz1314首页版块N格 带数据缓存功能(study_forum_nge)_Discuz应用中心...
- 计量经济学:多重共线性
- html图片自适应上下左右居中显示,图片大小自适应垂直居中的方法
- Server2012R2下安装intel 82579v网卡驱动
- html5图片平铺的代码,jQuery图片平铺效果制作网页背景图片平铺代码
- python第二课 序列特性
- 什么是粗粒度和细粒度权限
- Pyinstaller库的安装和使用用于生成可执行文件exe