HIL测试方法上篇:测试流程与测试分析-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4501|回复: 0

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

[复制链接]
发表于 2017-2-10 13:59 | 显示全部楼层 |阅读模式
谈到HIL测试,你首先会想到什么呢?想到一大堆的测试用例,测试脚本,还是数不清的测试报告,又或是常年与一台冰箱大小设备相伴工作的场景。如果谈到HIL测试方法,你又会想到什么呢?是各种软件测试方法,是团队的测试流程,还是硬件在环仿真技术本身?......“HIL测试方法”一词太过宏大,为叙述方便,本文特指“为了验证ECU软硬件的设计和实现,基于硬件在环设备,如何设计测试流程、提取测试需求、设计测试用例、编写测试脚本的过程和方法论”。

测试流程
首先我们来看HIL测试流程。
1.webp.jpg
第一步是收集ECU的测试依据,这里的测试依据包括ECU的软硬件设计说明书,ECU用户手册,行业和企业相关标准等;
第二步测试分析,即分析测试依据,找出HIL测试点。测试点顾名思义,就是测试用例要验证的功能点,又称为测试需求。测试点的提取对测试质量非常重要,因为它直接影响到一个项目是否“漏测”,因此,需要组织专家对测试点进行review。
第三步测试设计,即根据提取的测试点,设计测试用例和测试数据;可以使用各种软件测试技术(边界值,等价类,状态图等)来设计测试用例,并根据具体ECU设计情况选择测试数据,以求覆盖所有的测试点。测试用例和测试数据也需要进行review。值得注意的是,如果测试用例打算编写成自动测试脚本,并自动执行,则需要考虑测试脚本实现的可能性和方便性,步骤不应过多过细,最好留给测试自动化工程师一些发挥空间。
最后一步是测试脚本的编写和执行。
整个测试流程中每一步骤都应该保持向前追踪,从而确保测试质量。其中,测试分析阶段最为重要,也是最能体现测试工程师设计能力的地方。

下文主要以2015年12月28日发布的《GBT 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议》(后文简称快充协议)作为测试依据,讲解测试分析的过程。
2.webp.jpg
测试范围:
对电池管理系统BMS的快充特性进行功能测试,通信测试和诊断测试。功能测试主要检查BMS在正常状态下充电时序逻辑、非正常状态下停止充电的时序逻辑是否正确;通信测试主要是检查J1939协议是否正确实现,它是功能测试和诊断测试的基础;诊断测试主要检查BMS的对发生的硬件故障是否能够正确记录,存储和清除DTC码。
测试对象分析:
功能测试分析:根据快充国标“附录A.6” 正常充电时序流程图,应测试所有BMS报文开始发送和停止的条件是否正确实现;对于有多个条件触发的报文,应测试所有的条件;同时,应检查BMS对车辆相关继电器的控制是否正确,相关监控点电压是否正确。根据“国标附录A.7,A.8,A9,A10”非正常状态下停止充电的时序流程图,一方面要测试BMS能否正确响应充电机的停止充电请求,另一方面也要测试BMS能否正确主动提出“停止充电请求”,并正确执行相关继电器的控制和电流的监控。根据“国标附录A11,A12”通信超时流程图,一方面应测试BMS对充电机接收报文超时的响应是否正确,另一方面也要测试BMS能否正确发送超时故障报文,并执行相关继电器的控制和电流的监控。
通信测试应检查所有J1939报文的收发是否正确,尤其对于数据字节大于8byte的报文:BRM,BCP,BMV,BMT,BSP,应检查BMS的传输协议功能(消息的拆装和重组)是否正确实现。诊断测试应检查所有的故障诊断报文(包括DTC码)及其功能是否正确实现。
测试点与测试方法:
下面根据功能测试分析的内容,提取测试点,如下表:
测试项
测试点
测试思路
测试方法
正常充电时序
BHM,BRM,BCP,BRO,BCL,BCS,BSM,BMV,BMT,BSP,BST,BSD,BEM的发送条件和终止条件
检查每一个报文的发送条件和终止条件是否正确实现
有效条件,无效条件,对于超时门限判断,应用边界值方法

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 电动汽车非车载传导式充电机与电池管理系统之间的通信协议》
——文章来源:融创芯城

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 13:44 , Processed in 0.082477 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表