基于模型的测试(壹)
基于模型的测试(壹)趁着还没“发霉”,把以前的知识在总结总结。本篇是基于MBD测试系列文章的第一篇,也不知道能写多少,且写且看吧。01概述在基于模型(MBD)开发的软件 中经常会涉
趁着还没“发霉”,把以前的知识在总结总结。本篇是基于MBD测试系列文章的第一篇,也不知道能写多少,且写且看吧。
01概述
在基于模型(MBD)开发的软件 中经常会涉及到MIL/SIL/PIL和HIL测试。
我们先来熟悉下以上几个术语的定义:
MIL- Model In Loop:验证控制算法模型是否满足设计功能需求;
SIL- Software InLoop:在PC上验证代码行为是否与模型一致;
PIL- ProcessorIn Loop:在目标处理器上验证代码实现的行为是否与模型一致;
HIL- Hardware InLoop:在整车或系统模拟外设上验证代码与控制器是否满足设计需求。
MIL就是对软件模型在模型的开发环境下(如Simulink)进行仿真,通过输入一系列的测试用例,验证模型是否满足了设计的功能需求。除此之外还需要做模型覆盖率度量:
ConditionCoverage(条件覆盖)
DecisionCoverage(判定覆盖)
Switch-caseCoverage(分支覆盖)
MIL测试结构图如下图所示:
1- 针对范围:单元测试与集成测试;功能模块和集成模块;2- 功能:验证算法模型是否满足设计的功能需求。
02MIL 测试过程
MIL测试除建立控制器模型外,还需建立被控对象模型,将控制器和被控对象连接起来进行闭环测试。但是在不少子模块中,例如输出为开关量或者在输入确定时输出是固定值,无需和受控对象一起组成闭环系统进行测试,而集成的系统则需要受控对象。因此,将 MIL测试分成两部分:带受控对象的MIL测试和不带受控对象的MIL测试。
1- 不带受控对象的MIL测试:不带受控对象的MIL测试,设计人员可以很方便的通过设定输入并给出期望的输出,测试时将模型输入设定的输入值,观测模型的输出值是否和期望值保持一致,判定模型是否有效。具体测试过程如下:设计测试用例设计功能模型的测试用例。测试用例设计时应遵循以下原则:1)- 确定输入和输出,并确定其取值范围。2)- 按照边界值和其左右值,中间值的方式进行输入值的确定,根据确定的输入值,给出期望输出。3)- 包含测试环境描述和测试步骤。4)- 包含执行结果。5)- 包含判定指标和判定结果。建立测试环境将搭好的功能模块模型建立输入、输出环境,设定模块的参数值。执行测试将设定的输入值输入模型,记录模型执行结果。测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成测试报告。输入输出保存保存MIL在测试过程中的输入和输出值,用于后续的SIL、PIL的测试验证。2- 不带受控对象的MIL测试:带受控对象的MIL测试,一般为子功能模型集成后的模型,实现具体的需求功能。直接受控对象为电机模型,联合仿真(如下图所示),在给定输入条件的情况下,监控输出信号,判定输出结果的正确性。
测试系统模型在整车环境下的输出特性时,需要建立整车的模型,因整车模型的特殊性,一般从OEM或者整车模型软件(CarSim,CarMaker等)中获取。
带受控对象的MIL测试流程和不带受控对象的MIL测试流程基本保持一致。设计测试用例设计功能模型的测试用例。测试用例设计时应遵循以下原则:1)确定输入和运行时间参数,确定输出范围。2)包含测试环境描述和测试步骤。3)包含执行结果。4)包含判定指标和判定结果。建立测试环境将搭好的功能模块模型建立输入、输出环境,设定模块的参数值。执行测试将设定的输入值和时间输入模型,记录模型执行结果。测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成测试报告。
03总结
MIL测试主要是验证模型功能的正确性,是否满足设计的功能需求。只有保证了建模的正确性,才能保证在此基础上生成的代码的正确。通过MIL测试,指定输入和期望结果,将仿真结果和期望结果进行比对,根据判定标准验证模型是否正确。
-
光固化3D打印模型怎么后期处理?2020-08-23
-
Prophet:Facebook 简单高效的时间序列模型2020-08-23
-
汽车零部件低功耗测试三大难点2020-08-23
-
MATLAB上的“转型始于数据和模型”2020-08-23
-
超4000项极限测试长安欧尚X5?2020-08-23
-
TransRepair:自动测试及修复神经网络翻译模型的不一致性问题2020-08-23
-
【详细图解】Onyx制作3D打印模型用于砂型铸造2020-05-23
-
荷兰研究称中国检测试剂盒优于其他国家:对新冠病毒更敏感!2020-05-23
-
照片秒变icon?日本研究员提出基于生成对抗网络的Iconify模型来帮忙!2020-05-21
-
小马智行获北京自动驾驶载人测试牌照2020-05-18
-
钟南山团队公布新冠危重症预测模型,准确率88%2020-05-15
-
沧州主城区道路开放测试,百度为狮城装上了“ACE交通引擎”2020-05-15
-
研究表明:统一编程模型可节省大量时间和金钱2020-05-14
-
原厂的更香 雷神记忆魔人DDR4-3000内存测试2020-05-14
-
华为5G芯片为何比别人快?每月测试人员行程绕地球赤道两圈2020-05-08