车辆远控功能自动化测试方案:打造高效可靠的测试流程

本文主要是介绍车辆远控功能自动化测试方案:打造高效可靠的测试流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着汽车逐步走向智能化、网联化,整车的功能已经不再局限于驾驶员在车内进行本地操作。在远离车辆时,驾驶员也可以通过手机APP下发控制指令来实现对车辆的远程控制。

近几年,伴随远控功能项不断增多,其功能逻辑也越来越复杂,因此,对测试的覆盖度、深度及敏捷度等都带来了巨大的挑战。传统基于实车或Labcar台架的手动测试方案,对测试环境要求较高且测试周期长,已经不再满足远控功能软件快速迭代测试的需求。为了解决此问题,本文提出了一种基于CANoe和vTESTstudio开发的远控功能自动化测试解决方案。

该方案以TBOX控制器为测试对象,搭载桌面级测试环境,利用vTESTstudio软件编写自动化测试序列,结合CANoe软件的仿真和测试功能,完成对车辆远控功能的自动化测试。此方案对测试环境要求较低且自动化程度较高,大大缩短了测试执行的周期、降低了人力投入。

以下将从测试环境搭建、用例编制、测试流程及实例等方面,对此方案进行详细介绍。

  • 硬件测试环境搭建

远控功能的实现路径如图1所示,即客户通过手机APP下发远控指令,经TSP平台传递到整车TBOX控制器中,再由TBOX下发至各控制器;车辆状态反馈的实现路径与远程控制的路径相反,由各控制器反馈当前设备状态到TBOX,由TBOX将反馈结果进行上传,经TSP平台到手机APP查看控制结果。

图1 远控功能实现路径

远控功能的测试重点:

  1. APP能否正确下发控制信号到控制器;
  2. 控制器执行命令后,反馈的状态信号能否正确传输到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模块

  • 测试流程概述

远控功能自动化测试的流程主要分为以下几个步骤:

  1. 根据功能规范整理测试功能点;
  2. 根据测试功能点编写测试用例,确保测试用例的覆盖度及深度;
  3. 创建CANoe工程;
  4. 创建vTESTstudio工程,根据功能点分别创建测试序列文件;
  5. CANoe中加载测试序列,执行自动化测试;
  6. 测试结束,输出测试报告。

图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的车辆远控功能自动化测试方案,适用于所有远控功能的完整自动化测试,可以根据客户需求增加功能项或测试点,具有测试覆盖度高、灵活性强等特点。希望通过本文的介绍,各位小伙伴能够对车辆远控功能自动化测试方案有初步的了解,愿我们共同携手,一起打造功能自动化测试平台,为汽车智能化保驾护航。

这篇关于车辆远控功能自动化测试方案:打造高效可靠的测试流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130674

相关文章

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d