• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

HIL测试方法上篇:测试流程与测试分析

谈到HIL测试,你首先会想到什么呢?想到一大堆的测试用例,测试脚本,还是数不清的测试报告,又或是常年与一台冰箱大小设备相伴工作的场景。如果谈到HIL测试方法,你又会想到什么呢?是各种软件测试方法,是团队的测试流程,还是硬件在环仿真技术本身?......HIL测试方法”一词太过宏大,为叙述方便,本文特指“为了验证ECU软硬件的设计和实现,基于硬件在环设备,如何设计测试流程、提取测试需求、设计测试用例、编写测试脚本的过程和方法论”。

测试流程

首先我们来看HIL测试流程。

第一步是收集ECU的测试依据,这里的测试依据包括ECU的软硬件设计说明书,ECU用户手册,行业和企业相关标准等;

第二步测试分析,即分析测试依据,找出HIL测试点。测试点顾名思义,就是测试用例要验证的功能,又称为测试需求。测试点的提取对测试质量非常重要,因为它直接影响到一个项目是否“漏测”,因此,需要组织专家对测试点进行review

第三步测试设计,即根据提取的测试点,设计测试用例和测试数据;可以使用各种软件测试技术(边界值,等价类,状态图等)来设计测试用例,并根据具体ECU设计情况选择测试数据,以求覆盖所有的测试点。测试用例和测试数据也需要进行review。值得注意的是,如果测试用例打算编写成自动测试脚本,并自动执行,则需要考虑测试脚本实现的可能性和方便性,步骤不应过多过细,最好留给测试自动化工程师一些发挥空间。

最后一步是测试脚本的编写和执行

整个测试流程中每一步骤都应该保持向前追踪,从而确保测试质量。其中,测试分析阶段最为重要,也是最能体现测试工程师设计能力的地方。

下文主要以20151228日发布的GBT 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议(后文简称快充协议)作为测试依据,讲解测试分析的过程。

测试范围:

对电池管理系统BMS的快充特性进行功能测试,通信测试和诊断测试。功能测试主要检查BMS在正常状态下充电时序逻辑、非正常状态下停止充电的时序逻辑是否正确;通信测试主要是检查J1939协议是否正确实现,它是功能测试和诊断测试的基础;诊断测试主要检查BMS的对发生的硬件故障是否能够正确记录,存储和清除DTC码。

测试对象分析:

功能测试分析:根据快充国标“附录A.6” 正常充电时序流程图,应测试所有BMS报文开始发送和停止的条件是否正确实现;对于有多个条件触发的报文,应测试所有的条件;同时,应检查BMS对车辆相关继电器的控制是否正确,相关监控点电压是否正确。根据“国标附录A.7,A.8A9A10”非正常状态下停止充电的时序流程图,一方面要测试BMS能否正确响应充电机的停止充电请求,另一方面也要测试BMS能否正确主动提出“停止充电请求”,并正确执行相关继电器的控制和电流的监控。根据“国标附录A11A12”通信超时流程图,一方面应测试BMS对充电机接收报文超时的响应是否正确,另一方面也要测试BMS能否正确发送超时故障报文,并执行相关继电器的控制和电流的监控。

通信测试应检查所有J1939报文的收发是否正确,尤其对于数据字节大于8byte的报文:BRMBCPBMVBMTBSP,应检查BMS的传输协议功能(消息的拆装和重组)是否正确实现。诊断测试应检查所有的故障诊断报文(包括DTC码)及其功能是否正确实现。

测试点与测试方法:

下面根据功能测试分析的内容,提取测试点,如下表:

测试项

测试点

测试思路

测试方法

正常充电时序

BHMBRMBCPBROBCLBCSBSMBMVBMTBSPBSTBSDBEM的发送条件和终止条件

检查每一个报文的发送条件和终止条件是否正确实现

有效条件,无效条件,对于超时门限判断,应用边界值方法

BMS充电唤醒

检查充电唤醒条件是否正确实现

有效条件,无效条件

BMS系统启动后,BMS根据“检测点2的电压决定是否进行握手连接

检查条件判断是否正确实现

有效条件,无效条件

BMS判断充电桩参数是否合适

检查判断条件及其相关继电器动作是否正确实现

有效条件,无效条件

BMS时间同步逻辑

检查时间同步逻辑是否正确(可选)

BMS主动停止充电流程

检查电流门限是否正确实现,以及继电器是否正确断开

边界值方法

BMS系统进入休眠

检查BMS在充电完成后,是否进入休眠状态

有效条件,无效条件

非正常状态下停止充电

BMS响应充电机的停止充电请求

检查电流门限是否正确实现,以及继电器是否正确断开

电流门限,继电器断开时间门限:边界值方法

BMS主动发出“因故停止充电请求”

检查各个故障原因(条件)是否正确触发“停止充电请求”

有效条件,无效条件;

BMS因故主动停止充电流程

检查电流门限是否正确实现,以及继电器是否正确断开

电流门限,继电器断开时间门限:边界值方法

BMS通信中断条件判断

检查通信中断条件是否正确实现

有效条件,无效条件

BMS因通信中断而主动停止充电

检查电流门限是否正确实现,以及继电器是否正确断开

电流门限,继电器断开时间门限:边界值方法

S开关断开(即检测点1电压不是4V),充电机主动停止充电

检查BMS是否进入休眠,并断开继电器

通信超时

当“充电机接收报文超时”时,BMS停止本次充电

检查电流门限是否正确实现,以及继电器是否正确断开;

电流门限,继电器断开时间门限:边界值方法

当“充电机接收报文超时”后,BMS会等待“重新辨识”

检查BMS是否正确实现了等待“重新辨识”的逻辑条件

有效条件,无效条件

BMS接收报文超时,主动要求停止本次充电

检查电流门限是否正确实现,以及继电器是否正确断开

边界值方法(其中,BEM报文触发条件的判断在第一条中验证),继电器断开时间门限

BMS接收报文超时”后,等待重新辨识

检查BMS是否正确实现等待“重新辨识”的条件

有效条件,无效条件

根据上表中的测试点和测试方法(并不全面和充分),结合实际BMS功能的规格书,通过选择测试数据,制定测试步骤和期望结果,可完成测试用例集的设计。

   对于通信测试和诊断测试,可以采用类似的分析方法,提取测试点和备注测试方法。本文限于篇幅不再详述。

主要参考文献:

《软件测试之魂 核心测试设计精解(第2版)》 肖利琼 著

GBT 18487.1-2015 电动汽车传导充电系统 第1部分 通用要求》

GBT 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议

——文章来源:融创芯城

全部回复(1)
正序查看
倒序查看
LED11
LV.3
2
2017-03-03 08:52
择一城终老,遇一人白首。
0
回复