CN117290232A - 一种ota整车升级的自动化测试方法及装置 - Google Patents
一种ota整车升级的自动化测试方法及装置 Download PDFInfo
- Publication number
- CN117290232A CN117290232A CN202311279023.6A CN202311279023A CN117290232A CN 117290232 A CN117290232 A CN 117290232A CN 202311279023 A CN202311279023 A CN 202311279023A CN 117290232 A CN117290232 A CN 117290232A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- information
- upgrade
- configuration file
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010998 test method Methods 0.000 title abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000000694 effects Effects 0.000 claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 19
- 238000009661 fatigue test Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000009517 secondary packaging Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发公开了一种OTA整车升级的自动化测试方法及装置,方法包括:基于测试任务更新配置文件,获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;基于所述车型信息、车辆信息和活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试。上述方案能够将OTA疲劳测试的一系列复杂过程自动化,实现在服务器端创建车辆、绑定控制器及对应版本、创建升级活动、执行测试等工作,从而降低测试过程中人力和时间投入成本。
Description
技术领域
本发明自动控制技术,更具体的说,是涉及一种OTA整车升级的自动化测试方法及装置。
背景技术
OTA(Over-the-Air Technology,空中下载技术)是指能够通过移动通信的空中接口对应用进行远程管理的技术。现有的汽车OTA升级流程一般是整车厂或OTA运维人员在服务器上传控制器的软件版本,然后创建包括需要升级的控制器及其对应版本的升级活动或任务,车辆会从服务器下载对应的升级包进行刷写,最后再将升级结果上报服务器。
在OTA升级之前,需要先在服务器端创建车辆、控制器和版本,并建立绑定关系。创建车辆、控制器和版本时,需要配置各种参数,过程繁琐,如果配置错误,则会造成升级失败,需要重新开始。为了保证升级过程的稳定性以及各种场景下都能反馈正确的结果,因此,前期需要进行大量的测试工作,以提高测试准确度,但大量的测试工作必然需要投入很大的时间成本和人力成本。
发明内容
有鉴于此,本发明提供如下技术方案:
一种OTA整车升级的自动化测试方法,包括:
基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括软硬件配置信息、车辆信息、活动配置信息以及自定义升级数据;
获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;
基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;
基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
可选地,所述基于测试任务更新配置文件,包括:
基于测试任务,通过Excel表格进行参数配置,得到更新后的配置文件。
可选地,所述获得车型信息,包括:
确定所述配置文件中的车型值是否为空;
若为空,调用车型值生成方法创建第一车型名称,并将所述第一车型名称写入配置文件;
若不为空,确定是否存在所述第一车型名称;
若不存在,调用所述车型值生成方法创建所述第一车型名称,并将所述第一车型名称写入所述配置文件;
确定所述配置文件中的车辆VIN编码值是否为空;
若为空,调用VIN编码值生成方法创建第一车辆VIN编码值,并将所述第一车辆VIN编码值写入所述配置文件;
若不为空,确定是否存在所述第一车辆VIN编码值;
若不存在,调用所述VIN编码值生成方法创建所述第一车辆VIN编码值,并将所述第一车辆VIN编码值写入所述配置文件。
可选地,所述基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,包括:
基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系。
可选地,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中车型信息和车辆信息均为空,调用可用硬件接口获得服务端所有的控制器名称,作为列表赋值给对应项的绑定控制器字段;
在将所述所有的控制器名称写入配置文件时将其对应单元格的显示属性设置为不同于其他单元格的第一属性。
可选地,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中存在车辆信息且不存在车型信息时,调用服务端车辆绑定信息接口获取车辆绑定的所有控制器列表;
将配置文件中存在于所述控制器列表中的控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
可选地,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中存在车型信息且不存在车辆信息时,调用车型详情接口获取已有车型下的所有车辆信息;
遍历所述车辆信息获得所有需要绑定的控制器集合;
在将所述控制器集合写入配置文件时将所述控制器集合中所有控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
可选地,所述基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,包括:
获得所述关联关系中的控制器的可用版本列表,并根据所述软硬件配置信息中的控制器软件版本数据确定所述可用版本列表中的目标版本;
根据所述目标版本和所述自定义升级数据中的升级方式创建升级活动;
监测车辆的升级状态;
基于所述升级状态返回测试报告。
可选地,所述升级方式包括全量升级、差分升级或交替升级,所述交替升级为全量升级和差分升级交替执行的升级方式。
本申请还公开一种OTA整车升级的自动化测试装置,包括:
配置更新模块,用于基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括控制器软件版本数据、车辆信息、活动配置信息以及自定义升级数据;
信息创建模块,用于获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;
信息关联模块,用于基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;
升级测试模块,用于基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
经由上述的技术方案可知,本发明实施例公开了一种OTA整车升级的自动化测试方法及装置,方法包括:基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括软硬件配置信息、车辆信息和活动配置信息以及自定义升级数据;获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。上述方案能够将OTA疲劳测试的一系列复杂过程自动化,实现在服务器端创建车辆、绑定控制器及对应版本、创建升级活动、执行测试等工作,从而整体上减轻相关测试人员的工作量,降低测试过程中人力和时间投入成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种OTA整车升级的自动化测试方法的流程图;
图2为本发明实施例公开的软硬件版本配置表示意图;
图3为本发明实施例公开的升级测试配置表示意图;
图4为本发明实施例公开的自定义循环升级配置表的示意图;
图5为本发明实施例公开的一种OTA整车升级的自动化测试装置的结构示意图;
图6为本发明实施例公开的OTA整车升级的自动化测试框架流程示意图;
图7为本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例公开的一种OTA整车升级的自动化测试方法的流程图。参见图1所示,OTA整车升级的自动化测试方法可以包括:
步骤101:基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括软硬件配置信息、车辆信息、活动配置信息以及自定义升级数据。
其中,所述软硬件配置信息用于记录系统中所有的软硬件版本的相关信息;所述车辆信息和活动配置信息用于配置车辆和活动的基本信息;所述活动配置信息包括本次升级中包含哪些控制器和控制器的目标版本;所述自定义升级数据为用户设置的,能够实现自定义单次循环中的升级次数、每次要升级的控制器还有升级方式等内容。配置文件中上述各部分内容的具体实现将在后面的实施例内容中详细说明,在此不再过多介绍。
步骤102:获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息。
实现中,可以通过requests(python内置的模块,用来发送http请求)将服务端车辆和车型相关的接口封装成python函数,其中服务端接口未限制唯一性的参数用固定合法的值填充,这样,通过对服务端接口二次封装时默认值设置减少测试参数,通过参数生成方法将测试参数进一步减少。像车型名称和VIN编码这一类有唯一性又有特殊命名规范的参数,封装了单独的生成方法。以VIN编码为例,官方要求编码只能包含大写字母和数字,且以大写字母开头,长度为十七位。则方法会先生成一个A(可是任意一个大写字母)+当前精确到秒时间戳的十五位字符串,然后循环在后面拼接00-99中任意的两位序号,直到生成的VIN在服务端不存在且车辆添加成功,此方法能够保证100个人同时使用该功能。例如,随机大写字母为M,当前时间为2023年8月10日10点52分31秒,则时间戳对应字符串为20230810105231,拼接的任意两位序号为22,则生成的VIN为M2023081010523122。
应用中,当测试人员想创建指定名称的车型和车辆也是可以的,只需要修改配置文件中对应参数的值,就可以实现自动创建车辆。
步骤103:基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系。
实际测试工作中,测试资源是有限的,会根据每个人的测试任务进行资源分配;同时OTA测试存在一定的损坏率。因此测试车辆绑定的控制器是动态变化的,需要快捷高效的实现服务端绑定关系更新。同时为了省去填写和来回修改配置列值的麻烦,本实施例可以同步服务端控制器名称到配置文件,应用中可以基于所述车型信息以及预先配置的车辆信息和活动配置信息,通过配置文件中单元格的显示属性区分出控制器的绑定关系,如通过配置文件单元格填充色区分控制器的绑定关系,无填充为绑定,其它填充色均为不绑定。
具体的,更新服务端绑定信息功能,会获取对车辆和车型信息检查创建,然后按照配置列中单元格的颜色为车辆绑定和解绑控制器,当控制器不存在或者无法解绑时会抛出异常。
步骤104:基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试。
其中,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
实现中,可以将控制器的车型、车辆信息、控制器绑定信息填入配置文件,或者将前述步骤中生成的信息配置到控制器中。确定“要升级的控制器”、“升级次数”和“升级方式”后,即可开始升级测试。具体如何进行升级测试,将在后面的实施例内容中详细介绍,在此不再过多说明。
本实施例所述OTA整车升级的自动化测试方法能够将OTA疲劳测试的一系列复杂过程自动化,实现在服务器端创建车辆、绑定控制器及对应版本、创建升级活动、执行测试等工作,从而整体上减轻相关测试人员的工作量,降低测试过程中人力和时间投入成本。
上述实施例中,所述基于测试任务更新配置文件,可以包括:基于测试任务,通过Excel表格进行参数配置,得到更新后的配置文件。
实际应用中,在OTA整车升级的自动化测试之前,需要先将系统中所有的输入参数存放进配置文件中进行统一配置和管理,所述配置文件中至少包括用于配置软硬件版本的第一表格和用于配置车辆和活动的基本信息的第二表格。
具体的,可以将系统中所有功能模块的输入参数都放入一个Excel文件(即所述配置文件)进行统一配置和管理。Excel文件中包含一张config表用于配置软硬件版本,如图2所示;还包括一张update表用于配置车辆和活动的基本信息,如图3所示。在进行升级测试时,相关配置表的表头也可参见图3,可以包括:车型、车辆VIN编码、绑定的控制器、升级的控制器、升级次数、升级方式。除了控制器相关参数,其它参数只有首行有效。
且系统提供了Read方法通过xlrd(一个python的第三方模块,能通过代码对excel文件进行读操作)读取所有的表信息,并将读取的数据处理成json;提供Write方法通过xlwt(一个python的第三方模块,能通过代码对excel文件进行写操作)将原始数据清空,将json按字段解析写入配置文件。
此外,系统还可以预先配置控制器可以使用的软件版本以及升级顺序,也即用于对前述config表进行配置处理。具体的,可以通过requests对服务端软硬件相关接口的二次封装,能够直接从服务端获取控制器绑定的软件版本和支持的升级方式,升级测试时默认按照软件版本上传的顺序依次升级。
实际应用中,开发人员会以要发布的版本为基线,提供几个版本号配置信息不同的版本用于升级测试,因此如果控制器当前绑定的版本为最后上传的版本,则可以取第一个上传的版本作为目标版本进行升级。
实际测试中,测试人员可能会给控制器绑定一些异常的版本,如文件内容有损坏的版本或版本号与配置文件不符的版本,用来测试,测试模块无法自动识别异常版本,需要在config表中配置控制器的正常版本,模块会优先读取并返回配置表中的信息。如果控制器当前绑定的版本不在配置表中,取第一个版本作为目标版本。控制器的配置需要按列填写,列的首行填写控制器名称(服务端硬件名称);次行填写控制器的升级时间;可用的软件版本按照期望的升级顺序从上到下依次填入后面的行中。其中,期望的顺序可以是从初始版本开始逐步开始选择下一个位置的版本。若有其它参数也可以填写在对应的列里,只要在读取配置文件时做相应的处理即可。
前述实施例中,所述获得车型信息,可以包括:确定所述配置文件中的车型值是否为空;若为空,调用车型值生成方法创建第一车型名称,并将所述第一车型名称写入配置文件;若不为空,确定是否存在所述第一车型名称;若不存在,调用所述调用车型值生成方法创建第一车型名称,并将所述第一车型名称写入配置文件;确定所述配置文件中的车辆VIN编码值是否为空;若为空,调用VIN编码值生成方法创建第一车辆VIN编码值,并将所述第一车辆VIN编码值写入配置文件;若不为空,确定是否存在所述第一车辆VIN编码值;若不存在,调用所述VIN编码值生成方法创建第一车辆VIN编码值,并将所述第一车辆VIN编码值写入配置文件;若存在则会获取其绑定的车型信息,判断与配置文件中的值是否一致,不一致会报错。
前述实施例中,所述基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,可以包括:基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系。因此测试过程中,可以根据升级场景选择配置一个或多个控制器,本申请可通过颜色配置,自动绑定/解绑控制器,来实现匹配升级场景。
具体的,若配置文件中车型信息和车辆信息均为空,调用可用硬件接口获得服务端所有的控制器名称,作为列表赋值给对应项的绑定控制器字段;在将所述所有的控制器名称写入配置文件时将其对应单元格的显示属性设置为不同于其他单元格的第一属性。
实现中,可以将获取到的配置文件中的配置信息转换成json数据,判断update项中的车型和车辆是否均为空,均为空时调用可用硬件接口获取服务端所有的控制器名称,作为列表赋值给json中update项的绑定控制器字段,绑定状态均设置为False(对应所述第一属性);然后调用写入方法,写入方法在写入过程中会检查绑定控制器字段中的绑定状态,False时会将写入的单元格颜色设置为红色,True时不对单元格颜色进行设置。
若配置文件中存在车辆信息且不存在车型信息时,调用服务端车辆绑定信息接口获取车辆绑定的所有控制器列表;将配置文件中存在于所述控制器列表中的控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
实现中,当仅有车型字段为空时,可以调用服务端车辆绑定信息接口获取车辆绑定的所有控制器列表,将json中update项的绑定控制器字段中在绑定列表的元素绑定状态设置为Ture,不在的设置为False,绑定列表中的不在json的控制器会加到json里,然后通过配置文件处理模块对配置文件进行更新。
若配置文件中存在车型信息且不存在车辆信息时,调用车型详情接口获取已有车型下的所有车辆信息;遍历所述车辆信息获得所有需要绑定的控制器集合;在将所述控制器集合写入配置文件时将所述控制器集合中所有控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
实现中,当仅有车辆字段为空时,可以调用车型详情接口获取车型下的所有车辆,遍历车辆获取绑定的控制器列表,对列表求并集后写入配置文件。
综上,当车型和车辆均未配置时,会获取服务端所有控制器的名称,在写入配置文件时,会先将配置列清空,然后再将获取到的信息写入配置列;当仅配置车型时,会获取当前车型下所有车辆绑定的控制器信息,再写入配置文件时,配置列如果不存在对应的控制器则添加,存在则将单元格改为无填充;当配置文件中配置了车辆时,只获取当前车辆绑定的控制器信息,写入配置文件的逻辑与车型一致。
前述实施例中,所述基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,可以包括:获得所述关联关系中的控制器的可用版本列表,并根据所述软硬件配置信息中的控制器软件版本数据确定所述可用版本列表中的目标版本;根据所述目标版本和所述自定义升级数据中的升级方式创建升级活动;监测车辆的升级状态;基于所述升级状态返回测试报告。
在保证配置文件全部填写的前提下,首先检查“要升级的控制器”是否都在“绑定的控制器”配置列且无颜色填充,然后对车辆绑定的控制器信息进行更新,并获取要升级的控制器的当前软件版本。
实现中,在创建升级活动后,可以自动调用服务端审批相关的接口完成审批流程后,再循环调用车辆的升级报告信息接口来监控车辆的升级状态。以本申请的测试对象平台为例,车云同步周期为十分钟,活动建立后车端应该在十分钟内拉取到活动,但是车辆收集版本时会导致车云同步时间拉长到十二分钟,未了保证容错将报告的获取的超时时间设置为二十分钟。如果升级报告在二十分钟内没有更新,测试程序会停止并显示异常;如果报告在所有升级控制器配置的升级时间总和加二十分钟内未更新升级结果,测试程序会将此次升级结果标记为异常,失败和成功按照报告中显示的结果标记,然后再次获取服务端同步的控制器当前版本,如果升级报告显示成功,但是当前版本与目标版本不同也会将此次升级测试结果标记为失败。
如果测试次数不止一次,会重复上述的过程,最后可以将统计结果打印到测试日志中。由此,一些实现中,还可以设计日志管理机制,示意性的,可以将测试日志按日期分文件夹进行存储,但考虑到存储空间的有限性,因此通常只会保留一段时间以内的日志文件夹,如一周内的日志文件夹,文件夹内的日志文件按车型_车辆_程序开始运行时间命名。因此实现中,可以设置循环升级测试,创建循环升级任务,并保存每次升级的升级日志,进而验证OTA整车升级的稳定性。
其他实现中,配置文件中还可以包括用于配置升级数据的第三表格,具体的,Excel文件还可以包括一张custom表(第三表格)配置自定义循环升级,如图4所示。
若不设置第三表格,系统每次升级测试时只能创建单一升级方式的任务和升级固定数量的控制器的缺陷,通过custom表的配置,如图4,能够自定义单次循环中的升级次数和每次要升级的控制器还有升级方式,其中多个控制器可以用“/”进行分割。
而设置了第三表格,升级测试每次的配置信息除了图4中的“升级的控制器”和“升级方式”两个参数以外,还可以复用“车型”、“车辆”、“绑定的控制器”和“升级次数”的配置信息。这样检查的控制器范围为升级的控制器配置列的所有控制器。
对应的自定义循环升级模块完成启动检查后,可以读取的json中获取update中的升级次数,将custom读取转换成列表,按升级次数从头开始遍历列表元素,调用升级测试执行模块,传入元素中要升级的控制器和升级方式,将升级次数设置为1,其它参数由升级测试执行模块内部逻辑自己加载,升级完成后将升级结果返回给自定义循环升级模块。然后检查下个元素中要升级的控制器是否能正确读到版本,读不到就终止测试,能读到则继续循环直至列表最后一个元素,然后再从第一个元素开始循环直到满足设置的升级次数。从而本实施例可以自定义升级或循环升级的方式,包括只做全量升级、只做差分升级或全量差分交替升级,以此覆盖多种升级场景。
本申请所述OTA整车升级的自动化测试方法,可以通过Excel单元格进行参数配置,通过单元格颜色区分绑定关系。借助车型和车辆信息创建功能模块实现对应信息的创建和检查;借助车辆与控制器关联功能模块实现配置文件的更新或车辆绑定关系的更新,通过升级测试执行模块和自定义升级测试模块实现差分、全量的自动化疲劳测试。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
图5为本发明实施例公开的一种OTA整车升级的自动化测试装置的结构示意图。如图5所示,OTA整车升级的自动化测试装置50可以包括:
配置更新模块501,用于基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括控制器软件版本数据、车辆信息、活动配置信息以及自定义升级数据。
信息创建模块502,用于获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;
信息关联模块503,用于基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;
升级测试模块504,用于基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
本实施例所述OTA整车升级的自动化测试装置能够将OTA疲劳测试的一系列复杂过程自动化,实现在服务器端创建车辆、绑定控制器及对应版本、创建升级活动、执行测试等工作,从而整体上减轻相关测试人员的工作量,降低测试过程中人力和时间投入成本。
图6为本发明实施例公开的OTA整车升级的自动化测试框架流程示意图。其中,升级测试模块包括2-1模块、2-2模块和2-3模块,其中2-1模块对应信息创建模块,2-2模块对应信息关联模块,2-3对应升级测试模块。结合图6所示:
可选实现中,自动化测试装置还可以包括配置文件处理模块,用于预先将系统中所有的输入参数存放进配置文件中进行统一配置和管理,所述配置文件中至少包括用于配置软硬件版本的第一表格和用于配置车辆和活动的基本信息的第二表格。其中还包括软硬件版本配置模块用于配置控制器可以使用的软件版本以及升级顺序。
可选实现中,自动化测试装置还可以包括自定义循环升级模块,从而可以自定义升级或循环升级的方式,包括只做全量升级、只做差分升级或全量差分交替升级。
对于图6中各功能模块的具体实现以及相应部分的流程内容,可参见方法实施例中相应部分的内容介绍,在此不再重复赘述。
上述实施例中的所述的任意一种OTA整车升级的自动化测试装置包括处理器和存储器,上述实施例中的信息创建模块、信息关联模块、升级测试模块、配置文件处理模块、自定义循环升级模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述OTA整车升级的自动化测试方法任一实施例所示步骤。
在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述所述的OTA整车升级的自动化测试方法任一实施例所示步骤。
进一步,本发明实施例提供了一种电子设备。图7为本申请实施例公开的一种电子设备的结构示意图。参见图7所示,电子设备包括至少一个处理器701、以及与处理器连接的至少一个存储器702、总线703;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的OTA整车升级的自动化测试方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种OTA整车升级的自动化测试方法,其特征在于,包括:
基于测试任务更新配置文件,所述配置文件用于对系统中所有的输入参数进行统一配置和管理,所述输入参数包括软硬件配置信息、车辆信息、活动配置信息以及自定义升级数据;
获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;
基于所述车型信息、所述车辆信息以及所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;
基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
2.根据权利要求1所述的OTA整车升级的自动化测试方法,其特征在于,所述基于测试任务更新配置文件,包括:
基于测试任务,通过Excel表格进行参数配置,得到更新后的配置文件。
3.根据权利要求1所述的OTA整车升级的自动化测试方法,其特征在于,所述获得车型信息,包括:
确定所述配置文件中的车型值是否为空;
若为空,调用车型值生成方法创建第一车型名称,并将所述第一车型名称写入配置文件;
若不为空,确定是否存在所述第一车型名称;
若不存在,调用所述车型值生成方法创建所述第一车型名称,并将所述第一车型名称写入所述配置文件;
确定所述配置文件中的车辆VIN编码值是否为空;
若为空,调用VIN编码值生成方法创建第一车辆VIN编码值,并将所述第一车辆VIN编码值写入所述配置文件;
若不为空,确定是否存在所述第一车辆VIN编码值;
若不存在,调用所述VIN编码值生成方法创建所述第一车辆VIN编码值,并将所述第一车辆VIN编码值写入所述配置文件。
4.根据权利要求1所述的OTA整车升级的自动化测试方法,其特征在于,所述基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,包括:
基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系。
5.根据权利要求4所述的OTA整车升级的自动化测试方法,其特征在于,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中车型信息和车辆信息均为空,调用可用硬件接口获得服务端所有的控制器名称,作为列表赋值给对应项的绑定控制器字段;
在将所述所有的控制器名称写入配置文件时将其对应单元格的显示属性设置为不同于其他单元格的第一属性。
6.根据权利要求4所述的OTA整车升级的自动化测试方法,其特征在于,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中存在车辆信息且不存在车型信息时,调用服务端车辆绑定信息接口获取车辆绑定的所有控制器列表;
将配置文件中存在于所述控制器列表中的控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
7.根据权利要求4所述的OTA整车升级的自动化测试方法,其特征在于,基于所述车型信息、所述车辆信息和所述活动配置信息,通过配置文件中单元格的显示属性区分控制器的绑定关系,包括:
若配置文件中存在车型信息且不存在车辆信息时,调用车型详情接口获取已有车型下的所有车辆信息;
遍历所述车辆信息获得所有需要绑定的控制器集合;
在将所述控制器集合写入配置文件时将所述控制器集合中所有控制器对应单元格的显示属性设置为不同于其他单元格的第一属性。
8.根据权利要求1所述的OTA整车升级的自动化测试方法,其特征在于,所述基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,包括:
获得所述关联关系中的控制器的可用版本列表,并根据所述软硬件配置信息中的控制器软件版本数据确定所述可用版本列表中的目标版本;
根据所述目标版本和所述自定义升级数据中的升级方式创建升级活动;
监测车辆的升级状态;
基于所述升级状态返回测试报告。
9.根据权利要求2所述的OTA整车升级的自动化测试方法,其特征在于,所述升级方式包括全量升级、差分升级或交替升级,所述交替升级为全量升级和差分升级交替执行的升级方式。
10.一种OTA整车升级的自动化测试装置,其特征在于,包括:
配置更新模块,用于基于测试任务更新配置文件,所述配置文件用于对系统中总所有的输入参数进行统一配置和管理,所述输入参数包括控制器软件版本数据、车辆信息、活动配置信息以及自定义升级数据;
信息创建模块,用于获得车型信息,所述车型信息为系统中原有信息或为通过调用生成方法创建得到的信息;
信息关联模块,用于基于所述车型信息、所述车辆信息和所述活动配置信息确定车辆和控制器的关联关系,所述关联关系包括绑定关系和非绑定关系;
升级测试模块,用于基于所述关联关系和所述软硬件配置信息中的控制器软件版本数据,按照配置的自定义升级数据进行升级测试,所述自定义升级数据包括升级测试单次循环中的升级次数、每次需要升级的控制器及升级方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279023.6A CN117290232A (zh) | 2023-09-28 | 2023-09-28 | 一种ota整车升级的自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279023.6A CN117290232A (zh) | 2023-09-28 | 2023-09-28 | 一种ota整车升级的自动化测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117290232A true CN117290232A (zh) | 2023-12-26 |
Family
ID=89247724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311279023.6A Pending CN117290232A (zh) | 2023-09-28 | 2023-09-28 | 一种ota整车升级的自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290232A (zh) |
-
2023
- 2023-09-28 CN CN202311279023.6A patent/CN117290232A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
US9940225B2 (en) | Automated error checking system for a software application and method therefor | |
CN107665171B (zh) | 自动回归测试方法及装置 | |
CN109597754B (zh) | 业务流程性接口测试方法、装置、计算机设备及存储介质 | |
CN113419747B (zh) | 中间件部署方法、装置、设备及存储介质 | |
CN113111000B (zh) | 持续集成自动化测试系统和方法、电子设备、存储介质 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN113377667B (zh) | 一种基于场景的测试方法、装置、计算机设备及存储介质 | |
US20020116153A1 (en) | Test automation framework | |
CN111679982A (zh) | 一种rest api接口软件自动化测试方法 | |
CN112463588A (zh) | 一种自动化测试系统及方法、存储介质、计算设备 | |
CN108132876A (zh) | 一种基于注入方式的嵌入式软件目标码单元测试方法 | |
CN115563002A (zh) | 数据导入方法、装置、存储介质及计算机设备 | |
CN110750434A (zh) | 接口测试方法、装置、电子设备和计算机可读存储介质 | |
CN112069073A (zh) | 测试用例的管理方法、终端和存储介质 | |
CN114996127A (zh) | 固态硬盘固件模块智能化测试方法及系统 | |
CN109471646A (zh) | 一种服务器的bmc版本的升级方法、装置及存储介质 | |
CN109388420A (zh) | 应用升级测试方法、装置、计算机设备及存储介质 | |
CN117290232A (zh) | 一种ota整车升级的自动化测试方法及装置 | |
CN110007946B (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN113806209A (zh) | 接口测试方法、框架、计算机设备和存储介质 | |
CN110471745A (zh) | 一种服务编排方法及装置 | |
CN115934503A (zh) | 程序测试方法、装置、设备及存储介质 | |
CN112256365B (zh) | 一种自动化管理多语言版本的方法及终端 | |
CN115033481A (zh) | 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |