随着汽车逐步走向智能化、网联化,整车的功能已经不再局限于驾驶员在车内进行本地操作。在远离车辆时,驾驶员也可以通过手机APP下发控制指令来实现对车辆的远程控制。
近几年,伴随远控功能项不断增多,其功能逻辑也越来越复杂,因此,对测试的覆盖度、深度及敏捷度等都带来了巨大的挑战。传统基于实车或Labcar台架的手动测试方案,对测试环境要求较高且测试周期长,已经不再满足远控功能软件快速迭代测试的需求。为了解决此问题,本文提出了一种基于CANoe和vTESTstudio开发的远控功能自动化测试解决方案。
该方案以TBOX控制器为测试对象,搭载桌面级测试环境,利用vTESTstudio软件编写自动化测试序列,结合CANoe软件的仿真和测试功能,完成对车辆远控功能的自动化测试。此方案对测试环境要求较低且自动化程度较高,大大缩短了测试执行的周期、降低了人力投入。
以下将从测试环境搭建、用例编制、测试流程及实例等方面,对此方案进行详细介绍。
- 硬件测试环境搭建
远控功能的实现路径如图1所示,即客户通过手机APP下发远控指令,经TSP平台传递到整车TBOX控制器中,再由TBOX下发至各控制器;车辆状态反馈的实现路径与远程控制的路径相反,由各控制器反馈当前设备状态到TBOX,由TBOX将反馈结果进行上传,经TSP平台到手机APP查看控制结果。
图1 远控功能实现路径
远控功能的测试重点:
- APP能否正确下发控制信号到控制器;
- 控制器执行命令后,反馈的状态信号能否正确传输到APP且正确显示。
在传统测试方案中,需要将所有控制器及负载接入台架中,这种方案虽然可以满足测试要求,但涉及样件过多,搭建环境比较复杂,测试难度及后期维护成本过高。针对此测试弊端,提出一种全新测试方案,如图2所示:
1、以TBOX作为测试对象,利用仿真信号模拟其他控制器反馈状态信号;
2、通过ADB命令控制手机APP下发远控指令执行及查看执行反馈;
3、上位机监控远控指令日志以及控制测试序列执行。
图2 测试硬件环境搭建示意图
- 自动化测试软件介绍
远控功能自动化测试方案主要基于vTESTstudio和CANoe两款软件进行测试序列开发、测试实施、测试报告生成及问题定位。
vTESTstudio利用内建智能算法灵活地设计测试序列和用例,并且支持用户使用多种方式创建测试文件,包括编程(CAPL、C#、Python)、表格(Test Table)和图形(Test Sequence Diagram、State Diagram),高效地实现各种复杂测试需求和场景。
图3 vTESTstudio软件Test Sequence Diagram模块
CANoe是强大的ECU开发、测试和分析的专业工具。利用其仿真和测试功能,可模拟测试相关子系统的状态信号以及执行vTESTstudio编辑的测试序列,并自动生成测试报告。
图4 CANoe软件Test Units模块
- 测试流程概述
远控功能自动化测试的流程主要分为以下几个步骤:
- 根据功能规范整理测试功能点;
- 根据测试功能点编写测试用例,确保测试用例的覆盖度及深度;
- 创建CANoe工程;
- 创建vTESTstudio工程,根据功能点分别创建测试序列文件;
- CANoe中加载测试序列,执行自动化测试;
- 测试结束,输出测试报告。
图5 远控功能自动化测试流程
- 车辆远控功能自动化测试示例
下面以远程控制车窗功能为例,来具体介绍远控功能的自动化测试方案。
远程控制车窗是用户通过手机APP对车窗的开启、关闭和通风功能发起控制请求,车辆在收到远程指令后,判定条件满足的情况下,执行相应的动作,并将执行的结果反馈到用户的手机APP上。
首先对该功能需求进行初步分析,形成远程控窗功能测试的思维导图。如图6所示:
图6 远程控制车窗功能测试思维导图
远程控制车窗功能根据功能需求划分为"全开"、"全关"及"通风"三大部分,每个子功能根据其初始状态(车窗初始位置和故障状态)划分测试场景,再根据执行操作(全开/全关/通风)反馈对应执行结果(执行成功/执行失败)。
基于思维导图,创建功能测试用例,如图7所示:
图7 远程控制车窗功能测试用例
测试用例划分项包括测试功能描述、前置条件、操作步骤、期待结果、实际结果、测试问题描述等,用于确认测试功能覆盖度、编写测试序列及输出测试结果。
接下来创建CANoe工程,加载测试输入文件,建立仿真节点,如图8所示。
图8 远程控制车窗CANoe工程
仿真节点一般根据测试项目的数据库文件生成,上图显示仿真节点有两个,GW_TBOXCAN节点用于仿真发送数据库中所有和TBOX有信号交互的报文,ECALL节点用于仿真发送数据库中拨打ECALL功能相关报文,利用仿真节点的Open IL Configuration功能选择发送与测试相关的报文,便于后续测试序列调用仿真报文中的信号。
根据功能测试用例,通过vTESTstudio建立测试序列,下图9为远程控窗功能的测试序列。
图9 车窗全开操作测试序列前提条件
图10 车窗全开操作测试序列判断条件
图9、图10为车窗全开操作序列,该测试序列逐层执行,上一层是下一层的前提条件,与测试用例一一对应,条理清晰。在测试执行操作后,选择条件区分框,基于不同前置条件对应不同测试结果,使整个测试序列更为简洁,便于后期维护。
图10 Test Units模块加载测试序列
由上图可知,测试序列文件加载到CANoe Test Units模块后生成可执行的Test Case,勾选对应的Test Case后运行CANoe,执行自动化测试。完成以上各项操作后,根据CANoe生成的测试报告,输出测试结果,完成对车窗远控功能的测试。
其他的车辆远控功能自动化测试原理,与远程控窗功能类似。目前,我们已经完成了对车辆远控功能自动化测试序列的开发。主要包括以下的远控功能项:
表1 远控功能自动化测试功能项
|----|---------------|
| 序号 | 功能项 |
| 1 | 远程寻车 |
| 2 | 远程闪灯 |
| 3 | 远程关怀模式开启/关闭 |
| 4 | 远程控制背门开启/关闭 |
| 5 | 远程控制车窗全开 |
| 6 | 远程控制车窗全关 |
| 7 | 远程控制车窗通风 |
| 8 | 远程解锁 |
| 9 | 远程闭锁 |
| 10 | 远程控制空调开启/关闭 |
| 11 | 远程前除霜开启/关闭 |
| 12 | 远程急速升温降温开启/关闭 |
| 13 | 远程空气循环开启/关闭 |
| 14 | 远程空调温度设置 |
| 15 | 远程控制天窗全开 |
| 16 | 远程控制天窗全关 |
| 17 | 远程控制天窗通风 |
| 18 | 远程座椅加热开启/关闭 |
| 19 | 远程座椅通风开启/关闭 |
| 20 | 远程座椅加热档位调节 |
| 21 | 远程座椅通风档位调节 |
| 22 | 远程方向盘加热开启/关闭 |
| 23 | 立即备车 |
| 24 | 预约备车 |
- 结语
本文主要介绍了基于vTESTstudio的车辆远控功能自动化测试方案,适用于所有远控功能的完整自动化测试,可以根据客户需求增加功能项或测试点,具有测试覆盖度高、灵活性强等特点。希望通过本文的介绍,各位小伙伴能够对车辆远控功能自动化测试方案有初步的了解,愿我们共同携手,一起打造功能自动化测试平台,为汽车智能化保驾护航。