基于ECU-TEST高效ECU自动化测试研究与应用
2020-10-26陈承鹤张武学
陈承鹤,肖 莎,王 军,张武学
(广州汽车集团股份有限公司汽车工程研究院,广州 510640)
0 引言
硬件在环(HIL,Hardware in the Loop)测试在汽车整车及其零部件开发过程中应用广泛[1-3]。通过HIL 测试可以便捷地验证单个零部件的功能,也可以验证不同零部件之间和系统的交互。此外,对于一些在实车验证过程中存在工况难以实现或费用高等情况,比如碰撞测试、部件故障测试等,在HIL环境中可以轻易地进行功能验证,待功能开发成熟后再进行最终的实车验证,从而尽可能地缩短研发时间以及节约研发成本。
自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件包括正常条件和异常条件,是将认为驱动测试转为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步一步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
ECU-TEST 是一款用于嵌入式测试系统的自动化测试软件工具。ECU-TEST 可以兼容不同硬件在环测试平台自动化测试[4-6]。目前HIL 测试方法多数为手动测试或基于测试软件自动测试方法。手动测试方法效率低,测试用例开发规范化不高。基于测试软件,如ECU-TEST 实现自动化测试,可提高测试效率,但测试用例的编写需要一定的软件专业能力。本文对结合办公软件EXCEL 和测试软件ECU-TEST,提出一种测试用例可统一管理、易懂易用、高效自动化HIL测试方法。
1 硬件在环测试系统
硬件在环测试系统组成如图1 所示,主要包含了实时仿真系统、被测ECU、诊断和标定工具及测试管理上位机。实时仿真系统主要由实时处理器、电源模块、IO 及通讯板卡、信号调理板卡和故障注入板卡等组成。
图1 硬件在环(HIL)测试系统
硬件在环测试系统仿真测试的核心设计思想是把实际的被控对象或其他的装置部件通过计算机实时仿真模型运行来代替,然后通过实时仿真接口和IO 板卡、通讯板卡连接起来,再和被测的控制单元连接,通过测试系统上位机实现控制仿真系统运行,构成一个完整的硬件在环的闭环测试仿真系统[7-8],对被测电控单元或部件进行各种功能测试。
硬件在环测试及自动化测试流程如图2 所示。首先根据被测ECU 搭建硬件在环测试台架,主要内容包括被控对象测试模型开发、测试硬件台架改造搭建、测试系统上位机界面开发和测试系统调试(测试机柜激励测试、测试系统开环测试及闭环测试);然后根据测试需求开发测试用例,此时可根据测试用例实现手动测试或自动测试,自动测试则需要根据测试用例在测试软件中开发自动测试序列;最后实现自动测试和报告生成,给出测试问题反馈,修改被测ECU 软件后再实现回归测试。
图2 硬件在环测试流程
2 基于ECU-TEST高效自动化测试方法
基于办公软件EXCEL 和测试软件ECU-TEST 设计开发一种高效的ECU 自动化测试方法,测试流程如图3 所示,其中测试用例开发易懂易用,具有规范化特点,同时自动化测试序列可自动生成,直接实现自动化测试及报告生成,提高测试效率及降低测试人员对测试软件专业技能要求。
图3 基于ECU-TEST高效自动化测试流程
2.1 测试用例开发
基于办公软件EXCEL进行测试用例开发,其中对测试用例的编辑表格格式和版面进行定制格式,图4所示为测试用例开发编辑表。测试用例开发表左边是测试用例测试序列具体操作步骤编辑表格;右边为测试用例开发表格,包括功能点、功能特性、测试目的、测试条件、测试步骤、预期输出等信息。其中通过选择右边测试用例不同条目,左边表格会自动切换选中测试用例的测试序列具体操作步骤内容。
图4 测试用例开发表
测试用例表主要是根据测试需求制定测试条目表,具体如图5所示。主要编辑内容如下。
图5 测试用例条目表
Test Case Name:测试用例名称,建议根据测试内容填写名称;
Run Test:是否自动生成ECU-TEST测试用例;
功能点: 测试用例所属功能点;
功能特性:测试用例测试功能具体特性;
测试ID: 测试用例的测试ID;
测试目的:测试用例测试目的描述;
测试方式:测试用例测试实现方式;
初始条件:测试用例实现需要的初始条件描述;
测试步骤:测试用例实现时测试步骤描述;
预期输出:测试用例实现按照测试步骤预期输出描述;
实际输出;测试用例测试完成实际输出描述,用于测试报告编写和后续跟踪;
是否通过:测试用例完成结果描述,用于测试报告编写和后续跟踪;
重要度:测试用例测试重要度描述,用于测试报告编写和后续跟踪;
测试人员:测试用例测试人员,用于测试报告编写和后续跟踪;
测试时间:测试用例测试时间,用于测试报告编写和后续跟踪。
自动测试序列操作步骤编辑表主要实现根据测试用例的描述将其转化为可在HIL测试系统执行的操作,如图6 所示。主要编辑内容如下。
图6 自动测试序列表
Test Case Name:测试用例名称,与测试用例相对应;
Test Step:测试步骤,按1,2,3顺序填写;
Type:操作类型,操作类型为设置好操作;
Description:该操作描述;
Variable Name:该操作对应的变量名称,多个变量分行填写;
Settings:该操作对应参数设置;
Value:该操作对应变量的设置值,多个变量的设置值分行填写;
Wait:该操作完成后等待的时间,秒为单位;
Remarks:备注信息;
其中,自动测试序列表中操作类型目前定义Write、Read、Condition、 Block、 Lib、 Unblock、 If、 Else、 El If、 End If、While、End While 共12 种操作类型,满足大部分测试操作需求,同时编辑自动测试序列较易懂易用,不需要软件专业技能要求,如图7所示为一个变量写入数值操作,说明如下。
Write:对可写变量进行写操作,需填写对应的Variable Name和Value列。
图7 Write操作编辑示例
2.2 自定义操作库开发
为了增加测试用例开发可扩展性,用户可自定义操作库,主要功能是可以将一些常用的操作组合成一个操作库,如图8 所示,在操作编辑表格里面直接使用库操作序列Lib。自定义操作库表和测试用例开发表类似,左边为操作库具体操作步骤编辑表,右边为操作库列表,包括名称和动作库备注描述信息。
图8 自定义操作库开发表
2.3 信号Mapping配置
信号Mapping配置表主要作用是将测试用例编辑表及自定义操作库表里使用到的变量名称和测试设备或标定相关变量一一关联起来,如图9 所示,然后通过可自动生成软件生成ECU-TEST使用的Mapping配置文件。
图9 信号Mapping配置表
2.4 自动生成ECU-TEST测试文件软件
完成测试用例等相关内容开发后,本文基于ECU-TEST API 接口开发了可自动生成ECU-TEST 测试相关文件软件,可实现自动生成测试序列生成及配置文件生成,然后在ECU-TEST进行自动化测试及报告生成,如图10所示。
3 BMS高效自动化测试应用
在电池管理系统BMS 硬件在环休眠唤醒功能测试应用了本文设计开发测试方法。首先搭建BMS 硬件在环测试台架,并完成台架闭环调试,然后搭建ECU-TEST 自动化测试工程,根据本文提供测试EXCEL表格进行测试用例开发,并自动生成自动测试测试用例序列文件及配置文件,通过ECU-TEST完成自动化测试并生成测试报告。
3.1 测试用例开发
图11所示为BMS休眠唤醒场景需求。根据BMS休眠唤醒测试需求开发测试用例,并完成测试序列编辑,如图12所示。
图11 休眠唤醒测试场景需求
图12 休眠唤醒测试用例
3.2 生成ECU-TEST测试文件
测试用例开发完成后,通过自动生成ECU-TEST 测试文件软件生成测试用例自动测试序列及配置文件,如图13 所示。
图13 自动测试序列文件
3.3 自动化测试执行
自动化测试序列自动生成完成后,可在ECU-TEST 直接运行测试,待测试完成后,自动生成测试报告,如图14所示。
图14 自动化测试报告
4 结束语
本文基于ECU-TEST 和EXCEL 设计开发一种更高效易用的自动化HIL 硬件在环测试方法,测试用例开发更为规范化,具有易懂、易用、不受限测试软件专业技能和权限使用等特点。并以BMS 休眠唤醒功能自动化测试应用,通过在实际项目中应用,进一步体现该方法易用性及高效性。