车载测试项目实操学习:CAN通信测试、UDS诊断测试、自动化测试、功能安全测试、CAN一致性测试、HIL测试:9-20

news2024/9/23 1:35:48

 


FOTA模块中OTA的知识点:
1.测试过程中发现哪几类问题?

      可能就是一个单键的ecu,比如升了一个门的ecu,他的升了之后就关不上,还有就是升级组合ecu的时候,c屏上不显示进度条。

2.在做ota测试的过程中,会做网络通信的测试吗?

      网络通信测试的话,有做,但是目前我的话还没接触到。

3.那你主要做什么?

      现在主要做单键以及组合键的刷写单键以及组合键的刷写

4.OTA的功能主要是测哪些功能?

      ota 主要测ecu的升级,ota测试主要是为了保证上线之后,交给用户,用户升级后它的一个稳定性,在测试的过程中,比如我们一个左转向灯的按键,我测十次,我要保证这十次都是成功的。我现在最重要的是测ota的刷写,比如说你从1迭代到2,然后你升级的这个版本,按键有没有刷成功,还有就是上个版本存在的问题,升级之后的版本有没有修复。系统修复的话,无非就是三种方法,一个是你本地刷起,我就通过工具给你刷,把你这些按键拆下来,拿到我公司给你刷;还有一个是我通过U盘刷,我把包拷贝到U盘,插到车上刷,刷了之后,你这个屏就恢复正常了;还有一种是远程,比如你现在这个车在深圳,然后我在上海,在你用不了的时候,我就给你推个包,让你去升级,就不用去基站就行修复;所以ota就是为了保证用户在某些功能受限的时候,他能升级成功。

5.OTA的作用?
      ota的作用是ecu,mcu的升级,不同的mcu同时升级,或者说这些mcu一个一个升级,可能它的情况是不同的,同时有一些升级,就是要解决单一mcu升级之后,车是否能正常工作的问题,同时也要解决mcu升级过程中,是否具有一定的独立性,一个车可能有几十个ecu、mcu、mpu,有的升级有的没升级,那这车还能走嘛,有的mcu升级一半,我就要开车,这些场景是否支持。

6.你现在测的需求是什么?
      主要是我们现在能测的20几个键,车里的按键;每个单键,还有刷新、测试、升级,还有20几个键组合起来一起升级,然后看他的一个云端和车端,以及它的log日志的情况是否是正确的,比如说我们升级成功后,云端上会显示升级成功,升级失败,它会有相对应的错误码,升级失败的话我们要内部分析一下它失败的原因。

7.你们现在测的是什么车?
      测的是什么车,(车还没有销售,)

8.你们现在是什么阶段?
      我们现在是sop+2,因为我们做项目我们都知道,我们刚开始有p阶段,ppv阶段,sop阶段,sop又分为好几个阶段,sop+1,sop+2,+3,一直到+6,然后sop+6的话基本上就到用户交货阶段了;然后我们现在就处于sop+2的阶段,这个阶段功能的话基本上已经开发完了,现在就是还有一些小问题,就还在进行修复。

9.总体的工作?

      因为ota它总的来说是一个端到端,所以需要对后台服务器进行测试,后台服务器我们测试的模块包括管理车型、车辆管理(因为我们的车辆很多吗,你进行一个车辆管理,首先的话需要一个用户数据埋点,后台运营人员可以通过这些数据管理,可以对你这个车的一些软件和一些故障码进行人为的分析),软件管理(软件的话我们也会把它上传到我们的后台服务器,然后进行管理),我们会根据这些模块进行测试。还有的话就是升级策略,升级任务,这个的话就相当于给你创建一个升级任务,然后把升级包推到你推荐里面,来进行更新;还有一个审批管理,审批管理就是,比如我们有一个车,然后进行批量升级,这个是要经过层层审批的,不可能说你这个功能直接给你开好了,需要审批了才能把新功能加给你。差不多就这六个模块,云端这块的话差不多就是一个web端测试。

10.bug管理系统是什么?
      ( Jira )

11.车企需要掌握的语言:
      C语言(了解代码),python语言(做自动化)

12.了解的协议:
      针对应用层的服务10,11、27、28、31、34、36、37、85、22、2E、2F这些协议

13.测试的流程:
       其实这个更像ota的一个联调,分为四个子流程:1.版本检测:分为物流数据采集和物流数据上传:就像icc的升级,我们首先要知道icc它当前的版本是多少,升级的话主要可以通过整套刷解或者差分刷解,我们要基于你当前的版本做差分的话,我需要把你当前这个版本的数据收集上来,给云端做一下匹配,匹配到了之后,就把这个任务下发给ota server,也就是你的车。
       然后车呢就开始下载,我们下载的整条链路是https.....是一个加密的网络传输协议,也是为了安全。
      下载完成之后就进入安装,安装完了之后,我们会进行一个升级结果反馈,分为任务结果反馈和任务结果上传,看这个是升级成功还是升级失败,还有我们要把日志上传到云端,目的是为了防止失败的话,我们的开发或者后台的运营人员可以通过云端把log取出来,去分析升级失败的原因。

14. ICC 和 ICM 是什么?

      icc和icm就是控制器,icc可以理解为中间网络控制器,所有的数据都经过它整合,比如说油箱没油了,那么油箱的控制器就会发一个信号到icc里面去,通过icc转发到车的仪表上显示;icm的话像现在都是智能车,车上都有一个中控屏或者仪表屏,这个屏连一个线嘛,就是连到icm,它可以理解为一个安卓智能手机,供娱乐功能使用。

15.用到的工具:
      canoe 移动电源 万用表:测小电池 (台架的话测试更多的是单元测试,还有一些接口测试,整车测试不同于台架测试,它更像一个黑盒测试,)

16.工作中遇到的困难:

      最大的问题是,比如我们ota出现一个问题,因为我们是测各个控制器嘛,零束他只是一个M厂商嘛,它有很多供应商,每个控制器都是由不同的供应商提供的,比如出问题的时候,可能是零束的问题、也可能是斑马的问题,还有可能是节点的问题,可能是他们供应商沟通不及时,这样的话,像这种问题就会一直存在;那么对于我们测试人员来说呢,可能这个问题这会儿出现了,下次再复现又没法复现了,这样的话定位问题就比较困难,就会增加很多重复性的工作,就要反复的给零束人抓包、给斑马的抓包,感觉很多无意义的工作。

解决措施:不能判断的前提下,把涉及到的所有log全部取出来,抓好各方的log,然后建立一个bug

17.做ota测试主要测什么东西?
       A、ota最大的一个功能的话,就是修复之前系统的缺陷。还有就是,降低研发成本。就像研发阶段,你这个车比如动力系统什么的都没有什么大问题了,然后也可以达到交互的一个阶段了,但是,中控屏上的一些,比如自动挪车这些以及中控娱乐系统这一块,你可能现在还没有做完,但是为了降低成本,你又不得不上市,那么你就可以通过后期ota把这块更新上去。这就是为什么现在长城、吉利做ota的一个重要的原因。还有的话就是不断地给你更新新的功能,就像我们买车的都知道,买回来之后,肯定不是什么功能都给你开,我在后期给你推,然后扫码、解锁、进行升级,升级之后新功能你就可以使用了。

       B、一个车的话,你可能要上万个零件,支持ota的,可能就只有四十几个控制器,就是那些主要健,像三大件的话,就是icc、icm,im,一个控制器要升级的话,肯定要下载包,那你一个控制器的话肯定不会都要跟娱乐系统进行交互,我们的包是存在云端的嘛,云端肯定要先推到你的手机,要是你的手机是12.0,那给你推的如果是13.0,后台给你推包推到icc,它会有一个总节点,我只拿这个总节点跟云端进行交互,一个控制器跟其他控制器进行刷解,我们要保证这个键是完全ok的,icc和icm之间的协议,他们之间会不会同时啊,还有就是给你icm发一条指令,看icm回不回。举个例子,现在我们要刷icm,那么你这个icm,它肯定不是首先跟后台交互,它会先跟icc进行交互,那我们联调的过程中就要保证icc从后台下包,下载没问题,但是这个包传给icm,这个过程中是没有问题的,最后我icc给icm发一条指令,现在包已经传完了,你可以升级了,这么一个联调,这个过程是需要有人进行协调的,你icm是一个过程,icc也是一个过程,它们两个是完全不愿意开放。那我们测试在这个过程中,在中间就起了一个连接的作用。

       C、你们这个ota是由一个人来负责,还是几个人来负责,多少个人才能做好。这个分公司吧,之前我在另一个公司的话,我一个人就负责几个机型,负责两三个项目;但 是零束整车的键哈,也就40个键,如果单纯从测试的角度来说的话,那其实两三个人完全可以把一个项目拿下,就是还是要看主机厂吧。我们这边做ota是刚开始的,是从0开始做的,现在ota还没有完全开发,现在后台还没有,现在刚上第一个车型,后面还会陆续上,现在一个车型还是比较多的,有六七个。

18.编测试用例:

      分为后台服务器(纯云端,类似电商那块,差不多有一千多条)和车端(分为检测、下载、待安装、升级阶段,上报阶段,ecu刷写阶段,差不多600多条)差不多可以覆盖所有需求

19.上海做ota的公司

      上海还是比较多的,像阿拉比,哈迈啊、寇乐达,这些公司,寇乐达是给奇瑞做,零束是阿拉比做的,阿拉比他目前的话,它的几个系列都是差分升级技术,比如一个十几G的包,可以给你差分到只有几兆,然后几兆下载到车上,在车上进行一个还原,把差分包还原成一个整包,这个才是他们的核心技术。在手机上就是一个软件是部分升级还是全部升级,差分技术对内存的一个分区,还有镜像文件那些还是很有要求的,重点是你有机制去还原。

20.升级过程中能不能保证升级的安全,比如ecu升级到一半了,怎么办?

       安全这块的话,我们会进行防盗测试和处理。考虑到目前要升级全端的话,我们的mpu和mcu,都有一个 “奥突萨”,它是整车的一个标准,它会推出一个无感升级,就是一个控制器它会有一个A面和B面,那你在开车的时候,我就开始给你升级,先升级B面,然后熄火下次重新启动的时候,就检测到你这已经成功了,就可以给你直接切换到B面,那这个新功能就更新了,就相当于一个备份的意思。相当于我有一个回滚方案,那一个场景举例,我正在升级,突然包有问题或者网络有问题,我卡住了,会触发一个指令,直接切换到B面,在B面运行,然后A面,会在某个时机,通过copy,把B面的复制过来,这样就可以循环使用了。就是计算机里面的备份技术,现在好多都搬到车端来了

21.支持OTA升级零件范围
IVI:多媒体主机    ——责任部门:智能网联——刷写方式:私有协议
DMS:驾驶员检测系统——责任部门:智能网联——刷写方式:私有协议
T-Box:通讯主机——责任部门:智能网联——刷写方式:私有协议
ADAS- iECU:智能驾驶域控制器——责任部门:电子电器——刷写方式:DOIP
AMP:外置功放——责任部门:智能网联——刷写方式:UDS
BMS:电池管理系统——责任部门:动力系统——刷写方式:UDS
CS:集成式充电系统——责任部门:动力系统——刷写方式:UDS
EGS:电子换挡模块——责任部门:智能网联——刷写方式:UDS
MCU:电机控制模块——责任部门:动力系统——刷写方式:UDS
VCU:整车控制模块——责任部门:动力系统——刷写方式:UDS
GW:网关——责任部门:电子电器——刷写方式:DOIP
ESC:电子稳定控制器——责任部门:电子电器——刷写方式:UDS
Iboost:电子制动助力器——责任部门:电子电器——刷写方式:UDS
EPB:电子驻车控制器——责任部门:电子电器——刷写方式:UDS
BCM:车身控制器——责任部门:电子电器——刷写方式:UDS
CCM:空调控制模块——责任部门:动力系统——刷写方式:UDS
COMP:压缩机——责任部门:动力系统——刷写方式:UDS
PLG:电动尾门——责任部门:电子电器——刷写方式:UDS
PTC:高压加热器——责任部门:动力系统——刷写方式:UDS
AVAS:低速警示系统——责任部门:电子电器——刷写方式:UDS
SCM:座椅控制器——责任部门:电子电器——刷写方式:UDS
ADAS-RLR:左后毫米波雷达——责任部门:电子电器——刷写方式:UDS
ADAS-RRR右后毫米波雷达——责任部门:电子电器——刷写方式:UDS
ADAS-FR:前向毫米波雷达——责任部门:电子电器——刷写方式:UDS
ADAS-FLR:左前毫米波雷达——责任部门:电子电器——刷写方式:UDS
ADAS-IFC:智能前视摄像头——责任部门:电子电器——刷写方式:UDS
ADAS-ACM:ADAS控制器——责任部门:电子电器——刷写方式:UDS

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

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

相关文章

【d46】【Java】【力扣】876.链表的中间结点

思路 先获得总体长度, 再得到中间节点 的索引,,这里的索引是从1开始的索引,而不是从0开始的索引(这种理解方式更简单) 排错:另一个思路:将链表都放进list,获得中间的数字,然后遍历…

AIGC8: 高通骁龙AIPC开发者大会记录B

图中是一个小男孩在市场卖他的作品。 AI应用开发出来之后,无论是个人开发者还是企业开发者。 如何推广分发是面临的大问题。 做出来的东西一定要符合商业规律。否则就是实验室里面的玩物,或者自嗨的东西。 背景 上次是回顾和思考前面两个硬件营销总的…

【PSINS工具箱】159联邦滤波器|优化后的MATLAB代码

文章目录 程序说明概述主要功能代码结构关键函数 运行结果与解析程序代码 程序说明 概述 该程序实现了一个联邦滤波器的仿真,结合了惯性导航系统(SINS)、全球导航卫星系统(GNSS)和中央导航系统(CNS&#…

Gin框架入门(2)--异常捕获与日志实现

异常捕获 Go语言的异常捕获采用的是延迟处理的方法实现的,实际上就是利用defer,panic和recover三个关键字和函数来实现的。 关键字 defer关键字(函数) 这个关键字在控制语句中就有所涉及,本质上是采用一个栈的存储结构,在整个…

ffmpeg面向对象——参数配置机制探索及其设计模式

目录概览 0.参数配置对象流程图0.1 用到的设计模式0.2 与朴素思想的对比 1.参数传递部分1.1 AVDictionary字典容器类1.1.1 类定义及类图1.1.2 构造函数1.1.3 析构函数1.1.4 设置/读取等配置参数 1.2 参数配置实例 2.参数配置生效部分2.1 参数过滤模块2.1.1 AVOption类2.1.1.1 类…

2024-09-18 实操层面理解进程

一、进程初探 # ps ajx | head -1PPID PID PGID SID TTY TPGID STAT UID TIME COMMANDroothcss-ecs:~# ps ajx | head -1; ps ajx | grep procPPID PID PGID SID TTY TPGID STAT UID TIME COMMAND24696 24707 24707 24679 …

串的存储实现方法(与链表相关)

一、 定义 字符串是由零个(空串)或多个字符组成的有限序列。 eg:S"Hello World!" 串相等:两个串长度相等并且对应位置的字符都相等时,两个串才相等。 二、串的存储实现 2.1 定长顺序串 2.2 堆串 和定长顺序串的…

【速成Redis】01 Redis简介及windows上如何安装redis

前言: 适用于:需要快速掌握redis技能的人(比如我),在b站,找了个课看。 01.课程简介_哔哩哔哩_bilibili01.课程简介是【GeekHour】一小时Redis教程的第1集视频,该合集共计19集,视频…

乐橙云平台接入SVMSPro平台

乐橙云平台接入SVMSPro平台 步骤一:进入乐橙开放平台:https://open.imoulife.com/ ,点右上角的登陆,填写自己的用户名密码,进入控制台; 步骤二:登陆进去后,我的应用—>应用信息&a…

Fyne ( go跨平台GUI )中文文档- 架构 (八)完结

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章: Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

Java集合HashSet——HashSet在底层原理

可点击此处:HashSet在底层原理 创建一个默认长度16,默认加载因子为0.75的数组,数组名table 16*0.75 12,如果存入的数据达到12,则数组自动扩容为原来的2倍 根据元素的哈希值跟数组的长度计算出应存入的位置 int index…

JAVA基础:正则表达式,String的intern方法,StringBuilder可变字符串特点与应用,+连接字符串特点

1 String中的常用方法2 1.1 split方法 将字符串按照指定的内容进行分割,将分割成的每一个子部分组成一个数组 分割内容不会出现在数组中 实际上该方法不是按照指定的简单的符号进行分割的,而是按照正则表达式进行分割 1.2 正则表达式 用简单的符号组合…

思维商业篇(4)—产业上下游定

思维商业篇(4)—产业上下游定位(微笑曲线) 产业上下游定位,帮助我们去观察一个企业在产业上下游中处于一个什么样的生态位。 上游 处于产业链开始端,百川东到海,百川的的起始端就是上游,东到海的海就是下游。 处在上游的企业一…

用友网络交付总监刘伟伟受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 用友网络科技股份有限公司区域交付总监刘伟伟先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“如何有效提升项目经理领导力”。大会将于10月26-27日在北京举办,主…

UE学习篇ContentExample解读-----------Blueprint_Overview

文章目录 总览描述批次阅览1.1 Blueprint- Hello World1.2 Blueprint- Components1.3 Blueprint- Variables1.4 Blueprint- ConstructionScript1.5 Blueprint- Event Graph1.6 Blueprint- Simple Math1.7 Blueprint- Flow Control 概念总结致谢: 总览描述 打开关卡后…

机械设计中倒角与倒圆角

我们常说,机械设计要做到“一切尽在掌握中”。 包含两层意思:一是所有的结构细节都是仔细思考过并且完整表达,不能靠在制造过程中猜测设计意图、由制造人员再设计或自由发挥。 二是所有的设计都是有根据的,不能靠拍脑袋任意发挥…

【路径规划】自动泊车的 Simulink 模型

摘要 本文介绍了一个用于自主机器人路径规划和导航的 Simulink 模型,该模型结合了路径跟踪算法(如 Pure Pursuit)和动态机器人模型,实现了复杂环境中的路径跟随和导航控制。实验结果表明,模型能够在给定路径上精确控制…

【neo4j】neo4j和Cypher 查询语言相关知识点

【neo4j】neo4j和Cypher 查询语言相关知识点 1.什么是neo4j Neo4j 是一个广泛使用的图形数据库管理系统(Graph Database Management System)。它是一种NoSQL数据库,专为存储和查询图形数据而设计。Neo4j 支持图形数据模型,允许用…

误差评估,均方误差、均方根误差、标准差、方差

均方根误差 RMSE/RMS 定义 RMSE是观察值与真实值偏差的平方,对于一组观测值 y i y_i yi​ 和对应的真值 t i t_i ti​ R M S E 1 n ∑ i 1 n ( y i − t i ) ,其中n是观测次数 RMSE\sqrt{\frac1n \sum_{i1}^n (y_i-t_i)} \text{,其中n是…

Python|OpenCV-实现识别目标图像中的圆圈(20)

前言 本文是该专栏的第22篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在处理图像检测项目的时候,可能会遇到需要检测目标图像中的“圆圈”需求。笔者在这里举个例子,如下图所示: 在图中有一个篮球,但是我们要找的目标对象并不是篮球,而是篮球它本身的这个…