本文介绍硬件在环HIL自动化测试方法和模型,结合一款HIL自动化测试工具介绍如何进行HIL自动化测试,包括各种总线通信测试(CAN、LIN、CANFD、串口、以太网等)、各类信号激励和仿真测试(IO信号、PWM信号、模拟信号等),无线通信测试(如4G/5G通信、蓝牙/WIFI、OTA升级测试等)。支持搭建全仿真和半仿真的自动化测试环境,实现对被测系统的各种时序逻辑和业务功能的全面覆盖测试。目前该工具支持申请免费试用(请在文章的末尾查看如何申请试用)。
硬件在环HIL测试中,被测系统包含软件部分和硬件部分,对这样的环境测试,需要使用仿真的手段来模拟各种信号和数据, 从而构造出测试所需要的各种业务场景,包括正常的功能场景和异常场景。
半仿真半实物环境模型
在HIL测试中,一些被测系统(软件+硬件)的运行环境中,一些外部交互模块是可以通过仿真手段进行模拟(仿真模块),也有一些外部模块不能进行模拟,需要使用实际的模块(实物模块)。这样建立的环境是半仿真半实物测试环境,如下图所示:
全仿真环境模型
一些被测系统(软件+硬件)的运行环境中,所有的外部交互模块都可以使用仿真模块,这样建立的系统是全仿真环境。如下图所示:
硬件在环HIL仿真测试方法
硬件在环测试仿真测试主要通过各种技术手段(总线通信、信号仿真等)来模拟各种外部实物模块,可以对测试所需要的异常场景进行仿真,可以对被测系统进行软硬件各种功能的全面覆盖测试,并能极大程度降低测试的成本。下面文中将重点介绍总线通信的仿真技术和信号测试的仿真技术,并结合一个实际系统的HIL测试示例来介绍整个HIL仿真测试的过程。
如何定义通信的消息和信号
总线自动化测试需要支持各种通信协议和自定义的通信协议,能够对业务通信的数据帧结构进行规格化描述,支持各种信号,支持各种数据类型,支持各种校验方法(比如CRC, 校验和等),支持自定义算法等,类似CANoe的DBC文件。
1.在协议管理页面对测试中需要使用的协议进行管理
2.编辑消息和信号(字段)
如何进行数据发送
2.设置周期发送的参数
如何进行数据检查和判定
3.执行时自动判定检查结果
如何进行通信节点业务仿真
如何向被测系统输入IO信号
如何检查被测系统输出的IO信号
UTP系统支持同时检查被测系统输出的一路或多路IO信号。
如何向被测系统输入PWM信号
UTP系统支持同时向被测系统输入一路或多路PWM信号,指定信号的频率和占空比,即可产生相应的PWM信号输入到被测系统。
如何检测被测系统输出的PWM信号
如何向被测系统输入模拟信号
如何检测被测系统输出的PWM信号
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软件测试)。
电机控制模块是电机控制器的核心模块, 电机控制模块通过CAN接口同整车控制器(VCU)和电池管理系统(BMS)通信,接收VCU发来的目标转速、扭矩的控制信息,通过PWM信号控制电机运动,实时采集和处理各种传感器信号(如转速、扭矩、温度等),并将当前的转速等信息发给整车控制器(VCU)。
④ 电机控制模块将当前的转速和扭矩通过CAN接口发送给整车控制器
① 整车控制器仿真机器人:自动仿真整车控制器同电机控制模块进行CAN通信
② 电池管理系统仿真机器人:自动仿真电池管理系统同电机控制模块进行CAN通信
③ PWM信号检测机器人:自动检测电机控制模块发出的PWM控制信号
④ 电流信号仿真机器人:自动仿真电机反馈的电流信号
⑤ 电源信号仿真机器人:自动仿真电机反馈的电压信号
⑥ 转速信号仿真机器人:自动仿真电机反馈的转速信号
⑦ 扭矩信号仿真机器人:自动仿真电机反馈的扭矩信号
⑧ 温度信号仿真机器人:自动仿真电机反馈的温度信号
使用宏控UTP协同自动化测试系统可以编写各种测试时序,所编写的测试逻辑可以自动化执行,方便地实现对各种异常和正常场景进行全覆盖测试。
UTP自动化测试系统由UTP测试平台和测试机器人盒子(内部包含各种自动化测试机器人)组成,下面介绍UTP系统的具体使用方法。
测试机器人盒子里运行了多种测试机器人(比如CAN测试机器人、以太网测试机器人、IO信号测试机器人等), 这些测试机器人将通过硬件模块连接被测嵌入式系统。
输入账号和密码登录UTP平台, 支持多人同时登录使用。
用户可以设计各种时序逻辑和业务场景的测试用例,不需要编写代码,支持用图形化积木式创建各种测试用例,支持用户设计任意多个测试用例:
所设计的用例自动产生测试步骤,下图是上面测试时序对应的测试步骤:
支持选择一组测试用例创建测试集,支持通过测试集一键执行所选择的多个测试用例,用于自动化的回归测试。下图中创建了两个测试集,可以分别执行一键自动化回归测试。
UTP测试系统自动生成测试报告,支持导出测试报表(Word文件格式),报告包含所执行的用例统计信息和各用例执行的详细结果,如下图的示例测试报告中自动标出失败的用例对应的步骤和失败原因,方便快速定位问题。
支持灵活选配各种测试功能
以下功能支持根据项目实际需求进行选配:
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++等语言编程
提供全流程自动化测试管理
1.统一管理各种测试文档、测试脚本、测试工具;
2.支持产品追溯矩阵、支持测试需求、测试用例、测试结果管理
3.支持团队共享各种测试资源
支持快速搭建各种自动化测试环境
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升级测试
(四)自动化仿真测试
支持仿真各种实际环境参数,如温度、压力、高度、转速等
支持灵活配置仿真参数
支持对信号、时序、算法、场景等仿真
试用申请:请加下面微信,并备注“UTP嵌入式测试套装试用申请”
您也可以加入自动化测试交流群:
宏控软件是一家面向各行业软件和硬件产品提供专业自动化测试工具和解决方案的公司,提供各种自动化测试工具,包括嵌入式软件测试、总线通信测试、无线通信测试、桌面软件测试等,帮助客户建立自动化测试环境,发现产品中深层次问题,提高产品可靠性,降低产品研发和测试成本。
更多的介绍信息可以访问公司官网:https://www.macrosoftsys.com