新能源汽车OTA方案及自动化测试方法
2023-08-27吴明林余家运卢晓婷程登
吴明林 余家运 卢晓婷 程登
【摘 要】为了保证OTA功能可满足法规、功能性、穩定性、信息安全等要求,本文提出一种OTA自动化测试方法,能保障OTA功能的稳定性。
【关键词】自动化测试;OTA;新能源汽车
中图分类号:U469.72 文献标志码:A 文章编号:1003-8639( 2023 )08-0011-03
OTA Scheme and Automated Test Method for New Energy Vehicles
WU Ming-lin,YU Jia-yun,LU Xiao-ting,CHENG Deng
(SAIC GM Wuling Automobile Co.,Ltd.,Guangxi Laboratory of New Energy Automobile,
Guangxi Key Laboratory of Automobile Four New Features,Liuzhou 545007,China)
【Abstract】In order to ensure that OTA functions can meet the requirements of regulations,functionality,stability,information security,etc.,this paper proposes an OTA Test automation method to ensure the stability of OTA functions.
【Key words】automated testing;OTA;new energy vehicle
1 前言
近年来,借着引入特斯拉这一条大鲶鱼的风,各大车企尤其是国内的一众“新势力品牌”(蔚来、小鹏、理想等)在新能源汽车领域(纯电、插电混动、增程式)相当活跃,展现出百家争鸣的态势,新装备、新技术、新概念层出不穷。由于通信、电子信息、计算机技术的高速发展和普及,以及“三电”(电机、电池、电控)技术的突破,各家车企都迫切地想把自家最新的装备放在新打造的新能源车型平台上,汽车行业将迎来全新的变革。
由于汽车的电子控制单元增多,且基于“软件定义汽车”的设计概念,汽车软件随之也越来越复杂,代码数量急剧增加,加大了软件缺陷的发生概率。当一辆车的某个控制单元由于软件bug导致车辆出现故障码乃至于该模块宕机,部分功能无法使用,依靠线下店召回的传统模式已不能满足快速响应的需求。传统的车辆召回活动和当前的4S店线下服务刷写升级活动都将会耗费巨量的成本。借鉴于手机行业中手机系统OTA的经验和模式,以及汽车智能网联化的提升,汽车远程升级(OTA)技术得以迅速发展。车辆通过OTA技术可以快速更新软件算法和程序性能,弥补信息安漏洞,实现汽车自身迭代升级。
随着通信、电子和计算机技术的进步,汽车行业快速向智能化、网联化、电动化的方向发展,基于“软件定义汽车”开发思想和进一步构成汽车智能座舱的大趋势,车载电子控制单元(ECU)在整车系统中逐渐增多,越来越多的新能源车型会搭载OTA功能乃至于将OTA功能当作标准配置。为了保证OTA功能可满足法规、功能性、稳定性、信息安全等要求,OTA测试方法的重要性不言而喻。
此外,汽车OTA技术当然不可能仅用于车载ECU软件bug的修复,也不应该只用于此。各车企致力于打造以智能网联车辆、智能座舱为核心,车友社区(4S店、车联网APP、定期体验活动等事件和项目)为辅的用户生态环境。而OTA技术的引入,将助力车企用户生态环境的搭建。另一方面,推出支撑驾驶辅助及低级别自动驾驶的智能网联汽车,通过已经建立好的OTA体系,不断优化辅助驾驶的算法和能力,逐步向高级别推进,车联网TSP服务平台(Telematics Service Provider,TSP)也可通过OTA渠道收集并处理更多与辅助驾驶相关的大数据,为后续开发提供依据。给用户提供一台可以逐渐升级进化的汽车是车机将OTA技术在汽车上应用的美好愿景。OTA技术在汽车上应用的先行者特斯拉的应用案例:①发布牛年贺岁版OTA更新升级,此次更新中新增抖音、QQ音乐歌词显示功能、语音识别功能优化以及开放了高级车载娱乐服务包的订阅功能,其中高级车载娱乐包订阅月费为9.99元;②2400元升级座椅加热;③针对Model3长续航全轮驱动版车型推出了加速提升包服务,售价为1.41万元,升级后车辆百公里加速能力可以从4.6s提升到4.1s。新势力蔚来提供的智能驾驶辅助升级包NIO Pilot“精选包”,售价15000元,包含视觉融合全自动泊车系统(S-APA with Fusion)、道路自动保持(LKA)、后侧来车预警(CTA-R)、来车预警-主动制动(CTA-B)、动态仪表界面及车道自动模拟(ALS)、远近光自动控制(AHB)等驾驶辅助功能。上述的两个案例也属于汽车软件可售及升级运营的范围,是通过OTA远程升级技术给车辆开启增值的内容。
2 汽车OTA系统架构
整车OTA系统架构通常由服务器端、云端和车辆终端组成,如图1所示。而车辆终端主要由OTA主控节点、OTA从节点以及不同的功能域或ECU组成。车辆端与OTA云端之间,使用HTTPS进行通信,保证传输通道安全性。车辆端根据不同EE架构使用不同的传输协议,通常有CAN、车载以太网等。
云服务器端和车辆客户端采用一对多的方式,云服务器端为部署在数据中心的私有云服务平台,借助于公有云的CDN(内容分发技术)来实现位于不同区域的不同车辆同时升级。
根据车内EE架构的区别,OTA系统车端的方案架构可以有以下4种不同的架构,如图2所示。传统网关架构即为分布式架构,各个ECU间的通信由网关路由转发交互报文,嵌入式ECU的升级刷写由具备刷写能力的master节点通过标准的应用层协议(如ISO 14229协议)执行;诊断网关架构,具备带诊断刷写能力的网关,嵌入式的ECU可以由诊断网关直接进行刷写;智能网关和域控制器的架构则由具备更强大功能、更强算力的模块进行差分还原、诊断刷写,域控制器更是将车上不同功能的域区分开来,域控制器作为次主控节点,对域内的ECU进行升级刷写。
3 OTA升级流程
OTA升级流程包含:升级包上传→车辆ECU版本信息获取→车辆信息匹配→升级策略创建→升级任务发布→升级任务推送。功能测试通过的软件升级包,由正式服务器管理人员在服务器端部署ECU的软件包,建立升级任务,通过车端主控节点与服务器端通信,匹配和下载目标升级文件,实现待升级目标ECU的软件升级、安装过程。升级流程可参见图3,升级任务创建流程可参见图4。
4 自动化测试工具
根据上述OTA升级流程,针对OTA稳定性压力测试,最基础的要求即为ECU可在基础版本和目标版本之间往复刷新。升级任务和升级策略创建的主要信息涉及车辆标识码(通常是VIN)、ECU当前版本、ECU目标升级版本、升级条件。压力测试通常需要达到数百次,考虑到OTA下载升级包的网络环境相对不稳定和次数过多而时间有限的问题,使用自动化测试脚本(基于python)配合车辆ECU台架进行压力测试是比较好的方式。
以下提出一种基于python和Selenium自动化工具,调用浏览器发起网页访问请求,进入OTA后台模拟OTA任务部署。自动化测试工具执行流程参考图5。
Selenium自动化工具包括Selenium IDE和Selenium WebDriver;Selenium IDE为嵌入到浏览器的插件,用于在chrome上录制和回放Selenium脚本,将录制好的脚本转换成各种Selenium WebDriver支持的程序语言。
Selenium WebDriver用于操作浏览器的一套API,支持各类型浏览器及跨操作系统,WebDriver为诸多语言提供完备的用于实现Web自动化测试的第三方库。
首先创建python测试脚本文件,自定义测试属性,配置变量,包含升级的ECU类型、目标版本,以及应回退的基础版本、升级条件及相应的条件阈值;接着创建测试对象文件,主要用来存储测试的目标对象车辆VIN,通常为表格形式,文件存储路径可自定义,测试脚本读取的对象文件路径支持可配置的,一般可将测试对象文件与脚本文件存放在同一根目录下;然后在脚本文件中设置循环结束次数,视为测试结束标志;最后脚本可拉取OTA后台升级任务测试结果,自动化出具测试报告。
上述提到的自动化测试工具,基于python和Selenium自动化工具,调用浏览器发起网页访问请求,进入OTA后台,模拟OTA任务部署。以下介绍自动化脚本工具的环境配置步骤。
1)安装python开发环境和Selenium工具。
2)在安装完毕python环境的基础上,安装WebDriver浏览器驱动,一般如使用chrome,则需要选择chromedriver。
3)环境搭建完毕后,创建python脚本文件,通过代码实现,利用WebDriver定位元素特性,自动化点击Web页面元素,模拟手动人工部署OTA任务。
4)配置python脚本文件,自定义测试属性、配置变量,包含升级的ECU类型、目标版本,以及应回退的基础版本、升级条件及相应的条件阈值。具体流程如下:①从Selenium包导入WebDriver使用Selenium WebDriver的方法;②选用一个WebDriver驱动实例,如chromedriver,使用Selenium包提供的接口去调用Selenium命令来跟浏览器交互;③使用driver.get()访问具体的OTA后台;driver.implicitly_wait()可配置的設置超时时间;④一般Selenium WebDriver提供多种方法来定位和操作Web后台元素,代码据此点击Web元素模拟手动部署OTA任务;⑤通过send_keys()方法自动化模拟手动输入相关内容;⑥通过driver.quit()关闭浏览器,结束本次自动化测试流程。
5)利用代码搭建自动化脚本测试工具,在步骤4)过程中,根据实际OTA后台以及OTA流程的现状,通过代码优化,来实现多ECU节点、多条件以及多车辆的自动化OTA测试工具。
5 总结
整车OTA功能是实现智能网联汽车快速迭代升级的前提条件,是电动汽车未来发展的必然趋势。本文分析电动汽车OTA系统架构的组成和基本的升级流程,提出一种自动化测试方法,并对自动化脚本环境搭建和执行流程进行描述。完整的测试流程,目的是验证整车升级过的可行性、安全性和可靠性。期望能对相关测试人员具有一定的指导意义。
参考文献:
[1] 庞宇达,黎飞,黄祖朋,等. 电动汽车FOTA技术原理与测试方法研究[J]. 时代汽车,2021(6):83-84.
[2] 姜楠,姜姗姗,韩小鹏. 汽车在线升级系统(OTA)开发浅析[J]. 时代汽车,2021(21):11-12.
[3] 李志涛. FOTA功能测试的研究与分析[J]. 汽车电器,2020(7):21-24.
[4] 刘佳熙,丁锋. 面向未来汽车电子电气架构的域控制器平台[J]. 中国集成电路,2019,28(9):82-87.
(编辑 凌 波)
作者简介
吴明林(1997—),男,助理工程师,主要从事汽车软件远程升级OTA相关工作。