详解车载设备FOTA测试

news2024/12/22 18:21:01

作者 | 李伟 上海控安安全测评部总监

来源 | 鉴源实验室

引言:上一篇文章我们以车载Tbox为例介绍了相关的性能测试(车载TBOX嵌入式设备软件的性能测试),本篇我们介绍另外一个重要功能的专项测试:OTA(Over the air)测试。OTA测试会因为不同厂家选择使用的OTA实现方案的不同出现测试上的差异,对于这一点大家要注意,即使是同一个主机厂,不同车型选择的OTA方案不一样测试方法也会不一样。

01 正式开始之前

车辆OTA升级目前已经非常普及了,本篇我们不再重复概念上的说明。SOTA(software OTA)主要针对的是客户应用软件的升级,通常由用户从应用商城下载安装升级实现,技术实现和测试相对FOTA(Firmware OTA)来说较为简单,本次我们也不做分析,本篇给大家讲的主要是FOTA。

整车FOTA升级的复杂程度与参与升级的设备数量密切相关,两个零部件参与升级和整车二十个零部件升级的复杂程度是完全不一样的,这一点在实施一次完整的升级测试所花费的时间上体现得更为明显。特别提醒测试人员对于类似场景的测试设计,必须考虑到测试效率的问题,在不影响测试准确性和有效性的情况下,尽可能在一次升级过程中完成多项单独的测试设计点。

不同主机厂整车FOTA的技术方案不一样,通常来讲整车升级中的零部件可以分为3类。第一类零部件,升级过程可以完全由零配件自己完成(不考虑后端FOTA升级服务器的情况下),包括独立完成网络连接、主动检查是否有可用升级软件、主动下载存储软件包、主动完成包的升级,如Tbox。第二类零部件,有比较强的自主控制功能,如可以完成独立的升级包下载存储和包的自主升级,但是需要其他零部件配合,如娱乐主机系统和智能行车电脑等,能自主独立下载升级包并检校存储,可以独立完成包的升级更新,但是需要Tbox配合提供上网通道。第三类零部件,不能自主完成程序的升级,需要车辆的FOTA升级主控设备控制自身的软件升级,如雨刷控制器、空调系统控制器、座椅控制器等。

整车FOTA升级的拓扑图如下所示:

图 1

02 整车FOTA升级的过程

整车FOTA升级的业务过程大体可以分为以下4个步骤:

第一步,首先在FOTA后台服务器端创建任务,根据车型、车辆、升级的ECU软件包等创建升级策略和升级任务。这个过程中要准备好被测试件的软件包,测试车辆,以及被测试车辆的车型和车辆相关信息。

第二步,车端自动触发或人为触发升级过程,下载FOTA升级包到车端本地,并进行升级包的检验校准和存储。不同主机厂采用FOTA方案的不同,升级的主控设备就不一样,大家需要根据具体项目中的实际情况区分对待。

第三步,ECU执行软件包的升级。

第四步,升级完成后主控设备控制退出整车FOTA状态,恢复整车的通讯,诊断更新配置字,清除故障码,上传升级记录到FOTA服务端等。

FOTA功能业务的流程示意图如下所示:

图 2

03 FOTA升级零部件的交互

整车FOTA的全过程是比较复杂的,我们做测试设计时通常按照需求文档来编制,将FOTA的测试按升级步骤进行逻辑上的划分,在各个步骤内部的功能需求点测试设计通常参考需求文档和当前项目的FOTA技术规范,对本步骤内的升级信息交互进行验证。

下图是一个简单的FOTA升级交互图,需要主控ECU来控制FOTA升级的过程大体如下图所示,不依靠主控控制升级的零配件不适用下图,具体项目中跟本例可能存在差异,大家需要以实际情况为准进行变通。

图3 FOTA升级交互图

交互的步骤大体如下:

(1)车辆启动后,达到一定条件,ICC(智能计算控制器)默认触发整车OTA版本升级的检查,通过IAM(智能联网控制器)的网络服务,连接到OTA升级服务后台端进行任务查询,对比本机和OTA后台服务中的版本记录,确认ECU软件是否存在更新和需要升级。

(2)如果存在新版本软件且符合服务端的升级策略,则开始进行升级包的下载工作,在这个过程中会有各种下载前置的判断设定,有的升级方案还规定了版本下载的中断和续传,软件下载完成后会执行软件包的校准检查,确认包的正确性和完整性。

(3)新版本下载确认后,ICC主控件会检查车辆的状态,确认是否符合当前升级的要求,如车辆档位在P档,车辆蓄电池电量大于70%等,在满足升级条件的情况下,主控零部件会控制车辆或者零配件进入固件刷写状态,然后ICC主控零配件会执行刷写过程,刷写过程中的进度情况也会同步上报直至升级完成。

(4)软件版本升级完成后,ICC主控件会执行相应的刷写后检查和更新配置信息,如更新被升级件物流信息中的软件版本、清除故障码、将整车状态从FOTA升级状态恢复到正常状态、上报本次FOAT升级的过程记录和结果等等。

升级过程节点步骤的触发条件如下:

图 4

04 测试要点

整车FOTA测试较复杂,通常主机厂会进行专项测试任务。当整车升级的零配件多达几十个的时候,测试人员刚接触会觉得无从下手,同时执行单次完整升级的时间,从准备工作算起到执行结束可能需要花费1天,甚至更多的时间。我们把FOTA测试的要点进行了梳理,希望给大家有所帮助。

(1)FOTA升级涉及零配件多,场景复杂,整个过程和步骤漫长,因此测试设计通常会将FOTA的测试分类、分阶段、分步骤地进行。

(2)从少量零配件测起,逐渐增加参与升级的零配件,直至所有部件都参与。

(3)零配件测试增加的顺序,通常按照本文第1章节的叙述,从Tbox这类完全独立自主控制自身升级的零配件,到娱乐主机这类半独立自主升级零配件,最后扩大到需要ICC主控件来控制自身升级的无独立自主升级零配件。

(4)FOTA的升级过程通常安装本文第2章节的4个阶段进行划分,在每个阶段的开始和结束设立可观察条件,测试人员对每个阶段的输入输出进行验证和确认。

(5)在集成测试阶段,特别是零配件的集成测试阶段,测试需要深入到FOTA升级协议的报文间交互中,这就需要在本小节第4点的说的阶段基础上,进一步深入到交互步骤,通过通讯协议来确认升级的零配件每个交互步骤是否正确。

(6)异常测试的场景,通常是按照技术规范给出的各阶段或者各步骤的触发条件,来反向设计,如整车电源状态、档位状态、蓄电池电量、车辆速度等异常条件逐个和组合设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL安装及卸载

安装 mysql现在安装的是5.7.mysql的安装方式有两种: 一种是exe方式 另外一种解压版 这次就使用解压版安装 解压缩到非中文目录 编写配置文件 1) 在安装目录下新建my.ini的配置文件 打开文件后缀和隐藏文件显示 2) 新建文件内编写内容 [Client] port 3306 [mysqld] #设置330…

【移植Ardupilot的日志记录方法到linux上】

移植Ardupilot的日志记录方法到linux上 说明日志结构组成日志写入操作预定义日志项运行时添加日志项的方法 单例测试编译方法查看数据其他 说明 采用二进制文件记录,可在mission planer查看 支持所有数据类型记录精巧移植方便可直接在地面站绘制曲线查看可导出生成…

觉非科技发布:基于BEV的数据闭环融合智驾解决方案

2023年上海车展期间,觉非科技基于BEV的数据闭环融合智能驾驶解决方案正式发布。 该方案可通过量产车BEV的实时感知结果,提供完整的城市Map-lite及Map-free数据闭环融合解决方案,并满足城市NOA、记忆通勤/泊车以及感知大模型训练的需要。 车…

OSPF基础配置实验

目录 一、实验要求与拓扑结构 1、实验要求 2、提前规划好的网段以及拓扑结构如下图 二、实验步骤 1、给各个路由器的每个接口配ip 2、运行ospf协议并划分区域 一、实验要求与拓扑结构 1、实验要求 首先划分区域,蓝色区域为Area 0,黄色区域为Area…

MyBatis(十五)MyBatis的逆向工程

前言、 所谓的逆向工程是:根据数据库表逆向生成Java的pojo类,SqlMapper.xml文件,以及Mapper接口类等。 要完成这个工作,需要借助别人写好的逆向工程插件。 思考:使用这个插件的话,需要给这个插件配置哪些…

基于 TensorRT 使用 python 进行推理优化

文章大纲 简介TensorRT 简介构建测试的conda 环境注意事项TensorRT 安装参考文献与学习路径简介 TensorRT 简介 TensorRT是NVIDIA推出的一个高性能的深度学习推理框架,可以让深度学习模型在NVIDIA GPU上实现低延迟,高吞吐量的部署。TensorRT支持Caffe,TensorFlow,Mxnet,P…

【Python】实战:生成无关联单选问卷 csv《压疮风险评估表》

目录 一、适用场景 二、业务需求 三、Python 文件 (1)创建文件 (2)代码示例 四、csv 文件 一、适用场景 实战场景: 问卷全部为单选题问卷问题全部为必填问题之间无关联关系每个问题的答案分数不同根据问卷全部问…

FPGA基于XDMA实现PCIE X8采集AD7606数据 提供工程源码和QT上位机程序和技术支持

1、前言 PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很…

倍数+路径之谜

倍数 :用户登录https://www.lanqiao.cn/problems/583/learning/?page5&first_category_id1&sortstudents_count 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 请问在 1 到 2020 中,有多少个…

Java十大排序算法

排序算法 对一序列对象根据某个关键字进行排序 (1)稳定性 在排序中对于相等的两个元素a、b。如果排序前a在b的前边,排序之后a也总是在b的前边。位置不会因为排序而改变称之为稳定。反之,如果排序后a、b的位置可能会发生改变&am…

Java线程池从入门到精通(线程池实战)

参考 java常用线程池及它们的适用场景(JDK1.8) Java线程与线程池实战 线程池的拒绝策略_线程池 RejectedExecutionHandler 拒绝策略 ThreadPoolExecutor原理解析-关闭线程池 代码经验—java获取cpu个数-docker 一、概念 Java 中的线程池核心实现类是 …

鉴源论坛 · 观模丨面向界面的图形化测试技术

作者 | 熊一衡 华东师范大学软件工程学院博士 苏亭 华东师范大学软件工程学院教授 版块 | 鉴源论坛 观模 01 什么是面向界面的图形化测试(GUI Testing) 图形用户界面(GUI) 是一种通过图形化方式呈现信息、数据、功能和操作的用户界面,旨在…

一起学 WebGL:三角形加上渐变色

大家好,我是前端西瓜哥。之前教大家绘制一个红色的三角形,这次我们来画个有渐变的三角形。 本文为系列文章,请先阅读如何绘制红色三角形的文章: 《一起学 WebGL:绘制三角形》 原来的写法,颜色是在片元着色器…

移动边缘计算意味着真正的5G时代已经来临

5G的承诺尚未实现,但现在宣布其失败还为时过早。DataBank首席执行官劳尔k马丁尼克(Raul K. Martynek)表示 ,真正的5G正在通过移动边缘计算实现,而数据中心将成为其中的核心。 在美国所有主要的移动运营商都在大力宣传他们在全美范围内提供无…

STM32-移植RTT

目录 Cubemx引入RTT资源新建工程生成工程 时钟选择选单片机引脚引脚搜索快速选中取消引脚选中引脚命名IO普通模式设置 串口串口基本配置串口DMA ADC采集ADC基本应用ADC_DMA RTT-shell指令定义RTTCOM调试串口J-Link RTT调试 教程shell指令RTT外设驱动使用1--串口添加 STM32_pwm …

玩元宇宙血亏后 蓝色光标梭哈AI也挺悬

蓝色光标2022年年度报告出炉,巨亏21.75 亿元,其中20.38亿亏损因商誉、无形资产及其他资产减值造成,而在实际亏损业务中,元宇宙占比不小。 蓝色光标在元宇宙领域的布局,主要通过三家子公司实施,分别为蓝色宇…

分布式文件系统HDFS的多问多答

分布式文件系统HDFS 简述HDFS的优缺点简述HDFS的体系结构请论述HDFS中SecondaryNameNode的作用和工作原理请论述HDFS写数据原理 简述HDFS的优缺点 HDFS的优良特性: ①兼容廉价的硬件设备。在成百上千台廉价服务器中存储数据,常会出现节点失效的情况&…

从浏览器输入url到页面加载(四)协议栈和套接字以及三次握手确认对于通信的作用

前言 上一节我们说到了域名对用户记忆的优点,但是IP对于路由器的优点,所以需要有DNS服务器提供域名与IP地址的转换,还说到了在前端开发中dns-prefetch域名预解析的好处。 本小节呢,我们会说一些不常用的知识点,如协议…

【社区图书馆】读《悲惨世界》有感

文章目录 故事简介经典重现价值取向我的思想 故事简介 《悲惨世界》是一部充满了悲剧的小说,故事首先由教堂展开,然后主要围绕着主人公冉阿让进行一系列的生动形象的描写,讲述了冉阿让悲惨的一生。 主人公冉阿让是一个诚实、善良的工人&…

100天涨薪4k,从功能测试到自动化测试,我整理的3000字超全学习指南

去年6月份,由于经济压力让我下定决心进阶自动化测试,已经24的我做了3年功能测试,坐标广州薪资定格在8k,可能是生活过的太安逸,觉得8000的工资也够了,但是生活总是多变的,女朋友的突然怀孕&#…