CN115033466A - 批量刷机压力测试方法及装置、存储介质、计算机设备 - Google Patents
批量刷机压力测试方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN115033466A CN115033466A CN202210562426.0A CN202210562426A CN115033466A CN 115033466 A CN115033466 A CN 115033466A CN 202210562426 A CN202210562426 A CN 202210562426A CN 115033466 A CN115033466 A CN 115033466A
- Authority
- CN
- China
- Prior art keywords
- chip
- version
- tested device
- tested
- flashing
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种批量刷机压力测试方法及装置、存储介质、计算机设备,该方法包括:通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。本申请通过对各被测试设备进行独立测试,降低了测试成本,提高了测试效率,提高了问题定位准确性。
Description
技术领域
本申请涉及设备测试技术领域,尤其是涉及到一种批量刷机压力测试方法及装置、存储介质、计算机设备。
背景技术
目前,对多个设备进行刷机压力测试时,通常采用的方式为逐个对设备进行刷机压力测试。这种测试方式对于设备较多的情况,测试效率较低,测试所需时间较长
发明内容
有鉴于此,本申请提供了一种批量刷机压力测试方法及装置、存储介质、计算机设备,有助于降低测试成本,提高测试效率,提高问题定位准确性。
根据本申请的一个方面,提供了一种批量刷机压力测试方法,所述方法包括:
通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;
基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;
获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
可选地,每个所述被测试设备均包括第一芯片和第二芯片;通过所述第一芯片的刷机接口写入所述第一芯片和所述第二芯片各自的刷机文件,通过所述通信接口控制所述第一芯片基于刷机文件进行刷机,以及控制所述第一芯片向所述第二芯片传输控制指令以使所述第二芯片基于刷机文件进行刷机。
可选地,一次所述刷机压力测试任务包括对所述被测试设备的固件版本进行一次升级以及一次降级;
所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,具体包括:
确定每个所述被测试设备的刷机测试时间间隔;
按照所述刷机测试时间间隔,通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务。
可选地,每个所述被测试设备均包括第一芯片和第二芯片,对所述第二芯片的刷机依赖于所述第一芯片的固件版本;
所述刷机压力测试任务依次包括对所述第一芯片的固件版本进行第一刷写、对所述第二芯片的固件版本进行第二刷写、对所述第一芯片的固件版本进行第三刷写以及对所述第二芯片的固件版本进行第四刷写;
其中,所述第一刷写用于将所述第一芯片的固件版本由第一初始版本刷写为第一测试版本,所述第二刷写用于将所述第二芯片的固件版本由第二初始版本刷写为第二测试版本,所述第三刷写用于将所述第一芯片的固件版本由所述第一测试版本刷写为所述第一初始版本,所述第四刷写用户将所述第二芯片的固件版本由所述第二测试版本刷写为所述第二初始版本。
可选地,所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务之前,所述方法还包括:
通过所述通信接口,分别读取每个所述被测试设备的第一芯片的第一实际版本以及第二芯片的第二实际版本;
获取所述被测试设备中所述第一实际版本不为所述第一初始版本和/或所述第二实际版本不为所述第二初始版本的待初始化设备;
对所述待初始化设备进行固件版本初始化,以使所述待初始化设备的第一芯片和第二芯片的固件版本分别被刷写为所述第一初始版本和所述第二初始版本。
可选地,所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,具体包括:
对于任意一个被测试设备,通过所述通信接口对所述被测试设备的第一芯片的固件版本进行所述第一刷写,并在所述第一刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一测试版本,则对所述被测试设备的第二芯片的固件版本进行所述第二刷写,并在所述第二刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二测试版本,则对所述被测试设备的第一芯片的固件版本进行所述第三刷写,并在所述第三刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一初始版本,则对所述被测试设备的第二芯片的固件版本进行所述第四刷写,并在所述第四刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二初始版本,则结束本次对所述被测试设备的所述刷机压力测试任务。
可选地,所述通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接之前,所述方法还包括:
构建每个所述被测试设备唯一的设备序列号,并分别向每个所述被测试设备写入对应的所述设备序列号;
相应地,所述获取每个所述被测试设备的设备识别号,具体包括:
获取每个所述被测试设备的所述设备序列号以及设备接口号,其中,所述设备识别号包括所述设备序列号和所述设备接口号。
可选地,所述获取每个所述被测试设备的刷机压力测试数据,具体包括:
通过所述通信接口,分别读取每个所述被测试设备的固件刷写日志;
基于所述通信接口的设备接口号对应的所述设备序列号,确定所述固件刷写日志对应的被测试设备,生成所述被测试设备的刷机压力测试数据。
根据本申请的另一方面,提供了一种批量刷机压力测试装置,所述装置包括:
连接模块,用于通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;
测试模块,用于基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;
分析模块,用于获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
可选地,每个所述被测试设备均包括第一芯片和第二芯片;通过所述第一芯片的刷机接口写入所述第一芯片和所述第二芯片各自的刷机文件,通过所述通信接口控制所述第一芯片基于刷机文件进行刷机,以及控制所述第一芯片向所述第二芯片传输控制指令以使所述第二芯片基于刷机文件进行刷机。
可选地,一次所述刷机压力测试任务包括对所述被测试设备的固件版本进行一次升级以及一次降级;
所述测试模块,具体用于:确定每个所述被测试设备的刷机测试时间间隔;按照所述刷机测试时间间隔,通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务。
可选地,每个所述被测试设备均包括第一芯片和第二芯片,对所述第二芯片的刷机依赖于所述第一芯片的固件版本;
所述刷机压力测试任务依次包括对所述第一芯片的固件版本进行第一刷写、对所述第二芯片的固件版本进行第二刷写、对所述第一芯片的固件版本进行第三刷写以及对所述第二芯片的固件版本进行第四刷写;
其中,所述第一刷写用于将所述第一芯片的固件版本由第一初始版本刷写为第一测试版本,所述第二刷写用于将所述第二芯片的固件版本由第二初始版本刷写为第二测试版本,所述第三刷写用于将所述第一芯片的固件版本由所述第一测试版本刷写为所述第一初始版本,所述第四刷写用户将所述第二芯片的固件版本由所述第二测试版本刷写为所述第二初始版本。
可选地,所述装置还包括:初始化模块,用于:
所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务之前,通过所述通信接口,分别读取每个所述被测试设备的第一芯片的第一实际版本以及第二芯片的第二实际版本;
获取所述被测试设备中所述第一实际版本不为所述第一初始版本和/或所述第二实际版本不为所述第二初始版本的待初始化设备;
对所述待初始化设备进行固件版本初始化,以使所述待初始化设备的第一芯片和第二芯片的固件版本分别被刷写为所述第一初始版本和所述第二初始版本。
可选地,所述测试模块,具体用于:
对于任意一个被测试设备,通过所述通信接口对所述被测试设备的第一芯片的固件版本进行所述第一刷写,并在所述第一刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一测试版本,则对所述被测试设备的第二芯片的固件版本进行所述第二刷写,并在所述第二刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二测试版本,则对所述被测试设备的第一芯片的固件版本进行所述第三刷写,并在所述第三刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一初始版本,则对所述被测试设备的第二芯片的固件版本进行所述第四刷写,并在所述第四刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二初始版本,则结束本次对所述被测试设备的所述刷机压力测试任务。
可选地,所述装置还包括:
写入模块,用于所述通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接之前,构建每个所述被测试设备唯一的设备序列号,并分别向每个所述被测试设备写入对应的所述设备序列号;
相应地,所述连接模块,还用于:获取每个所述被测试设备的所述设备序列号以及设备接口号,其中,所述设备识别号包括所述设备序列号和所述设备接口号。
可选地,所述分析模块,具体用于:通过所述通信接口,分别读取每个所述被测试设备的固件刷写日志;基于所述通信接口的设备接口号对应的所述设备序列号,确定所述固件刷写日志对应的被测试设备,生成所述被测试设备的刷机压力测试数据。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述批量刷机压力测试方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述批量刷机压力测试方法。
借由上述技术方案,本申请提供的一种批量刷机压力测试方法及装置、存储介质、计算机设备,基于不同被测试设备的设备序列号和设备串口号,为各被测试设备构建相互隔离的刷机任务,为每个被测试设备分配一个独立进程,将各设备的测试过程隔离开,控制被测试设备的刷机压力测试任务独立进行,各被测试设备的压力测试互不干扰且可以同时进行,通过该自动化的批量压力测试方式,有助于降低测试成本,提高测试效率,提高问题定位准确性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种批量刷机压力测试方法的流程示意图;
图2示出了本申请实施例提供的一种批量刷机压力测试装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种批量刷机压力测试方法,如图1所示,该方法包括:
步骤101,通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号。
本申请实施例可以实现对多个被测试设备同时进行刷机压力测试,且在测试过程中,针对每个被测试设备进行独立测试,避免全局刷机操作导致部分设备刷机中断。
在本申请实施例中,通过测试执行终端建立与各被测试设备之间的通信连接,具体可以通过连接各被测试设备的通信接口实现与各被测试设备之间的通信,通信接口可以为被测试设备的串口。建立与各被测试设备的通信连接后,通过通信接口分别获取每个被测试设备的设备识别号,以通过设备识别号来区分各被测试设备。设备识别号可以为被测试设备的设备接口号,通过设备接口号来区分不同的被测试设备。设备识别号也可以为设备序列号和设备接口号,设备序列号可以为人为设定的方便记录的简单编码,基于不同被测试设备的设备接口号和设备序列号的映射关系,通过简单的设备序列号辨识被测试设备。其中,当通信接口为串口时,该设备接口号为被测试设备的串口号。具体地,可以通过PySerial库获取到每台被测试设备的设备串口号,使用fastboot devices命令获取每台设备的设备序列号,并将该设备的设备序列号与该设备的设备串口号相互对应写入到JSON(JavaScript Object Notation,对象简谱)是一种轻量级的数据交换格式)格式的文件中保存,依次遍历所有的被测试设备的串口,将所有被测试设备的设备序列号和设备串口号都存储到JSON文件中,以便用于后续的批量测试。
可选地,步骤101之前还包括:构建每个所述被测试设备唯一的设备序列号,并分别向每个所述被测试设备写入对应的所述设备序列号;
相应地,步骤101中“获取每个所述被测试设备的设备识别号”具体包括:获取每个所述被测试设备的所述设备序列号以及设备接口号,其中,所述设备识别号包括所述设备序列号和所述设备接口号。
在该实施例中,可以预先针对多个被测试设备构建每个设备的唯一设备序列号,不同被测试设备的设备序列号各不相同,以便基于设备序列号区分和识别相应的被测试设备。进一步,将每个被测试设备唯一的设备序列号预先写入到被测试设备中。
步骤102,基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机。
在本申请实施例中,得到每个被测试设备的设备序列号和设备接口号之后,分别针对每个被测试设备,构建独立的刷机压力测试任务。刷机压力测试任务可以通过执行相应的测试代码实现,具体可以先选择一个被测试设备,通过该设备的设备序列号确定对应的设备接口号,在预先写好的测试代码模板中写入被测试设备的设备接口号,生成针对该被测试设备的测试代码,以便通过执行测试代码完成对该被测试设备的刷机压力测试,其中,测试代码模板可以为预先写好的设备固件版本的刷写代码。按该方式可以确定每个被测试设备的刷机压力测试任务。接着,测试执行终端可以通过每个被测试设备的通信接口,分别控制各被测试设备执行各自的刷机压力测试任务,实现对每个被测试设备的独立刷机。
可选地,每个所述被测试设备均包括第一芯片和第二芯片;通过所述第一芯片的刷机接口写入所述第一芯片和所述第二芯片各自的刷机文件,通过所述通信接口控制所述第一芯片基于刷机文件进行刷机,以及控制所述第一芯片向所述第二芯片传输控制指令以使所述第二芯片基于刷机文件进行刷机。
在该实施例中,对于包含第一芯片和第二芯片的被测试设备,通过第一芯片的刷机接口(例如USB接口)与PC连接,通信接口与测试执行终端连接,其中,通过刷机接口写入对第一芯片和第二芯片的刷机文件,通过通信接口控制第一芯片进行刷机,并基于第一芯片和第二芯片之间的通信关系,向第二芯片传输控制指令,通过第一芯片间接控制第二芯片执行刷机。通过上述方式实现对一个设备中多个芯片的刷机,相比现有技术中利用各芯片专有的刷机接口对芯片进行刷机的方式,避免了对多个芯片的刷机接口频繁插拔的操作。
可选地,一次所述刷机压力测试任务包括对所述被测试设备的固件版本进行一次升级以及一次降级。所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,具体包括:确定每个所述被测试设备的刷机测试时间间隔;按照所述刷机测试时间间隔,通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务。
在该实施例中,可以对被测试设备进行反复的固件升级、固件降级实现对被测试设备的压力测试,一次刷机压力测试任务包括一次固件版本升级和一次固件版本降级。在实际应用场景中,可以针对不同的被测试设备设置特定的刷机测试时间间隔,并按该时间间隔多次执行刷机压力测试任务,实现对被测试设备的多样化测试。以确保能够尽早发现这种刷机方式可能给项目硬件芯片带来的问题或该刷机方式存在的问题,不稳定、失败、长时间重复刷机对芯片的寿命、逻辑的影响,另外还可以设置刷机次数,例如1000次以上。
另外,本申请实施例还可以实现对一种特殊被测试设备的刷机压力测试。可选地,每个所述被测试设备均包括第一芯片和第二芯片,对所述第二芯片的刷机依赖于所述第一芯片的固件版本;所述刷机压力测试任务依次包括对所述第一芯片的固件版本进行第一刷写、对所述第二芯片的固件版本进行第二刷写、对所述第一芯片的固件版本进行第三刷写以及对所述第二芯片的固件版本进行第四刷写;其中,所述第一刷写用于将所述第一芯片的固件版本由第一初始版本刷写为第一测试版本,所述第二刷写用于将所述第二芯片的固件版本由第二初始版本刷写为第二测试版本,所述第三刷写用于将所述第一芯片的固件版本由所述第一测试版本刷写为所述第一初始版本,所述第四刷写用户将所述第二芯片的固件版本由所述第二测试版本刷写为所述第二初始版本。
在该实施例中,被测试设备可以包括两块需要刷固件的芯片,即第一芯片和第二芯片,且第二芯片的刷固件操作依赖于第一芯片的刷固件操作结果,即第一芯片刷固件成功后才能执行对第二芯片的刷固件操作。例如,被测试设备为具备音视频功能、视频会议等场景下可能使用的设备,具有声源定位功能和摄像头功能,第一芯片为图像处理芯片,第二芯片为音频处理芯片,第一芯片和第二芯片可以集成在同一个电路板中,刷机过程包括对于图像处理芯片刷机以及音频处理芯片刷机两个步骤,其中音频处理芯片刷机是基于图像处理芯片刷机完成基础上的后继刷机流程,测试人员需要对此类特殊的刷机方式进行压力测试,以确保能够尽早发现这种刷机方式可能给项目硬件芯片带来的问题以及该刷机方式存在的问题。一次刷机压力测试任务包括对第一芯片和第二芯片分别进行一次固件升级和一次固件降级。例如,第一芯片和第二芯片的初始固件版本为新版本,一次刷机压力测试任务包括对第一芯片进行固件降级、对第二芯片进行固件降级、对第一芯片进行固件升级、对第二芯片进行固件升级。又例如,第一芯片和第二芯片的初始固件版本为旧版本,一次刷机压力测试任务包括对第一芯片进行固件升级、对第二芯片进行固件升级、对第一芯片进行固件降级、对第二芯片进行固件降级。
在本申请实施例中,可选地,步骤102中“通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务”具体包括:
步骤102-1,对于任意一个被测试设备,通过所述通信接口对所述被测试设备的第一芯片的固件版本进行所述第一刷写,并在所述第一刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
步骤102-2,若所述被测试设备的第一芯片的固件版本号为所述第一测试版本,则对所述被测试设备的第二芯片的固件版本进行所述第二刷写,并在所述第二刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
步骤102-3,若所述被测试设备的第二芯片的固件版本号为所述第二测试版本,则对所述被测试设备的第一芯片的固件版本进行所述第三刷写,并在所述第三刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
步骤102-4,若所述被测试设备的第一芯片的固件版本号为所述第一初始版本,则对所述被测试设备的第二芯片的固件版本进行所述第四刷写,并在所述第四刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
步骤102-5,若所述被测试设备的第二芯片的固件版本号为所述第二初始版本,则结束本次对所述被测试设备的所述刷机压力测试任务。
在上述实施例中,对于任意一个被测试设备来说,一次刷机压力测试任务的流程包括:通过通信接口控制被测试设备进入刷机模式,例如Bootloader模式,先对被测试设备的第一芯片进行第一刷写,将其从第一初始版本刷写为第一测试版本,在第一刷写结束后检测当前第一芯片的固件版本号;若检测到已成功将第一芯片刷写为第一测试版本,则继续对第二芯片进行第二刷写,将其从第二初始版本刷写为第二测试版本,在第二刷写结束后检测当前第二芯片的固件版本号;若检测到已成功将第二芯片刷写为第二测试版本,则继续对第一芯片进行第三刷写,将其从第一测试版本刷写回到第一初始版本,在第三刷写结束后检测当前第一芯片的固件版本号;若检测到已成功将第一芯片刷写回第一初始版本,则继续对第二芯片进行第四刷写,将其从第二测试版本刷写回到第二初始版本,在第四刷写结束后检测当前第二芯片的固件版本号,并在确定成功将第二芯片刷回到第二初始版本时,结束对该被测试设备的一次刷机压力测试任务。
以对包含新版本固件图像处理芯片为339芯片和音频处理芯片为XMOS芯片的被测试设备来说,将339芯片刷为旧版本固件->等待339刷写完成->检测339版本号->确认339为旧版本后将XMOS芯片刷为旧版本固件->等待XMOS刷写完成->检测XMOS版本号->确认XMOS为旧版本后将339芯片刷为新版本固件->等待339刷写完成->检测339版本号->确认339为新版本后将XMOS芯片刷为新版本固件->等待XMOS刷写完成->检测XMOS版本号->确认XMOS为新版本后,结束本次刷机任务,等待进入下一次刷机任务。
在本申请实施例中,为提升测试效率,在执行刷机压力测试任务之前,还包括:通过所述通信接口,分别读取每个所述被测试设备的第一芯片的第一实际版本以及第二芯片的第二实际版本;获取所述被测试设备中所述第一实际版本不为所述第一初始版本和/或所述第二实际版本不为所述第二初始版本的待初始化设备;对所述待初始化设备进行固件版本初始化,以使所述待初始化设备的第一芯片和第二芯片的固件版本分别被刷写为所述第一初始版本和所述第二初始版本。
在该实施例中,执行刷机压力测试任务之前,先对各被测试设备的芯片固件版本进行统一,以便刷机压力测试任务能够顺利执行。通过各被测试设备的通信接口,分别读取每个被测试设备中第一芯片的固件版本和第二芯片的固件版本,即第一实际版本和第二实际版本。如果被测试设备的第一芯片为第一初始版本并且第二芯片为第二初始版本,那么该被测试设备无需进行初始化,否则需要先对被测试设备进行初始化处理,获取需要进行处理的待初始化设备,将待初始化设备的第一芯片刷写为第一初始版本、第二芯片刷写为第二初始版本。确保各被测试设备的第一芯片为第一初始版本、第二芯片为第二初始版本后,再控制各被测试设备执行刷机压力测试任务。
在具体应用场景中,测试执行中断在整个压力测试过程中均保持与通信接口连接,测试执行终端可以通过通信接口与第一芯片进行通信,向第一芯片发送数据以实现对第一芯片的刷机以及通过第一芯片控制第二芯片的刷机流程,避免对同一设备的多个芯片刷机需要频繁插拔芯片接口导致操作繁琐、测试效率低的问题。以通信接口为串口为例,测试执行终端通过串口与第一芯片通信,用于刷机的PC通过USB接口与第一芯片连接,测试执行终端通过串口向第一芯片发送控制指令以实现对第一芯片的刷机,并通过第一芯片间接控制第二芯片的刷机流程,其中,串口通信围绕整个测试的刷机过程、结果判断都需要对串口进行传递/接收数据,还包括设备进入Bootloader模式(刷机操作需要在该模式下进行)、串口传入账号密码获取超级管理权限的通信授权、串口发送reboot指令重启设备系统、串口获取当前设备系统版本号、获取XMOS系统当前版本号功能进行封装。在进行刷固件时,对于339设备系统:通过Fastboot工具刷入分区固件。对于XMOS设备系统:在进入到339设备系统的基础上,通过dfu_i2c工具刷入XMOS固件。为保证两种芯片刷机都能正常完成,在获取到339刷机完成后->立即获取success字段->切换到XMOS系统->调用dfu_i2c开始刷写->监听xmos刷机完成信号实现刷机。
步骤103,获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
最后,在每次刷机压力测试任务执行完毕时,或者整个压力测试结束时,通过各被测试设备的通信接口获取各被测试设备的刷机压力测试数据,从而通过对刷机压力测试数据进行分析来检验被测试设备是否通过刷机压力测试,发现刷机可能存在的问题。
在本申请实施例中,可选地,步骤103中“获取每个所述被测试设备的刷机压力测试数据”具体包括:通过所述通信接口,分别读取每个所述被测试设备的固件刷写日志;基于所述通信接口的设备接口号对应的所述设备序列号,确定所述固件刷写日志对应的被测试设备,生成所述被测试设备的刷机压力测试数据。
在该实施例中,可以通过通信接口从相应的被测试设备中读取出该设备的固件刷写日志,从哪个通信接口进行数据读取,就可以通过该接口的设备接口号确定对应的设备序列号,从而确定该日志为哪个被测试设备的固件刷写日志,进而将该固件刷写日志确定为该被测试设备的刷机压力测试数据。通过对各被测试设备的刷机压力测试数据分别进行分析,可以快速定位各被测试设备的问题所在。另外,日志中还包含数据产生的时间,基于日志中的时间,在某一步出现问题时也可以快速定位到问题发生点,以便测试人员进一步排查问题的原因。
通过应用本实施例的技术方案,基于不同被测试设备的设备识别号,为各被测试设备构建相互隔离的刷机任务,为每个被测试设备分配一个独立进程,将各设备的测试过程隔离开,控制被测试设备的刷机压力测试任务独立进行,各被测试设备的压力测试互不干扰且可以同时进行,通过该自动化的批量压力测试方式,有助于降低测试成本,提高测试效率,提高问题定位准确性。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种批量刷机压力测试装置,如图2所示,该装置包括:
连接模块,用于通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;
测试模块,用于基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;
分析模块,用于获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
可选地,一次所述刷机压力测试任务包括对所述被测试设备的固件版本进行一次升级以及一次降级;
所述测试模块,具体用于:确定每个所述被测试设备的刷机测试时间间隔;按照所述刷机测试时间间隔,通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务。
可选地,每个所述被测试设备均包括第一芯片和第二芯片,对所述第二芯片的刷机依赖于所述第一芯片的固件版本;
所述刷机压力测试任务依次包括对所述第一芯片的固件版本进行第一刷写、对所述第二芯片的固件版本进行第二刷写、对所述第一芯片的固件版本进行第三刷写以及对所述第二芯片的固件版本进行第四刷写;
其中,所述第一刷写用于将所述第一芯片的固件版本由第一初始版本刷写为第一测试版本,所述第二刷写用于将所述第二芯片的固件版本由第二初始版本刷写为第二测试版本,所述第三刷写用于将所述第一芯片的固件版本由所述第一测试版本刷写为所述第一初始版本,所述第四刷写用户将所述第二芯片的固件版本由所述第二测试版本刷写为所述第二初始版本。
可选地,所述装置还包括:初始化模块,用于:
所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务之前,通过所述通信接口,分别读取每个所述被测试设备的第一芯片的第一实际版本以及第二芯片的第二实际版本;
获取所述被测试设备中所述第一实际版本不为所述第一初始版本和/或所述第二实际版本不为所述第二初始版本的待初始化设备;
对所述待初始化设备进行固件版本初始化,以使所述待初始化设备的第一芯片和第二芯片的固件版本分别被刷写为所述第一初始版本和所述第二初始版本。
可选地,所述测试模块,具体用于:
对于任意一个被测试设备,通过所述通信接口对所述被测试设备的第一芯片的固件版本进行所述第一刷写,并在所述第一刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一测试版本,则对所述被测试设备的第二芯片的固件版本进行所述第二刷写,并在所述第二刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二测试版本,则对所述被测试设备的第一芯片的固件版本进行所述第三刷写,并在所述第三刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一初始版本,则对所述被测试设备的第二芯片的固件版本进行所述第四刷写,并在所述第四刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二初始版本,则结束本次对所述被测试设备的所述刷机压力测试任务。
可选地,所述分析模块,具体用于:通过所述通信接口,分别读取每个所述被测试设备的固件刷写日志;基于所述通信接口的设备接口号对应的所述设备序列号,确定所述固件刷写日志对应的被测试设备,生成所述被测试设备的刷机压力测试数据。
可选地,所述装置还包括:
写入模块,用于所述通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接之前,构建每个所述被测试设备唯一的设备序列号,并分别向每个所述被测试设备写入对应的所述设备序列号。
需要说明的是,本申请实施例提供的一种批量刷机压力测试装置所涉及各功能单元的其他相应描述,可以参考图1方法中的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1所示的批量刷机压力测试方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1所示的方法,以及图2所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1所示的批量刷机压力测试方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现基于不同被测试设备的设备序列号和设备串口号,为各被测试设备构建相互隔离的刷机任务,为每个被测试设备分配一个独立进程,将各设备的测试过程隔离开,控制被测试设备的刷机压力测试任务独立进行,各被测试设备的压力测试互不干扰且可以同时进行,通过该自动化的批量压力测试方式,有助于降低测试成本,提高测试效率,提高问题定位准确性。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (11)
1.一种批量刷机压力测试方法,其特征在于,所述方法包括:
通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;
基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;
获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
2.根据权利要求1所述的方法,其特征在于,每个所述被测试设备均包括第一芯片和第二芯片;通过所述第一芯片的刷机接口写入所述第一芯片和所述第二芯片各自的刷机文件,通过所述通信接口控制所述第一芯片基于刷机文件进行刷机,以及控制所述第一芯片向所述第二芯片传输控制指令以使所述第二芯片基于刷机文件进行刷机。
3.根据权利要求2所述的方法,其特征在于,一次所述刷机压力测试任务包括对所述被测试设备的固件版本进行一次升级以及一次降级;
所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,具体包括:
确定每个所述被测试设备的刷机测试时间间隔;
按照所述刷机测试时间间隔,通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务。
4.根据权利要求3所述的方法,其特征在于,
所述第一芯片包括图像处理芯片,所述第二芯片包括音频处理芯片;
所述刷机压力测试任务依次包括对所述第一芯片的固件版本进行第一刷写、对所述第二芯片的固件版本进行第二刷写、对所述第一芯片的固件版本进行第三刷写以及对所述第二芯片的固件版本进行第四刷写;
其中,所述第一刷写用于将所述第一芯片的固件版本由第一初始版本刷写为第一测试版本,所述第二刷写用于将所述第二芯片的固件版本由第二初始版本刷写为第二测试版本,所述第三刷写用于将所述第一芯片的固件版本由所述第一测试版本刷写为所述第一初始版本,所述第四刷写用户将所述第二芯片的固件版本由所述第二测试版本刷写为所述第二初始版本。
5.根据权利要求4所述的方法,其特征在于,所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务之前,所述方法还包括:
通过所述通信接口,分别读取每个所述被测试设备的第一芯片的第一实际版本以及第二芯片的第二实际版本;
获取所述被测试设备中所述第一实际版本不为所述第一初始版本和/或所述第二实际版本不为所述第二初始版本的待初始化设备;
对所述待初始化设备进行固件版本初始化,以使所述待初始化设备的第一芯片和第二芯片的固件版本分别被刷写为所述第一初始版本和所述第二初始版本。
6.根据权利要求4所述的方法,其特征在于,所述通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,具体包括:
对于任意一个被测试设备,通过所述通信接口对所述被测试设备的第一芯片的固件版本进行所述第一刷写,并在所述第一刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一测试版本,则对所述被测试设备的第二芯片的固件版本进行所述第二刷写,并在所述第二刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二测试版本,则对所述被测试设备的第一芯片的固件版本进行所述第三刷写,并在所述第三刷写结束后,读取所述被测试设备的第一芯片的固件版本号;
若所述被测试设备的第一芯片的固件版本号为所述第一初始版本,则对所述被测试设备的第二芯片的固件版本进行所述第四刷写,并在所述第四刷写结束后,读取所述被测试设备的第二芯片的固件版本号;
若所述被测试设备的第二芯片的固件版本号为所述第二初始版本,则结束本次对所述被测试设备的所述刷机压力测试任务。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接之前,所述方法还包括:
构建每个所述被测试设备唯一的设备序列号,并分别向每个所述被测试设备写入对应的所述设备序列号;
相应地,所述获取每个所述被测试设备的设备识别号,具体包括:
获取每个所述被测试设备的所述设备序列号以及设备接口号,其中,所述设备识别号包括所述设备序列号和所述设备接口号。
8.根据权利要求7所述的方法,其特征在于,所述获取每个所述被测试设备的刷机压力测试数据,具体包括:
通过所述通信接口,分别读取每个所述被测试设备的固件刷写日志;
基于所述通信接口的设备接口号对应的所述设备序列号,确定所述固件刷写日志对应的被测试设备,生成所述被测试设备的刷机压力测试数据。
9.一种批量刷机压力测试装置,其特征在于,所述装置包括:
连接模块,用于通过各被测试设备的通信接口,分别建立与每个所述被测试设备的通信连接,获取每个所述被测试设备的设备识别号;
测试模块,用于基于所述设备识别号,确定每个所述被测试设备的刷机压力测试任务,并通过所述通信接口分别控制每个所述被测试设备执行所述刷机压力测试任务,以对所述被测试设备进行刷机;
分析模块,用于获取每个所述被测试设备的刷机压力测试数据,对所述刷机压力测试数据进行分析,以检验所述被测试设备是否通过刷机压力测试。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
11.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210562426.0A CN115033466B (zh) | 2022-05-23 | 2022-05-23 | 批量刷机压力测试方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210562426.0A CN115033466B (zh) | 2022-05-23 | 2022-05-23 | 批量刷机压力测试方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115033466A true CN115033466A (zh) | 2022-09-09 |
CN115033466B CN115033466B (zh) | 2023-04-07 |
Family
ID=83120391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210562426.0A Active CN115033466B (zh) | 2022-05-23 | 2022-05-23 | 批量刷机压力测试方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033466B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
CN109032912A (zh) * | 2018-07-25 | 2018-12-18 | 北京首汽智行科技有限公司 | 车载终端固件升级的压力测试方法 |
CN109308257A (zh) * | 2018-08-13 | 2019-02-05 | 北京奇虎科技有限公司 | 测试任务执行方法、装置、电子设备及计算机存储介质 |
CN112579369A (zh) * | 2019-09-29 | 2021-03-30 | 北京小米移动软件有限公司 | 多线程刷机系统、方法、装置、设备和存储介质 |
CN112799958A (zh) * | 2021-02-23 | 2021-05-14 | 长鑫存储技术有限公司 | 设备批量测试方法、装置、计算机设备及介质 |
CN113704037A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 设备测试方法、装置、计算机设备和存储介质 |
US20210374042A1 (en) * | 2020-06-01 | 2021-12-02 | Visa International Service Association | Automatic portable device testing method and system |
CN113835936A (zh) * | 2021-08-26 | 2021-12-24 | 青岛中科英泰商用系统股份有限公司 | 一种Andriod设备的通用测试系统及其方法 |
-
2022
- 2022-05-23 CN CN202210562426.0A patent/CN115033466B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
CN109032912A (zh) * | 2018-07-25 | 2018-12-18 | 北京首汽智行科技有限公司 | 车载终端固件升级的压力测试方法 |
CN109308257A (zh) * | 2018-08-13 | 2019-02-05 | 北京奇虎科技有限公司 | 测试任务执行方法、装置、电子设备及计算机存储介质 |
CN112579369A (zh) * | 2019-09-29 | 2021-03-30 | 北京小米移动软件有限公司 | 多线程刷机系统、方法、装置、设备和存储介质 |
US20210374042A1 (en) * | 2020-06-01 | 2021-12-02 | Visa International Service Association | Automatic portable device testing method and system |
CN112799958A (zh) * | 2021-02-23 | 2021-05-14 | 长鑫存储技术有限公司 | 设备批量测试方法、装置、计算机设备及介质 |
CN113835936A (zh) * | 2021-08-26 | 2021-12-24 | 青岛中科英泰商用系统股份有限公司 | 一种Andriod设备的通用测试系统及其方法 |
CN113704037A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 设备测试方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
于海飞: "基于物联网的工厂生产数据监控系统设计及实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN115033466B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100498704C (zh) | 使用可扩展固件接口的持久性存储器操作 | |
CN105426298A (zh) | 一种基于adb的软件测试方法和系统 | |
CN113407393B (zh) | 芯片验证方法、终端设备、验证平台以及存储介质 | |
CN114116364A (zh) | 芯片的调试方法、存储介质、相关装置和系统 | |
CN112732576B (zh) | 基于用户界面的自动化测试方法、装置及设备 | |
CN113849419B (zh) | 芯片的测试向量生成方法、系统、设备及存储介质 | |
CN111651232A (zh) | 一机多控方法、装置、系统及电子设备 | |
CN111158987B (zh) | 微服务架构的健康检查方法及装置 | |
CN104468260A (zh) | 一种移动终端设备的识别方法、装置及系统 | |
CN116301984A (zh) | 固件升级方法、带外控制器和计算设备 | |
CN115525490A (zh) | 一种内存眼图测试方法、硬件调试设备及存储介质 | |
US10371744B2 (en) | Method and apparatus for an efficient framework for testcell development | |
CN113268416A (zh) | 一种应用程序的测试方法、装置、存储介质及终端 | |
CN114578790B (zh) | 一种无人机飞控自动测试方法、系统、设备和介质 | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN115981927A (zh) | 基于windows系统的批量测试USB设备的装置、方法 | |
CN115658582A (zh) | 一种pcie设备扫描方法及服务器 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
KR100758850B1 (ko) | 이동통신 시스템에서 테스트 스크립트를 이용한 테스트를위한 장치 및 방법 | |
CN115033466B (zh) | 批量刷机压力测试方法及装置、存储介质、计算机设备 | |
CN113709243A (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN111209125B (zh) | 一种多进程的命令行实现方法 | |
CN112256560A (zh) | 应用程序测试方法、装置及电子设备 | |
CN113495817A (zh) | 功耗测试方法、装置、服务器及存储介质 | |
CN114116034A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |