APP下载

柴油机ECU硬件在环灰盒测试用例开发研究

2021-09-28王贵勇姚国仲邓冬荣申立中

测控技术 2021年9期
关键词:喷油量测试点测试用例

王贵勇, 陈 余, 姚国仲, 邓冬荣, 申立中

(昆明理工大学 云南省内燃机重点实验室,云南 昆明 650500)

硬件在环(Hardware-in-the-Loop,HIL)测试是发动机电子控制单元(Electronic Control Unit,ECU)V开发模式中保证质量的关键一步[1],测试用例作为HIL测试的测试规章,规定了被测ECU各功能的测试过程及评判规则,是HIL测试中不可或缺的一部分,在测试前需要完成测试用例的开发。

目前,国内外对HIL测试用例开发的研究主要有两个方面:① 随着汽车电控技术与新能源汽车产业的迅速发展,HIL测试逐渐从传统的对发动机ECU的测试转变为对车身控制器、自动变速箱控制单元、新能源汽车整车控制器与电池管理系统等的测试[2-5],相应的测试用例需要根据测试对象功能特性的不同重新开发;② 随着发动机ECU控制功能越来越多,测试用例成倍增加,为了保证高效、高质的HIL测试,普遍采用自动化测试,这就要求测试用例在开发过程中能够快速生成与自动执行[6-7]。上述研究内容可概括为对测试用例类型、生成方法、执行方式等方面的横向扩展,即实现了测试用例开发广度上的研究创新。在测试用例测试深度方面通过对各高校及科研机构相关文献的研究分析可知,目前国内无论是传统内燃机ECU的测试用例还是新能源汽车整车控制器的测试用例,普遍采用黑盒测试思想开发[8-10]。黑盒测试用例在HIL测试时关注ECU对外总体控制功能是否正常而不考虑输入信号在ECU内部功能模块中的控制过程。随着柴油机ECU控制策略越来越复杂,内部功能模块越来越多,在当前高效、高质的V开发模式要求下,HIL的测试目的便不能仅停留在对ECU总体控制功能测试层面,而是要将测试深入至ECU各功能模块中,显然黑盒测试用例在这样的测试目的下测试深入程度不足。因此,面对当前测试程度不断深入的ECU HIL测试目的,需要将新测试思想融入HIL测试及其用例开发中,使基于新思想开发出的测试用例能够将测试深入至ECU各功能模块内部。

在研究了灰盒测试与柴油机ECU HIL黑盒测试用例开发方法的基础上,从基于灰盒的ECU HIL测试目的出发,将灰盒测试思想应用于测试需求分析和测试用例设计两个开发阶段,提出了一种基于灰盒测试的HIL测试用例开发方法,并以柴油机ECU起动工况喷油量计算模块为对象进行了方法应用与实验验证。对比黑盒测试用例,灰盒测试用例可为ECU HIL测试增加更多测试点与监控参数,对提高ECU控制模块内部测试错误发现率、保障ECU开发质量具有一定意义。

1 柴油机ECU HIL灰盒测试原理与方法

1.1 灰盒测试概述

灰盒测试是一种介于黑、白盒测试之间的测试,不仅关注被测对象输入、输出及响应关系,也关注被测对象内部运行情况[11]。这种关注不像白盒测试那样完整、详细,只是基于对被测对象内部细节的有限认知,通过对被测对象内部关键功能点、参数实施监控来判断运行情况。图1为灰盒测试原理。

图1 灰盒测试原理

1.2 基于灰盒的柴油机ECU HIL测试目的

HIL测试目的决定了采用何种测试思想进行测试及用例开发,黑、白、灰盒3种测试思想是根据各自特点从完全不同的角度考虑测试,因而对测试对象具有不同的测试深度。处于V开发模式阶段的ECU,软硬件质量还不稳定,HIL测试的目的是根据虚拟柴油机各运行工况完成ECU各控制模块的功能验证。

基于黑盒的HIL测试能够满足上述测试目的,测试时将各控制模块当做一个个黑盒进行测试,只考虑输入信号本身及其组合关系是否满足功能要求以及输出信号是否与输入信号控制关系正确,而不考虑功能实现的具体过程[12]。随着柴油机电控功能越来越多,柴油机ECU需要在短时间内对大量变化迅速的信号进行接受与处理,这些信号一部分来自外部传感器输入,另一部分则属于ECU控制模块内部参数。黑盒测试用例因其本身特点无法对ECU控制模块内部参数及功能点进行测试,故测试点及评价参数不够完善,测试出现问题时难以精准定位故障。

基于白盒的HIL测试同样能满足HIL测试目的,白盒测试用例把ECU各控制模块的实现过程及路径剖析的较为全面、透彻,因而能对ECU控制模块内所有功能点及参数进行监控,测试深度较深。但白盒测试用例测试点多且复杂,测试时毫无侧重点可言,测试数据及评价参数将非常繁杂,总体测试时间会极大地延长,影响测试效率。

为了实现柴油机ECU HIL测试目的且在保证HIL测试效率的同时将测试深入到ECU各控制模块内部,从灰盒测试角度对ECU HIL进行测试考虑。根据灰盒测试特点,灰盒测试用例在HIL测试时能够对柴油机ECU各控制模块内部关键功能点及运行参数进行监控,可对ECU控制功能的内部实现情况进行判断,测试不通过时测试人员可快速追踪关键功能点的实现情况,并根据运行参数准确定位故障模块,测试深度符合V开发模式阶段要求。

1.3 基于灰盒的柴油机ECU HIL测试用例开发方法

基于灰盒的柴油机ECU HIL测试目的决定了测试用例开发须基于灰盒测试,图2为柴油机ECU HIL灰盒测试用例开发方法,灰盒测试思想主要应用于测试需求分析和测试用例设计两部分。

图2 柴油机ECU HIL灰盒测试用例开发方法

HIL测试成败的关键在于ECU在虚拟柴油机各运行工况下各功能控制模块是否都得到了功能验证[13]。柴油机ECU HIL黑盒测试用例开发方法从ECU与柴油机联系的外部输入输出信号方面进行测试需求分析,由此确定输入输出信号测试点,灰盒测试用例开发方法在此基础上,测试需求分析时还对ECU各功能控制模块相应控制策略进行研究分析,从中找到影响各模块运行的内部关键功能点及参数并设置测试点进行测试、监控。测试用例设计阶段是对测试需求分析结果中各测试点充分运用黑、白盒测试的各种具体测试用例设计方法以确定测试点中诸如控制变量、测试步骤等测试用例的基本要素,规划测试流程与确定测试判断准则,最终实现对测试点细化与扩充完成测试用例编写的过程。

在柴油机ECU HIL灰盒测试用例开发方法中,测试需求分析过程是一个难点,在此阶段测试用例开发人员需要从错综复杂、相互关联的ECU控制策略体系中找到影响当前测试模块运行的关键功能点、内部参数与外部输入信号,并分析柴油机不同运行工况以确定测试条件与测试场景。相比较黑盒测试用例开发方法,这就要求测试用例开发人员除了要熟悉各类测试方法与测试技术,还要对ECU各功能模块控制策略及ECU控制柴油机过程、原理有深入认识。

2 应用实例

柴油机起动工况较为短暂,因而对ECU在此工况下功能控制的可靠性及稳定性有一定要求[14]。分析ECU起动工况控制策略体系可知,其内部起动喷油量计算模块是影响该工况正常运行的关键模块,因此本文使用灰盒测试用例开发方法对该模块进行HIL测试用例开发与方法验证。

2.1 测试需求分析

2.1.1 ECU控制策略分析

图3为起动喷油量计算模块控制策略。由图3可知,在该控制策略中,冷却液温度是影响起动喷油量计算的关键外部输入信号,起动喷油量是关键外部输出信号,同时起动基本转矩、起动修正转矩和起动需求转矩是该模块关键内部参数,起动基本转矩、起动转矩修正MAP插值与起动需求转矩逻辑加运算是该模块内关键功能点。根据灰盒测试思想,需要对上述关键外部输入、输出信号及关键内部参数、功能点设置对应测试点进行监控。

图3 起动喷油量计算模块控制策略

2.1.2 功能点-测试点转化

测试点是指测试用例要验证的功能点。功能点-测试点转化是根据被测ECU控制模块中各功能点、关键内外部参数对该模块的作用与影响,将测试点提取出来的过程。

分析图3可知,ECU采集冷却液温度传感器信号判断柴油机温度以确定当前起动环境温度条件。冷机起动时ECU将控制增大喷油量,以保证可靠的冷起动;热机起动时为避免冒黑烟等现象,ECU将控制适当减少喷油量[15]。因此对于输入信号冷却液温度与输出信号起动喷油量,需要从灰盒测试中黑盒一面出发,设置冷却液温度信号采集测试与起动喷油量边界输入测试。

柴油机ECU控制策略基于转矩控制架构,即转矩的需求量对喷油量起到决定性作用[16]。故本例中起动喷油量由起动需求转矩决定,而起动需求转矩由起动基本转矩与起动修正转矩决定。分析图3可知,该计算模块内起动基本转矩MAP插值、起动修正转矩MAP插值、起动需求转矩逻辑加运算3个功能点是影响起动基本转矩、起动修正转矩和起动需求转矩3个关键内部转矩生成的关键功能点,因此从灰盒测试中白盒一面出发,在该计算模块内设置MAP查询及逻辑判断测试对上述3个关键功能点和内部转矩进行监测。MAP查询测试是对控制模块各输入信号在曲线或MAP图中根据一定插值法查询相应输出参数后,验证输出参数是否正确的测试[17]。逻辑判断测试是控制模块中各内部参数根据控制策略进行相加等逻辑运算后,验证输出参数是否正确的测试。表1为本例测试需求分析结果。

表1 起动喷油量计算模块测试需求分析结果

通过上述分析可知,若运用黑盒测试思想对ECU起动喷油量计算模块进行测试需求分析,则将仅有表1中冷却液温度信号采集测试与起动喷油量边界输入测试2个测试点,测试评价参数仅有外部关键输入信号冷却液温度和关键外部输出信号起动喷油量。采用灰盒测试思想对该模块进行测试需求分析,可得表1中5个测试点,测试评价参数除包含黑盒测试的关键外部输入输出信号外,还增加了该模块内3个关键转矩,由此可见灰盒测试用例能够增加被测模块中测试点及评价参数。

2.2 测试用例设计

2.2.1 设计方法确定

本例选取黑盒测试的场景法、等价类划分法、边界值分析法与白盒测试的基本路径测试法作为灰盒测试用例的具体设计方法。

使用场景法设计的测试用例能够根据不同的测试条件模拟被测ECU控制模块在实际运行时各种功能场景,本例运用此法设计测试用例控制CRUISE M虚拟柴油机模型处于起动工况进行ECU HIL测试,将冷却液温度设为测试输入信号,发动机转速信号由虚拟柴油机模型运行输入,大气压力信号由ECU板上大气压力传感器提供。

台架试验一般将冷却液温度分为低于20 ℃、20~90 ℃与高于90 ℃ 3个区间,以对应柴油机冷机、常温和热机3种起动温度条件,同时《汽车发动机性能试验方法GB/T 18297—2001》要求柴油机低温起动试验需在263 K(-10.15 ℃)的环境温度下进行[18],又因柴油机冷却液冰点一般为-30 ℃,沸点为110 ℃,故本例使用等价类划分法在冷却液冰点与沸点之间划分出4个有效等价类以对应柴油机3种起动温度条件,冷却液温度高于其沸点时设置一个无效等价类以测试冷却液温度为非正常温度范围时ECU各功能点的运行情况,并从各等价类中选取若干具有代表性的冷却液温度作为测试输入信号,这样就将原本需要进行穷举输入的测试信号转变为了输入少量代表性的测试信号。

测试经验表明,大量错误发生在输入或输出范围的边界上[19],故本例使用边界值分析法弥补等价类划分法没有对各等价类边界值测试的不足。表2为包含等价类划分及其边界值代表温度值的冷却液温度输入信号表。测试用例将依次设定虚拟柴油机模型中冷却液温度为表2中13个代表温度值作为输入信号进行测试,方便、快速地模拟不同起动温度条件。

表2 冷却液温度输入信号 单位:℃

2.2.2 测试流程规划

本例使用基本路径测试法对图3中各功能点实现顺序及输入信号控制流程进行分析。在HIL测试平台自检、激励测试通过后,首先应完成冷却液温度信号采集测试以保证ECU能准确无误接收测试输入信号;然后进行不同冷却液温度测试输入信号下的起动喷油量边界输入测试以保证该模块总体控制功能正常;在此基础上,将测试深入该控制模块内部,进行起动基本转矩MAP及起动转矩修正MAP查询测试,以完成对两个MAP插值功能点及起动基本转矩、起动修正转矩两个内部关键参数的监测;在保证上述两转矩无误后,进行起动需求转矩逻辑判断测试以完成对起动需求转矩的监测。根据上述分析过程可得到如图4所示的测试流程。

图4 测试流程

2.2.3 测试判断准则确定

测试判断准则是测试用例执行时对测试点中测试数据的总体评判规则,测试点是否通过测试、测试用例是否继续执行均由此控制[20]。测试用例预期结果是各测试点中控制变量在当前测试步骤定义的测试场景下应达到状态的详细描述,是测试判断准则在标准测试用例文档中的具体化数据。表3为各测试点测试判断准则。

表3 测试点测试判断准则

2.2.4 测试用例编写

表4为基于以上分析所编写的起动喷油量计算测试用例,将表中测试用例基本要素进行转换后填入如图5所示的标准测试用例Excel文档中,然后通过HIL测试程序中测试脚本直接读取该文档并执行,实现测试用例对柴油机ECU起动喷油量计算模块HIL测试。

图5 标准测试用例Excel文档

表4 起动喷油量计算测试用例

3 测试平台与结果

3.1 测试平台

测试平台是开展测试的基础,也是测试用例得以执行、验证的根本保证,本文使用的HIL测试平台基于PC系统方案搭建,实时处理器选用多功能可重配置I/O设备USB-7845R。测试程序使用LabVIEW编程软件自主开发,虚拟柴油机模型使用 CRUISE M仿真软件搭建。测试数据由HIL测试程序中CAN通信模块调用INCA软件使用CCP通信协议自ECU测量点中读取、判断。

测试平台提供的ECU硬件在环测试环境如图6所示,其中,PC上位机负责运行HIL测试程序读取测试用例文件进行运行参数调整及测试控制,使用通用串行总线将这些数据传至实时处理器。实时处理器中FPGA模块依据虚拟柴油机模型运行参数通过底层BIT程序发生ECU运行所需传感器信号并经信号I/O接口送至被测ECU,ECU将根据输入信号工作并输出控制信号与CAN通信信号,同时实时处理器与PC上位机将分别采集控制信号与通信信号,以完成虚拟柴油机模型闭环运行与测试数据采集。

图6 ECU硬件在环测试环境

HIL测试程序依据测试流程对ECU进行测试,若ECU能通过各测试点测试,则判定ECU被测模块功能正常。若测试过程中出现某测试点失败,则HIL测试程序将中断测试并在测试用例文档中定位出测试失败步骤,同时在HIL测试程序人机交互界面显示失败的测试数据与测试设置参数,等待测试人员介入确认失败原因及确定测试是否继续。

3.2 测试结果

表5为冷却液温度信号采集测试结果,从中分析可知13个冷却液温度设定值与ECU识别值两者最大、最小偏差均在允许偏差内,测试点通过,ECU冷却液温度信号采集功能正常,可进行起动喷油量边界输入测试。

表5 冷却液温度信号采集测试结果 单位:℃

图7为起动喷油量边界输入测试结果,冷却液温度80 ℃以上的5条起动喷油量曲线与80 ℃曲线基本重合,故未在图中绘出。由图7可知,输入13个冷却液温度信号,ECU在完整起动时间内均能正确计算控制输出相应起动喷油量,且冷机起动喷油量比热机多,符合ECU在不同起动温度条件下灵活调整起动喷油量大小的功能控制原则,此测试点通过。

图7 起动喷油量边界输入测试结果

MAP查询及逻辑判断测试数据较多,此处仅选择冷却液温度为-10 ℃时的测试数据举例分析,表6为基本起动转矩、起动转矩修正MAP查询测试结果,表7为起动需求转矩逻辑判断测试结果。结果表明在该冷却液温度下,ECU通过MAP查询计算输出的基本起动转矩输出值、起动修正转矩输出值与MAP标准值误差始终保持在允许误差1%内,MAP查询测试点均通过;起动需求转矩值输出值等于基本起动转矩输出值、起动修正转矩输出值之和且与标准值误差始终保持在允许误差0.2%内,起动需求转矩逻辑判断测试点通过。

表6 基本起动转矩、起动转矩修正MAP查询测试结果

表7 起动需求转矩逻辑判断测试结果

实际测试时将表2中13个冷却液代表温度值作为CRUISE M虚拟柴油机仿真模型中冷却液温度输入信号输入,ECU在各冷却液温度下起动基本转矩、起动转矩修正MAP查询测试与起动需求转矩逻辑判断测试均能通过,故判定被测ECU起动喷油量计算模块中MAP查询、逻辑判断功能正常。综合分析起动喷油量计算测试用例中各测试点测试数据与结果,可判定被测ECU起动喷油量计算模块正常。

4 结束语

从基于灰盒测试的柴油机ECU HIL测试目的出发,提出了一种基于灰盒的柴油机ECU HIL测试用例开发方法,使用此法对柴油机ECU起动喷油量计算模块进行了测试用例开发并导入HIL测试平台进行了测试,测试数据表明被测ECU起动喷油量计算模块关键输入输出信号功能控制正常,同时该计算模块内各功能点均能通过测试,起动基本转矩、起动修正转矩及起动需求转矩3个控制模块内部关键参数与其标准值误差始终在允许误差范围内。由此可知,被测ECU起动喷油量计算模块在灰盒测试用例搭建的测试场景中通过测试,从而判定该计算模块工作正常。

此例验证了基于灰盒的柴油机ECU HIL测试用例开发方法的适用性,使用此法开发的灰盒测试用例不仅能对柴油机ECU总体控制功能进行测试,还能对ECU控制模块内部关键功能点及参数实施监测,从而更好地进行全面深入的HIL测试,快速准确地跟踪控制模块的故障,保障V开发流程中柴油机ECU质量。

猜你喜欢

喷油量测试点测试用例
矿山长距离胶带机动力特性测试及运行分析
基于信息熵可信度的测试点选择方法研究
高压共轨燃油系统喷油量的预测模型
基于SmartUnit的安全通信系统单元测试用例自动生成
逻辑内建自测试双重过滤测试点选取策略
多缸柴油机工作均匀性控制方法研究
基于混合遗传算法的回归测试用例集最小化研究
基于DOE方法优化轻型柴油机多点喷射策略的燃烧参数
高压共轨喷油系统多次喷射喷油量的波动
基于依赖结构的测试用例优先级技术