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

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

随着汽车逐步走向智能化、网联化,整车的功能已经不再局限于驾驶员在车内进行本地操作。在远离车辆时,驾驶员也可以通过手机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

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表