如何进行HIL自动化测试--介绍一款HIL自动化测试工具
扫描二维码
随时随地手机看文章
本文介绍硬件在环HIL自动化测试方法和模型,结合一款HIL自动化测试工具介绍如何进行HIL自动化测试,包括各种总线通信测试(CAN、LIN、CANFD、串口、以太网等)、各类信号激励和仿真测试(IO信号、PWM信号、模拟信号等),无线通信测试(如4G/5G通信、蓝牙/WIFI、OTA升级测试等)。支持搭建全仿真和半仿真的自动化测试环境,实现对被测系统的各种时序逻辑和业务功能的全面覆盖测试。目前该工具支持申请免费试用(请在文章的末尾查看如何申请试用)。
硬件在环HIL测试模型和测试方法
硬件在环HIL测试中,被测系统包含软件部分和硬件部分,对这样的环境测试,需要使用仿真的手段来模拟各种信号和数据, 从而构造出测试所需要的各种业务场景,包括正常的功能场景和异常场景。
半仿真半实物环境模型
在HIL测试中,一些被测系统(软件+硬件)的运行环境中,一些外部交互模块是可以通过仿真手段进行模拟(仿真模块),也有一些外部模块不能进行模拟,需要使用实际的模块(实物模块)。这样建立的环境是半仿真半实物测试环境,如下图所示:

全仿真环境模型
一些被测系统(软件+硬件)的运行环境中,所有的外部交互模块都可以使用仿真模块,这样建立的系统是全仿真环境。如下图所示:

硬件在环HIL仿真测试方法
硬件在环测试仿真测试主要通过各种技术手段(总线通信、信号仿真等)来模拟各种外部实物模块,可以对测试所需要的异常场景进行仿真,可以对被测系统进行软硬件各种功能的全面覆盖测试,并能极大程度降低测试的成本。下面文中将重点介绍总线通信的仿真技术和信号测试的仿真技术,并结合一个实际系统的HIL测试示例来介绍整个HIL仿真测试的过程。
总线通信自动化测试
如何定义通信的消息和信号
总线自动化测试需要支持各种通信协议和自定义的通信协议,能够对业务通信的数据帧结构进行规格化描述,支持各种信号,支持各种数据类型,支持各种校验方法(比如CRC, 校验和等),支持自定义算法等,类似CANoe的DBC文件。
1.在协议管理页面对测试中需要使用的协议进行管理

2.编辑消息和信号(字段)

如何进行数据发送
总线自动化测试,需要能支持各种数据发送的方式,比如周期发送、定时发送、即时发送等,下面是如何设置数据发送的方法。1.插入发送指令

2.设置周期发送的参数

如何进行数据检查和判定
总线自动化测试,需要能对接收到的数据进行自动化检查,检查指定的信号(字段)是否同满足预期,UTP系统提供各种检查手段。1.插入检查指令

2.输入预期的值,执行时实际的值将同预期的值自动比较

3.执行时自动判定检查结果

如何进行通信节点业务仿真
总线自动化测试,需要支持同通信节点的行为进行仿真,比如仿真外部ECU节点的各种行为。1.自动向被测系统发送业务数据2.自动接收并检查被测系统发出的业务数据3.自动对被测系统发出当前请求进行回复 
信号自动化测试
如何向被测系统输入IO信号
UTP系统支持向被测系统输入一路或多路IO信号,可根据需要灵活使用。输入单路信号时,指定引脚的Index和输出的高低电平,输入多路信号时,通过掩码pinMask来选择输出的管脚。
如何检查被测系统输出的IO信号
UTP系统支持同时检查被测系统输出的一路或多路IO信号。

如何向被测系统输入PWM信号
UTP系统支持同时向被测系统输入一路或多路PWM信号,指定信号的频率和占空比,即可产生相应的PWM信号输入到被测系统。

如何检测被测系统输出的PWM信号
UTP系统支持同时检测被测系统输出的一路或多路PWM信号,检测输出信号是否满足预期要求。

如何向被测系统输入模拟信号
UTP系统支持同时向被测系统输入一路或多路模拟信号,支持输入电流信号或电压信号,支持将模拟量(如温度,压力、转速)等转换成电压或电流信号输入被测系统。
如何检测被测系统输出的PWM信号
UTP系统支持同时检测被测系统输出的一路或多路模拟信号,支持自动将采集的电压或电流信号转换成模拟量(如温度、压力、转速等),检查是否满足预期要求。
UTP系统支持的功能
UTP测试系统的功能:
支持接口总线通信测试:支持各种总线通信测试,如:CAN、LIN、FlexRay、CANFD通信,RS232/RS485/RS422通信,以太网通信(TCP/UDP协议、DoIP协议、SOME/IP协议、DDS协议等),I2C通信,SPI通信等。
支持无线通信仿真测试:支持多种无线通信的仿真测试,如4G/5G、蓝牙、WIFI、GPS、北斗等。不需要依赖真实的无线环境,通过仿真实现对业务的全面自动化测试,支持各种异常场景的仿真。
支持信号仿真与测试:支持各种IO信号、PWM信号、模拟信号的测试,支持自动传感器信号仿真测试,支持自动检测和判定被测系统输出的各种信号。
支持UI显示识别与测试:支持各种嵌入式系统UI(如屏幕和数码管等)的显示进行识别、检测和自动判定,支持对各种桌面软件和嵌入式软件的GUI进行测试(如Qt软件测试)。
HIL自动化测试的示例方案
下面以某电机控制器中电机控制模块的自动化测试方案为例,分析如何使用宏控UTP测试系统建立HIL自动化测试环境。
(1)被测系统组成

电机控制模块是电机控制器的核心模块, 电机控制模块通过CAN接口同整车控制器(VCU)和电池管理系统(BMS)通信,接收VCU发来的目标转速、扭矩的控制信息,通过PWM信号控制电机运动,实时采集和处理各种传感器信号(如转速、扭矩、温度等),并将当前的转速等信息发给整车控制器(VCU)。
(2)被测系统的一个典型工作时序
① 电机控制模块通过CAN接口接收整车控制器发送的转速和扭矩信号② 电机控制模块向IGBT输出PWM电机控制信号③ 电机控制模块检测电流、电压、转速、扭矩和温度等信号
④ 电机控制模块将当前的转速和扭矩通过CAN接口发送给整车控制器
(3)搭建自动化仿真环境
下图宏控UTP测试系统为被测电机控制模块提供全仿真测试环境。

如上图所示,UTP测试系统建立了电机控制模块全仿真的自动化测试环境,用户在UTP协同测试平台上可对被测电机控制模块进行各种时序和控制逻辑的测试,对各种正常和异常场景进行全面验证。UTP测试系统通过各种自动化测试机器人来实现不同的仿真和检测功能, 这些自动化测试机器人包括:
① 整车控制器仿真机器人:自动仿真整车控制器同电机控制模块进行CAN通信
② 电池管理系统仿真机器人:自动仿真电池管理系统同电机控制模块进行CAN通信
③ PWM信号检测机器人:自动检测电机控制模块发出的PWM控制信号
④ 电流信号仿真机器人:自动仿真电机反馈的电流信号
⑤ 电源信号仿真机器人:自动仿真电机反馈的电压信号
⑥ 转速信号仿真机器人:自动仿真电机反馈的转速信号
⑦ 扭矩信号仿真机器人:自动仿真电机反馈的扭矩信号
⑧ 温度信号仿真机器人:自动仿真电机反馈的温度信号
(4)设计自动化仿真测试时序可以在UTP系统上编写各种测试时序逻辑,UTP系统将按时序逻辑调度测试机器人进行协同执行,实现对被测电机控制模块的全面自动化测试。下面是在UTP系统上创建的自动化测试用例(对应上面工作时序的一个测试时序逻辑)。

使用宏控UTP协同自动化测试系统可以编写各种测试时序,所编写的测试逻辑可以自动化执行,方便地实现对各种异常和正常场景进行全覆盖测试。
嵌入式自动化测试的使用方法
UTP自动化测试系统由UTP测试平台和测试机器人盒子(内部包含各种自动化测试机器人)组成,下面介绍UTP系统的具体使用方法。
(1)启动并登录测试机器人盒子
测试机器人盒子里运行了多种测试机器人(比如CAN测试机器人、以太网测试机器人、IO信号测试机器人等), 这些测试机器人将通过硬件模块连接被测嵌入式系统。


(2)登录UTP测试平台
输入账号和密码登录UTP平台, 支持多人同时登录使用。

(3)创建测试项目
输入项目名称、被测对象名称和项目描述信息,点击创建项目,支持创建多个测试项目(对应不同的产品项目)。此处以车身控制器的测试为例创建项目。


(4)配置项目使用的测试机器人
根据实际项目使用需要,配置一种或多种测试机器人,下图配置了CAN通信测试机器人、IO信号测试机器人、PWM信号测试机器人、模拟信号测试机器人。


(5)设计自动化测试用例
用户可以设计各种时序逻辑和业务场景的测试用例,不需要编写代码,支持用图形化积木式创建各种测试用例,支持用户设计任意多个测试用例:

所设计的用例自动产生测试步骤,下图是上面测试时序对应的测试步骤:

(6)执行测试集
支持选择一组测试用例创建测试集,支持通过测试集一键执行所选择的多个测试用例,用于自动化的回归测试。下图中创建了两个测试集,可以分别执行一键自动化回归测试。

(7)查看测试报告
UTP测试系统自动生成测试报告,支持导出测试报表(Word文件格式),报告包含所执行的用例统计信息和各用例执行的详细结果,如下图的示例测试报告中自动标出失败的用例对应的步骤和失败原因,方便快速定位问题。

宏控UTP嵌入式测试系统的特点
支持灵活选配各种测试功能
以下功能支持根据项目实际需求进行选配:
1.总线测试功能:CAN、LIN、FlexRay、CANFD、RS232、RS485、RS422、以太网、I2C、SPI等2.信号测试功能:IO信号、PWM信号、模拟信号
3.无线测试功能:4G/5G、蓝牙、WiFi、导航(GPS、北斗)
4.UI测试功能:各种软件UI、嵌入式系统UI
无需编程,支持各种复杂场景的测试
1.支持图形化设计各种测试用例,不需要进行C/C++等语言编程
2.支持快速设计各种复杂时序逻辑,支持异常注入,支持场景仿真
提供全流程自动化测试管理
1.统一管理各种测试文档、测试脚本、测试工具;
2.支持产品追溯矩阵、支持测试需求、测试用例、测试结果管理
3.支持团队共享各种测试资源
宏控UTP嵌入式测试系统能帮助您
支持快速搭建各种自动化测试环境
1.支持各种嵌入式系统测试、总线通信测试、信号仿真测试等
2.支持硬件在环(HIL)和软件在环(SIL)测试
3.支持搭建半实物半仿真环境和全仿真测试环境
支持产品快速迭代,持续保障产品可靠
1.支持建立完备的自动化测试用例,对产品各种功能、性能、可靠性进行全面测试
2.产品变更时进行自动化回归测试,持续保障被测产品的可靠稳定
提高测试效率,降低测试成本
1.统一管理各种测试文档、测试脚本、测试工具;
2.人工需要测试几周的工作,自动化测试几个小时就能完成
3.手工难以测试的功能,自动化可以轻松测试
免费试用申请
宏控UTP自动化测试系统现在支持免费申请试用:
宏控UTP自动化测试套装(试用版),包括试用的软件和硬件,支持总线通信测试,信号仿真测试,无线通信仿真等自动化模块,支持对各种ECU和域控制器进行测试。
该试用套装包括:
(一)接口总线通信自动化测试
支持CAN、LIN、RS232/485/422, 以太网、I2C、SPI等总线
支持各种标准通信协议和自定义协议的测试
兼容CANoe协议文件格式(dbc文件)
支持各种业务通信、诊断、仿真等功能
(二)自动化信号仿真和信号检测
支持IO信号、PWM信号、模拟信号的测试
支持多路信号的输入和输出
支持各种传感器的仿真测试
(三)自动化无线通信测试
支持4G/5G、蓝牙、导航信号的仿真测试
支持仿真各种异常通信场景
支持OTA升级测试
(四)自动化仿真测试
支持仿真各种实际环境参数,如温度、压力、高度、转速等
支持灵活配置仿真参数
支持对信号、时序、算法、场景等仿真
宏控软件介绍
宏控软件是一家面向各行业软件和硬件产品提供专业自动化测试工具和解决方案的公司,提供各种自动化测试工具,包括嵌入式软件测试、总线通信测试、无线通信测试、桌面软件测试等,帮助客户建立自动化测试环境,发现产品中深层次问题,提高产品可靠性,降低产品研发和测试成本。





