CN113821434A - 固件升级测试方法、装置、电子设备和可读存储介质 - Google Patents
固件升级测试方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113821434A CN113821434A CN202111055420.6A CN202111055420A CN113821434A CN 113821434 A CN113821434 A CN 113821434A CN 202111055420 A CN202111055420 A CN 202111055420A CN 113821434 A CN113821434 A CN 113821434A
- Authority
- CN
- China
- Prior art keywords
- firmware
- test
- equipment
- tested
- upgrading
- 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.)
- Withdrawn
Links
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种固件升级测试方法、装置、电子设备和可读存储介质,该方法包括:获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件;确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
Description
技术领域
本公开实施例涉及固件升级测试技术领域,更具体地,涉及一种固件升级测试方法、装置、电子设备和可读存储介质。
背景技术
为了实现功能完善、漏洞修补等目的,设备的固件升级较为常见。在对开发的固件投入使用之前,通常需要进行固件升级测试。
目前,对于固件升级测试任务中的每一次测试,均可从设定平台下载固件,进而基于下载的固件进行当前次的测试。
但由于需要反复下载固件,使得固件升级测试效率较低。
发明内容
本公开实施例的一个目的是提供一种固件升级测试的新的技术方案。
根据本公开的第一方面,提供了一种固件升级测试方法,包括:获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件;确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
可选地,所述确定目标固件,包括:检测所述待测设备上安装的第三固件和设定固件是否相同,所述设定固件为所述两个固件中的任意一个;在所述第三固件和所述设定固件不相同的情况下,确定所述目标固件为所述设定固件;在所述第三固件和所述设定固件相同的情况下,确定所述目标固件为所述两个固件中的与所述设定固件不相同的固件。
可选地,所述检测所述待测设备上安装的第三固件和设定固件是否相同,包括:读取所述待测设备上记录的所述第三固件的版本信息;通过对比所述第三固件的版本信息和所述设定固件的版本信息,以检测所述第三固件和设定固件是否相同。
可选地,在所述检测所述待测设备上安装的第三固件和设定固件是否相同之前,所述方法还包括:在首次进行所述固件升级测试的情况下,通过读取所述待测设备上记录的所述第三固件的版本信息,确定所述第三固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述第三固件不为上一次下发至所述待测设备的固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述第三固件为上一次下发至所述待测设备的固件。
可选地,所述确定目标固件,包括:在首次进行所述固件升级测试的情况下,确定所述目标固件为所述待发布的第二固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述目标固件为上一次下发至所述待测设备的固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述目标固件为所述两个固件中的、且与上一次下发至所述待测设备的固件不同的固件。
可选地,所述待测设备包括:可充电电池和用于对可充电电池进行充电的充电器中的一个。
可选地,所述获取对应待测设备的两个固件,包括:获取待测任务信息,所述待测任务信息包括所述第二固件、所述待测设备的种类和型号;在所述将所述两个固件存储于本地之后,所述方法还包括:检测是否已连接至少一个设备;在已连接所述至少一个设备的情况下,检测所述至少一个设备中每一个已连接设备的种类和型号,得到检测结果;根据所述检测结果和所述待测任务信息包括的所述待测设备的种类和型号,检测是否已连接所述待测设备;在已连接所述待测设备的情况下,执行所述确定目标固件的步骤。
可选地,所述第一固件为最近一次发布的固件;在所述检测是否已连接至少一个设备之前,所述方法还包括:对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的最近一次发布的固件,将对应所述设定设备的最近一次发布的固件存储于本地;其中,所述至少两种设定设备包括所述至少一个设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个;在所述检测是否已连接所述待测设备之后,所述方法还包括:在未连接所述待测设备的情况下,对于每一个所述已连接设备,根据所述检测结果,检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同;在所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件不相同的情况下,将对应所述已连接设备的最近一次发布的固件下发至所述已连接设备进行固件升级。
可选地,在所述检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同之后,所述方法还包括:对于每一个所述已连接设备,在所述已连接设备上安装的固件为对应所述已连接设备的最近一次发布的固件的情况下,执行以下操作中的任意一个:在所述至少一个设备为可充电电池的情况下,显示连接的可充电电池的信息;在所述至少一个设备为用于对可充电电池进行充电的充电器的情况下,显示连接的充电器的信息;在所述至少一个设备为可充电电池和用于对可充电电池进行充电的充电器的情况下,基于连接的充电器对连接的可充电电池进行充电,并显示连接的可充电电池的信息及连接的充电器的信息。
可选地,所述第一固件为最近一次发布的固件。
可选地,所述第一固件为已发布固件;所述获取对应待测设备的两个固件,并将所述两个固件存储于本地,包括:对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的已发布固件,将对应所述设定设备的已发布固件存储于本地;获取所述第二固件,并将所述第二固件存储于本地;其中,所述至少两种设定设备包括所述待测设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个。
可选地,所述获取对应待测设备的两个固件,包括:接收设定充电柜发送的所述第一固件;接收所述设定充电柜根据设定平台指定的装置标识发送的所述第二固件;其中,所述第一固件和所述第二固件均由所述设定平台提供,所述设定充电柜包括至少两个固件升级测试装置,每一个所述固件升级测试装置均对应有相应的充电柜标识和装置标识;
在所述将所述目标固件下发至所述待测设备进行一次固件升级测试之后,所述方法还包括:生成固件升级测试结果;
所述方法还包括:在所述固件升级测试的执行次数等于设定次数的情况下,将每一个所述固件升级测试结果发送给所述设定充电柜,以使所述设定充电柜将接收到的每一个所述固件升级测试结果发送给所述设定平台。
根据本公开的第二方面,还提供了一种固件升级测试装置,包括:第一处理模块,用于获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件;以及,第二处理模块,用于确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
根据本公开的第三方面,还提供了一种电子设备,包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现根据本公开第一方面所述的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据本公开的第一方面所述的方法。
本公开实施例的一个有益效果在于,获取对应待测设备的两个固件并存储于本地,该两个固件包括第一固件和待发布的第二固件;确定目标固件并将其下发至待测设备进行一次固件升级测试,目标固件为第一固件和第二固件中的一个,且目标固件与待测设备上安装的固件不相同;在固件升级测试的执行次数小于设定次数的情况下,再次执行确定目标固件的步骤,如此循环,直至达到设定次数。由于每次固件升级测试所使用的固件均为该两个固件中的一个,使得整个测试过程无需反复下载固件,故而可提高固件升级测试效率。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开实施例的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开实施例的原理。
图1为能够应用根据一个实施例的固件升级测试方法的电子设备组成结构的示意图;
图2是根据一个实施例的固件升级测试方法的流程示意图;
图3是根据另一个实施例的固件升级测试方法的流程示意图;
图4是根据一个实施例的固件升级测试装置的方框原理图;
图5是根据一个实施例的电子设备的硬件结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例的一个应用场景为固件升级测试场景。
为了实现固件升级测试目的,一种可选的实施方式为:对于固件升级测试任务中的每一次固件升级测试,均可从设定平台下载固件,进而基于下载的固件进行当前次的测试。
但这一实现方式需要反复下载固件,使得固件升级测试效率较低。比如,任意一次从下载固件到完成升级的耗时时间大约为3min,以正常压测次数为1000次为例,则单个待测设备的固件升级测试完成需要约50小时,测试效率较低。此外,由于测试耗时较长,这一实现方式也不便于固件升级测试任务覆盖到所有种类及型号的待测设备。
针对以上实施方式存在的技术问题,发明人提出了一种固件升级测试方法,该方法获取对应待测设备的两个固件并存储于本地,该两个固件包括第一固件和待发布的第二固件;确定目标固件并将其下发至待测设备进行一次固件升级测试,目标固件为第一固件和第二固件中的一个,且目标固件与待测设备上安装的固件不相同;在固件升级测试的执行次数小于设定次数的情况下,再次执行确定目标固件的步骤,如此循环,直至达到设定次数。由于每次固件升级测试所使用的固件均为该两个固件中的一个,使得整个测试过程无需反复下载固件,故而可提高固件升级测试效率。
<硬件配置>
图1示出可以实现本发明的实施例的电子设备1000的硬件配置的示意图。
电子设备1000可以是智能手机、便携式电脑、台式计算机、平板电脑、服务器等,在此不做限定。
该电子设备1000的硬件配置可以包括但不限于处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、图形处理器GPU、微处理器MCU等,用于执行计算机程序,该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、串行接口、并行接口等。通信装置1400例如能够利用光纤或电缆进行有线通信,或者进行无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
应用于本公开实施例中,电子设备1000的存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以支持实现根据本公开任意实施例的固件升级测试方法。技术人员可以根据本公开所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。该电子设备1000可以安装有智能操作系统(例如Windows、Linux、安卓、IOS等系统)和应用软件。
本领域技术人员应当理解,尽管在图1中示出了电子设备1000的多个装置,但是,本公开实施例的电子设备1000可以仅涉及其中的部分装置,例如,只涉及处理器1100和存储器1200。这是本领域公知,此处不再赘述。
下面,参照附图描述根据本发明的各个实施例和例子。
<方法实施例>
图2是根据一个实施例的固件升级测试方法的流程示意图。本实施例的实施主体例如为图1所示的电子设备。
如图2所示,本实施例的固件升级测试方法可以包括如下步骤S210~S230:
步骤S210,获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件。
为实现功能完善等目的,设备固件的更新换代较为常见。在将技术人员研发的固件面向市场以正式发布之前,通常需要对待发布的固件进行固件升级测试。若测试通过即可面向市场发布。详细地,固件升级测试,或称固件升级压力测试、固件升级压测等。
如此,本实施例中,为了能够对待发布固件所应用的设备进行固件升级测试,可以获取该待发布固件(或称压测固件,即上述第二固件)及区别于该待发布固件的另一固件(即上述第一固件)。其中,该另一固件同样为应用于该设备的固件,通常可以为对应该设备的已发布固件,优选可以为对应该设备的最近一次发布的固件。
基于此,在本公开一个实施例中,所述第一固件为最近一次发布的固件。与其他次发布的固件相比,最近一次发布的固件(或称正式固件)的固件性能等方面相对最优,本实施例基于最近一次发布的固件来进行固件升级测试,可更好的支持固件升级测试的顺利进行。
本实施例中,将对待测设备进行固件升级测试的两个固件存储于本地(即存储于本地存储中)。如此,在进行每一次固件升级测试时,直接从本地读取固件并据此对待测设备进行测试即可,从而在整个固件升级测试过程中无需反复下载固件,从而可以避免存在因反复下载固件所带来的相应耗时。
在本公开一个实施例中,所述待测设备包括:可充电电池和用于对可充电电池进行充电的充电器中的一个。
本实施例中,既可以对电池作固件升级测试,也可以对充电器作固件升级测试。本实施例中的可充电电池可以为电动自行车的电池,比如可以为共享电动自行车的电池。
考虑到待测设备的种类可以不同,比如可以为电池或充电器,同一种类设备的型号也可以有多个,故而对于固件的获取及存储方式,至少可以为以下方式1和方式2中一个。
方式1:固件升级测试装置仅获取并存储对应当前待测设备的待发布固件和另一固件,比如仅存储对应当前待测设备的压测固件和正式固件。
详细地,对于上述方式1,在测试人员构建一个固件升级测试任务后,用于执行该固件升级测试任务的固件升级测试装置可以获取相应的压测固件和正式固件,并存储于本地。如此,可以相对最小化对本地存储的占用。
方式2:固件升级测试装置获取并存储对应当前待测设备的待发布固件和分别对应所有待测设备的另一固件,比如不仅存储对应当前待测设备的压测固件和正式固件,还存储对应其他待测设备的正式固件。
详细地,对于上述方式2,固件升级测试装置可以获取所有设备的正式固件并存储于本地。在测试人员构建一个固件升级测试任务后,用于执行该固件升级测试任务的固件升级测试装置可以获取相应的压测固件,并存储于本地。如此,对于不同的固件升级测试任务,无需反复获取相应的正式固件,可对应避免该操作所带来的时耗。
基于上述内容,对应于上述方式2,在本公开一个实施例中,所述第一固件为已发布固件。比如该第一固件可以为对应待测设备的最近一次发布的固件,即上述正式固件。
基于此,所述步骤S210,获取对应待测设备的两个固件,并将所述两个固件存储于本地,可以包括以下步骤S210a1~步骤S210a2:
步骤S210a1,对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的已发布固件,将对应所述设定设备的已发布固件存储于本地。
其中,所述至少两种设定设备包括所述待测设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个。
举例来说,该至少两种设定设备可以为:型号A电池~型号Z电池、型号A充电器~型号Z充电器。如此,固件升级测试装置可以获取各个设定装置的已发布固件,比如获取型号A电池正式固件~型号Z电池正式固件、型号A充电器正式固件~型号Z充电器正式固件,并存储于本地。
优选地,可以在获取第二固件之前,获取这些已发布固件并存储于本地。基于此,在需要对任一种设定设备进行固件升级测试时,由于本地已存储有相应的已发布固件,则可以仅获取相应的待发布固件即可,而无需重复获取相应的已发布固件。
步骤S210a2,获取所述第二固件,并将所述第二固件存储于本地。
如上所述,在需要对任一种设定设备进行固件升级测试时,获取相应的待发布固件并存储于本地。
在本公开一个实施例中,可以在固件升级测试装置的flash区域划分出两个分区,比如划分出正式分区和压测分区,将已发布固件存储于正式分区,将待发布固件存储于压测分区。
基于上述内容,在本公开一个实施例中,以上步骤S210中,所述获取对应待测设备的两个固件,可以包括:获取待测任务信息,所述待测任务信息包括所述第二固件、所述待测设备的种类和型号。
本实施例中,测试人员需要构建一个固件升级测试任务时,可以指定待测设备的种类和型号,并提供相应的压测固件。对应地,固件升级测试装置可以获取待测任务信息,以获得相应的压测固件、待测设备的种类和型号,以便于可基于获得的压测固件,对对应该种类和型号的设备进行测试。
对应地,在所述将所述两个固件存储于本地之后,所述方法还可以包括以下步骤A1~步骤A4:
步骤A1,检测是否已连接至少一个设备。
详细地,在将两个固件存储至本地之后,固件升级测试装置可以检测设备连接情况,以检测是否已连接有设备。
详细地,与固件升级测试装置连接的设备可以有多个,该多个设备中可以有待测设备,也可以没有待测设备。
比如,与固件升级测试装置连接的设备可以为电池,也可以为充电器,还可以为电池和充电器。
步骤A2,在已连接所述至少一个设备的情况下,检测所述至少一个设备中每一个已连接设备的种类和型号,得到检测结果。
该步骤中,对于已连接的每一个设备,可以检测其种类和型号,进而可基于检测结果来判断是否已连接待测设备。
步骤A3,根据所述检测结果和所述待测任务信息包括的所述待测设备的种类和型号,检测是否已连接所述待测设备。
本实施例中,对于所连接的设备,可以根据任务指定的种类和型号,以及根据上述检测结果,来确定是否连接了待测设备。
比如,若待测任务信息包括的种类为电池、型号为a,则获得的压测固件为用于测试电池a的压测固件。在连接有一个电池a时,即说明已连接待测设备,进而可基于该压测固件对连接的电池a进行测试。
步骤A4,在已连接所述待测设备的情况下,执行所述确定目标固件的步骤(即执行以下步骤S220)。
如上所述,若连接的一个设备具有任务指定的种类和型号,该设备即作为待测设备,以对该设备进行固件升级测试。
由上可知,在已连接有设备的情况下,已连接的设备可以包括待测设备,也可以不包括待测设备。在已连接的设备不包括待测设备的情况下,不做固件升级测试,而可以针对已连接的设备执行其他设定处理,比如可以按需进行固件升级、充电等处理。
详细地,可以仅进行固件升级处理,或者仅进行充电等处理,以及优选地,还可以先按需进行固件升级处理,再基于已升级至相应正式固件的设备进行充电等处理。
基于此,在本公开一个实施例中,所述第一固件为最近一次发布的固件。对应地,在所述步骤A1,检测是否已连接至少一个设备之前,所述方法还可以包括以下步骤B1:
步骤B1,对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的最近一次发布的固件,将对应所述设定设备的最近一次发布的固件存储于本地。
其中,所述至少两种设定设备包括所述至少一个设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个。
本实施例中,在本地存储各种设备的正式固件和压测固件。如此,在连接待测设备时,可基于相应的正式固件和压测固件进行固件升级测试,在未连接待测设备时,可基于本地存储的相应正式固件对各个已连接设备按需进行固件升级,以保证已连接的设备均安装上相应的正式固件。
基于上述内容,在所述检测是否已连接所述待测设备之后,所述方法还可以包括以下步骤B2~步骤B3:
步骤B2,在未连接所述待测设备的情况下,对于每一个所述已连接设备,根据所述检测结果,检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同。
该步骤中,对于连接的设备不包括待测设备时,可以按需对连接的设备进行固件升级。
详细地,对于每一个已连接设备,可以根据检测结果中的该设备的种类和型号,从本地存储中确定该设备的正式固件,并确定该设备当前所安装的固件,通过对比可知该设备当前是否已安装有相应正式固件。
步骤B3,在所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件不相同的情况下,将对应所述已连接设备的最近一次发布的固件下发至所述已连接设备进行固件升级。
该步骤中,若已连接设备当前未安装有相应正式固件,可以将相应正式固件下发至该设备以进行固件升级,否则可以无需进行固件升级。
本实施例通过将已连接设备进行固件升级,可以使得设备具有相对最优的性能。
上面提到,在已连接的设备不包括待测设备,并对已连接设备按需进行固件升级,以使已连接设备均安装有相应正式固件之后,可以基于已连接设备进行充电等处理。
详细地,在可以对电池和充电器分别进行固件升级测试的应用场景中,已连接的设备可以为电池,或充电器,或电池和充电器。
基于上述内容,在本公开一个实施例中,在所述检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同之后,所述方法还可以包括以下步骤C1~步骤C4:
步骤C1,对于每一个所述已连接设备,在所述已连接设备上安装的固件为对应所述已连接设备的最近一次发布的固件的情况下,执行以下步骤C2~步骤C4中的任意一个。
详细地,对于任一已连接设备,该设备安装有相应正式固件既可以为连接前即已安装相应正式固件,也可以为通过进行固件升级以安装上相应正式固件。
本实施例中,每一个已连接设备均安装有相应正式固件的情况下,可以基于已连接设备进行充电等处理。
步骤C2,在所述至少一个设备为可充电电池的情况下,显示连接的可充电电池的信息。
详细地,若已连接的设备为电池,则可显示电池的信息,如电池当前剩余电量等。
步骤C3,在所述至少一个设备为用于对可充电电池进行充电的充电器的情况下,显示连接的充电器的信息。
详细地,若已连接的设备为充电器,则可显示充电器的信息,如充电器型号等。
步骤C4,在所述至少一个设备为可充电电池和用于对可充电电池进行充电的充电器的情况下,基于连接的充电器对连接的可充电电池进行充电,并显示连接的可充电电池的信息及连接的充电器的信息。
详细地,若已连接的设备为电池和充电器,则可基于充电器对电池进行充电,并显示电池和充电器的实时信息。
详细的,该充电器可以一端连接市电供电端,另一端连接固件升级测试装置。通常情况下,充电器可以与固件升级测试装置保持常连接。
优选地,该充电器可以为智能充电器,以支持针对不同的充电情况(比如电池电量低时的充电情况和电池电量高时的充电情况)进行相应的充电处理,支持智能化充电。
在以上步骤S210将两个固件存储于本地后,即可执行以下步骤S220,以开始进行固件升级测试。
步骤S220,确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同。
在整个测试过程中每一次固件升级测试中,均需将不同于设备所安装固件的另一固件下发至设备中,以实现当前次的固件升级测试。如此,在整个测试过程中,待测设备上安装的固件不固定、向待测设备下发的固件(即上述目标固件)不固定。
本实施例中,根据待测设备上安装的固件,将上述两个固件中的不同于待测设备所安装固件的一个固件,作为目标固件。
详细地,至少可以通过以下方式a或方式b来确定目标固件。
方式a:确定设备所安装固件,进而根据设备所安装固件和设定固件的异同,来确定目标固件。
方式b:无需确定设备所安装固件,直接根据上一次固件升级测试情况,来确定目标固件。
对应于上述方式a,在本公开一个实施例中,所述确定目标固件,可以包括以下步骤D1~步骤D3:
步骤D1,检测所述待测设备上安装的第三固件和设定固件是否相同,所述设定固件为所述两个固件中的任意一个,并执行以下步骤D2或步骤D3。
本实施例中,设定固件可以为第一固件,也可以为第二固件。比如设定固件可以为正式固件,也可以为压测固件。
本实施例中,先确定待测设备上安装的固件(即上述第三固件),再根据第三固件和设定固件的异同,将不同于第三固件的固件下发至待测设备。
步骤D2,在所述第三固件和所述设定固件不相同的情况下,确定所述目标固件为所述设定固件。
步骤D3,在所述第三固件和所述设定固件相同的情况下,确定所述目标固件为所述两个固件中的与所述设定固件不相同的固件。
举例来说,待测设备已发布版本有两个,分别为第一次发布的001版本和第二次发布的002版本,待发布版本有一个,为003版本。
如此,第一固件的版本可以为002,设定固件的版本可以为002或003。在进行固件升级测试之前,待测设备上所安装固件的版本可以为001,也可以为002。
以设定固件的版本为002为例,待测设备上所安装固件的版本为002为例,在第一次固件升级测试中,第三固件和设定固件相同,则执行步骤D3,确定目标固件的版本为003,即将相应的固件003下发至待测设备以进行第一次的测试。
若第一次升级成功,则第二次固件升级测试中,第三固件的版本为003,第三固件和设定固件不相同,则执行步骤D2,确定目标固件的版本为002,即将相应的固件002下发至待测设备以进行第二次的测试。
如此循环,若第二次升级成功,则将固件003下发至待测设备以进行第三次的测试。
本实施例中,目标固件为第二固件时,可以测试设备升级第二固件的能力,目标固件为第一固件时,可以测试安装有第二固件的设备的后续固件升级能力,即可以测试第二固件支持后续固件升级的能力。基于此,可以从两个相对方面分别对第二固件进行反复升级测试,有利于获得准确的测试结果。
基于上述内容,上述方式a中,确定设备所安装固件的方式,至少可以为以下方式c或方式d。
方式c:读取待测设备上的信息,来确定设备所安装固件。
方式d:直接根据上一次下发的固件和相应的升级结果,来确定设备所安装固件。
对应于上述方式c,在本公开一个实施例中,所述步骤D1,检测所述待测设备上安装的第三固件和设定固件是否相同,可以包括以下步骤D11~步骤D12:
步骤D11,读取所述待测设备上记录的所述第三固件的版本信息。
详细地,设备上可以记录有所安装固件的版本信息。当所安装的固件更新时,该版本信息相应更新。
该步骤中,在完成当前次固件升级测试后,固件升级测试装置可以读取该版本信息,进而可据此检测待测设备所安装固件是否与设定固件相同。
步骤D12,通过对比所述第三固件的版本信息和所述设定固件的版本信息,以检测所述第三固件和设定固件是否相同。
详细地,固件升级测试装置可以预存设定固件的版本信息,基于版本信息的对比,来检测第三固件和设定固件是否相同。
基于本实施例提供的实现方式,不仅可以准确确定第三固件,还可进一步校验当前次的固件升级测试结果。
对应于上述方式d,在本公开一个实施例中,在所述步骤D1,检测所述待测设备上安装的第三固件和设定固件是否相同之前,所述方法还可以包括以下步骤E1~步骤E3:
步骤E1,在首次进行所述固件升级测试的情况下,通过读取所述待测设备上记录的所述第三固件的版本信息,确定所述第三固件。
详细地,固件升级测试装置可以通过检测当前是第几次进行固件升级测试,来分情况确定第三固件。比如可以通过判定是否能够获取到上一次固件升级测试的结果,来确定当前是第几次进行固件升级测试。
由于在首次进行固件升级测试时,不存在上一次的固件升级测试,故而可以如上述方式c,通过读取待测设备上的信息,来确定设备所安装固件。
在本公开其他实施例中,由于在首次进行固件升级测试时,设备所安装固件通常不为第二固件,故而可以认为设备所安装固件为第一固件。虽然设备当前所安装固件也可能不是第一固件,但基于这一操作,可使得首次测试均下发第二固件至待测设备,且这一实现不影响整个固件升级测试任务的执行。
由于在非首次进行固件升级测试时,存在上一次的固件升级测试,故而可以直接根据上一次下发的固件和升级结果,来确定设备所安装固件。
步骤E2,在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述第三固件不为上一次下发至所述待测设备的固件。
比如,若上一次下发的是固件003但升级失败,则可以确定设备当前所安装固件为固件002。
步骤E3,在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述第三固件为上一次下发至所述待测设备的固件。
比如,若上一次下发的是固件003且升级成功,则可以确定设备当前所安装固件为固件003。
本实施例中,基本无需与待测设备交互,即可确定待测设备所安装固件,故而可提高确定第三固件的效率。
对应于上述方式b,在本公开一个实施例中,所述确定目标固件,可以包括以下步骤F1~步骤F3:
步骤F1,在首次进行所述固件升级测试的情况下,确定所述目标固件为所述待发布的第二固件。
如上所述,在首次进行固件升级测试时,设备所安装固件通常不为待发布固件。基于此,该步骤中,对于首次升级的情况,可以确定为升级待发布固件。
步骤F2,在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述目标固件为上一次下发至所述待测设备的固件。
该步骤中,对于非首次升级的情况,存在上一次的固件升级测试,故而可以直接根据上一次下发的固件和升级结果,来确定目标固件。
比如,若上一次下发的是固件003但升级失败,则可以确定目标固件为固件003。
步骤F3,在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述目标固件为所述两个固件中的、且与上一次下发至所述待测设备的固件不同的固件。
比如,若上一次下发的是固件003且升级成功,则可以确定目标固件为固件002。
本实施例中,无需与待测设备交互,以及无需获知设备所安装固件,即可确定目标固件,故而可提高确定目标固件的效率。
在确定好目标固件后,将目标固件下发至待测设备,以进行当前次的固件升级测试。完成任意一次固件升级测试后,可以执行以下步骤S230。
步骤S230,在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
详细地,在以上步骤S220完成一次固件升级测试后,可以检测当前已完成的执行次数。若执行次数小于设定次数(比如1000次)则需进行下一次固件升级测试,故而可再次执行以上步骤S220。若执行次数达到设定次数,可认为固件升级测试任务已完成。
由上可知,本发明实施例提出了一种固件升级测试方法,该方法获取对应待测设备的两个固件并存储于本地,该两个固件包括第一固件和待发布的第二固件;确定目标固件并将其下发至待测设备进行一次固件升级测试,目标固件为第一固件和第二固件中的一个,且目标固件与待测设备上安装的固件不相同;在固件升级测试的执行次数小于设定次数的情况下,再次执行确定目标固件的步骤,如此循环,直至达到设定次数。由于每次固件升级测试所使用的固件均为该两个固件中的一个,使得整个测试过程无需反复下载固件,故而可提高固件升级测试效率。
本实施例无需反复下载固件,一方面可提高固件升级测试效率,减少测试耗时,另一方面基于测试耗时的显著缩短,使得固件升级测试任务覆盖到所有种类及型号的待测设备成为可能,保证测试全面性。
在本公开一个实施例中,固件升级测试装置可以为智能充电柜,也可以为智能充电柜中的一部分,比如智能充电柜可以包括多个固件升级测试装置。
与智能充电柜为一个固件升级测试装置相比,智能充电柜可以包括多个固件升级测试装置,智能充电柜中的每一个固件升级测试装置均可单独执行一个固件升级测试任务,使得智能充电柜可以同时执行多个固件升级测试任务,提高充电柜升级压测效率。
对于一个充电柜包括多个固件升级测试装置的情况,可以通过充电柜ID和固件升级测试装置在充电柜中的标号,来区分各个固件升级测试装置,以实现对各个固件升级测试装置的准确快速定位。
如此,测试人员可以指定特定的固件升级测试装置,执行特定的固件升级测试任务,比如测试人员下发的待测任务信息中可以指定有充电柜ID和装置标号,设定平台基于此可快速定位到相应的充电柜和固件升级测试装置。
在本公开一个实施例中,固件升级测试装置可以充电柜的分仓这一形式存在。充电柜可为所包括的各个分仓进行标号,来区分各个分仓。
本实施例通过对充电柜每个分仓单独标号,用充电柜ID和分仓标号作为唯一识别每个分仓的ID,从而可以实现针对不同分仓建立不同电池或充电器的升级压测任务的目的。如此,同一时刻一台充电柜可以同时执行多个升级压力测试任务,故而可以提高充电柜的使用率、压测效率。
基于上述内容,在本公开一个实施例中,以上步骤S210中,所述获取对应待测设备的两个固件,可以包括以下步骤S210b1~步骤S210b2:
步骤S210b1,接收设定充电柜发送的所述第一固件。
其中,所述第一固件和所述第二固件均由所述设定平台提供,所述设定充电柜包括至少两个固件升级测试装置,每一个所述固件升级测试装置均对应有相应的充电柜标识和装置标识。
本实施例中,固件升级测试装置可以通过上述方式1或方式2来获取第一固件。
详细地,该设定平台可以为OTA(Over-the-Air Technology,空中下载技术)平台。
本实施例中,设定平台提供上述第一固件和第二固件。其中,设定平台可以根据充电柜ID和装置标号,指定任一充电柜的任一固件升级测试装置,来执行针对任一种设备的固件升级测试任务。进而,设定平台可将固件升级测试任务下发至相应充电柜。
步骤S210b2,接收所述设定充电柜根据设定平台指定的装置标识发送的所述第二固件。
详细地,充电柜在接收到设定平台的固件升级测试任务之后,可以从设定平台下载相应的待发布固件,并根据任务指定的装置标号,将待发布固件发送给相应的固件升级测试装置。对应的,固件升级测试装置接收充电柜发来的固件并存储于本地。
对应地,在所述将所述目标固件下发至所述待测设备进行一次固件升级测试之后,所述方法还可以包括:生成固件升级测试结果。
详细地,固件升级测试装置每完成一次固件升级测试后,即可得到相应的测试结果。该测试结果可以为升级成功,也可以为升级失败。
详细地,可以通过读取待测设备所安装固件的版本号来得到测试结果,也可以接收待测设备反馈的测试结果。
基于上述内容,对应地,所述方法还可以包括以下步骤S240:
步骤S240,在所述固件升级测试的执行次数等于设定次数的情况下,将每一个所述固件升级测试结果发送给所述设定充电柜,以使所述设定充电柜将接收到的每一个所述固件升级测试结果发送给所述设定平台。
本实施例中,固件升级测试装置完成固件升级测试任务后,可以将得到的各个测试结果上报至所属的充电柜,再由充电柜统一上报至设定平台。如此,可确保基于设定平台,可以看到所有固件升级测试任务的测试结果。
由上可知,基于本实施例提供的固件升级测试方法,可以在内部测试验证阶段,通过充电柜实现电池、充电器的升级功能可靠性。
图3给出了根据一实施例的固件升级测试方法的流程示意图。本实施例应用于固件升级测试装置,该固件升级测试装置可以为如图1所示的电子设备1000。
如图3所示,该实施例的固件升级测试方法可以包括如下步骤S301~步骤S317:
步骤S301,对于至少两种设定设备中的每一种设定设备,接收设定充电柜发送的对应所述设定设备的最近一次发布的固件并存储于本地;其中,所述至少两种设定设备包括待测设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个;所述待测设备包括:可充电电池和用于对可充电电池进行充电的充电器中的一个。
详细地,充电柜发送的固件均由所述设定平台提供,所述设定充电柜包括至少两个固件升级测试装置,每一个所述固件升级测试装置均对应有充电柜标识和装置标识。
步骤S302,接收所述设定充电柜根据设定平台指定的装置标识发送的待测任务信息,所述待测任务信息包括对应所述待测设备的待发布的第二固件、所述待测设备的种类和型号,并将所述第二固件存储于本地。
详细地,用户可将待测设备接入固件升级测试装置。
步骤S303,检测是否已连接至少一个设备,并执行步骤S304。
步骤S304,在已连接至少一个设备的情况下,检测所述至少一个设备中每一个已连接设备的种类和型号,得到检测结果。
步骤S305,根据所述检测结果和所述待测任务信息包括的所述待测设备的种类和型号,检测是否已连接所述待测设备,并执行步骤S306或步骤S315。
步骤S306,在已连接所述待测设备的情况下,执行步骤S307。
步骤S307,读取所述待测设备上记录的所安装固件的版本信息。
步骤S308,对比读取的版本信息和第一固件的版本信息,所述第一固件为对应所述待测设备的最近一次发布的固件,并执行步骤S309或步骤S310。
步骤S309,在读取的版本信息和第一固件的版本信息不相同的情况下,将所述第一固件下发至所述待测设备进行一次固件升级测试,并执行步骤S311。
步骤S310,在读取的版本信息和第一固件的版本信息相同的情况下,将所述第二固件下发至所述待测设备进行一次固件升级测试,并执行步骤S311。
步骤S311,生成固件升级测试结果。
步骤S312,检测所述固件升级测试的执行次数,并执行步骤S313或步骤S314。
步骤S313,在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述步骤S307。
步骤S314,在所述固件升级测试的执行次数等于设定次数的情况下,将每一个所述固件升级测试结果发送给所述设定充电柜,以使所述设定充电柜将接收到的每一个所述固件升级测试结果发送给所述设定平台。然后结束当前流程,即不再顺次执行以下步骤S315。
步骤S315,在未连接所述待测设备的情况下,对于每一个所述已连接设备,根据所述检测结果,检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同,并执行步骤S316或步骤S317。
步骤S316,在所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件不相同的情况下,将对应所述已连接设备的最近一次发布的固件下发至所述已连接设备进行固件升级。
步骤S317,对于每一个所述已连接设备,在所述已连接设备上安装的固件为对应所述已连接设备的最近一次发布的固件的情况下,执行步骤S318~步骤S320中的一个。
步骤S318,在所述至少一个设备为可充电电池的情况下,显示连接的可充电电池的信息。然后结束当前流程,即不再顺次执行以下步骤S319。
步骤S319,在所述至少一个设备为用于对可充电电池进行充电的充电器的情况下,显示连接的充电器的信息。然后结束当前流程,即不再顺次执行以下步骤S320。
步骤S320,在所述至少一个设备为可充电电池和用于对可充电电池进行充电的充电器的情况下,基于连接的充电器对连接的可充电电池进行充电,并显示连接的可充电电池的信息及连接的充电器的信息。
本实施例提供的固件升级测试方法可以降低固件升级测试时长,提高固件升级测试效率,以及可以提升充电柜的使用率,增加固件升级测试的覆盖范围,确保可以对所有需要适配的电池、充电器都正常完成固件升级压测任务。通过对所有需适配的设备进行固件升级压测,可以提前识别出可能存在的风险。
<设备实施例>
图4是根据一个实施例的固件升级测试装置400的原理框图。如图4所示,该固件升级测试装置400可以包括第一处理模块410和第二处理模块420。该固件升级测试装置400可以为如图1所示的电子设备1000。
其中,第一处理模块410用于获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件。第二处理模块420用于确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
本实施例中,固件升级测试装置获取对应待测设备的两个固件并存储于本地,该两个固件包括第一固件和待发布的第二固件;确定目标固件并将其下发至待测设备进行一次固件升级测试,目标固件为第一固件和第二固件中的一个,且目标固件与待测设备上安装的固件不相同;在固件升级测试的执行次数小于设定次数的情况下,再次执行确定目标固件的步骤,如此循环,直至达到设定次数。由于每次固件升级测试所使用的固件均为该两个固件中的一个,使得整个测试过程无需反复下载固件,故而可提高固件升级测试效率。
在本公开一个实施例中,所述第二处理模块420用于检测所述待测设备上安装的第三固件和设定固件是否相同,所述设定固件为所述两个固件中的任意一个;在所述第三固件和所述设定固件不相同的情况下,确定所述目标固件为所述设定固件;在所述第三固件和所述设定固件相同的情况下,确定所述目标固件为所述两个固件中的与所述设定固件不相同的固件。
在本公开一个实施例中,所述第二处理模块420用于读取所述待测设备上记录的所述第三固件的版本信息;通过对比所述第三固件的版本信息和所述设定固件的版本信息,以检测所述第三固件和设定固件是否相同。
在本公开一个实施例中,所述第二处理模块420用于在检测所述待测设备上安装的第三固件和设定固件是否相同之前,执行以下操作:在首次进行所述固件升级测试的情况下,通过读取所述待测设备上记录的所述第三固件的版本信息,确定所述第三固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述第三固件不为上一次下发至所述待测设备的固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述第三固件为上一次下发至所述待测设备的固件。
在本公开一个实施例中,所述第二处理模块420用于在首次进行所述固件升级测试的情况下,确定所述目标固件为所述待发布的第二固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述目标固件为上一次下发至所述待测设备的固件;在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述目标固件为所述两个固件中的、且与上一次下发至所述待测设备的固件不同的固件。
在本公开一个实施例中,所述待测设备包括:可充电电池和用于对可充电电池进行充电的充电器中的一个。
在本公开一个实施例中,所述第一处理模块410用于获取待测任务信息,所述待测任务信息包括所述第二固件、所述待测设备的种类和型号;
所述第二处理模块420用于在所述第一处理模块410将所述两个固件存储于本地之后,检测是否已连接至少一个设备;在已连接所述至少一个设备的情况下,检测所述至少一个设备中每一个已连接设备的种类和型号,得到检测结果;根据所述检测结果和所述待测任务信息包括的所述待测设备的种类和型号,检测是否已连接所述待测设备;在已连接所述待测设备的情况下,执行所述确定目标固件的步骤。
在本公开一个实施例中,所述第一固件为最近一次发布的固件。所述第一处理模块410用于在所述第二处理模块420检测是否已连接至少一个设备之前,对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的最近一次发布的固件,将对应所述设定设备的最近一次发布的固件存储于本地;其中,所述至少两种设定设备包括所述至少一个设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个;
所述第二处理模块420用于在检测是否已连接所述待测设备之后,在未连接所述待测设备的情况下,对于每一个所述已连接设备,根据所述检测结果,检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同;在所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件不相同的情况下,将对应所述已连接设备的最近一次发布的固件下发至所述已连接设备进行固件升级。
在本公开一个实施例中,所述第二处理模块420用于在检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同之后,对于每一个所述已连接设备,在所述已连接设备上安装的固件为对应所述已连接设备的最近一次发布的固件的情况下,执行以下操作中的任意一个:在所述至少一个设备为可充电电池的情况下,显示连接的可充电电池的信息;在所述至少一个设备为用于对可充电电池进行充电的充电器的情况下,显示连接的充电器的信息;在所述至少一个设备为可充电电池和用于对可充电电池进行充电的充电器的情况下,基于连接的充电器对连接的可充电电池进行充电,并显示连接的可充电电池的信息及连接的充电器的信息。
在本公开一个实施例中,所述第一固件为最近一次发布的固件。
在本公开一个实施例中,所述第一固件为已发布固件;所述第一处理模块410用于对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的已发布固件,将对应所述设定设备的已发布固件存储于本地;获取所述第二固件,并将所述第二固件存储于本地;其中,所述至少两种设定设备包括所述待测设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个。
在本公开一个实施例中,所述第一处理模块410用于接收设定充电柜发送的所述第一固件;接收所述设定充电柜根据设定平台指定的装置标识发送的所述第二固件;其中,所述第一固件和所述第二固件均由所述设定平台提供,所述设定充电柜包括至少两个固件升级测试装置,每一个所述固件升级测试装置均对应有相应的充电柜标识和装置标识;
所述第二处理模块420用于在将所述目标固件下发至所述待测设备进行一次固件升级测试之后,生成固件升级测试结果;在所述固件升级测试的执行次数等于设定次数的情况下,将每一个所述固件升级测试结果发送给所述设定充电柜,以使所述设定充电柜将接收到的每一个所述固件升级测试结果发送给所述设定平台。
图5是根据另一个实施例的电子设备500的硬件结构示意图。
如图5所示,该电子设备500包括处理器510和存储器520,该存储器520用于存储可执行的计算机程序,该处理器510用于根据该计算机程序的控制,执行如以上任意方法实施例的方法。
该电子设备500可以是如图1所示的电子设备1000。
以上电子设备500的各模块可以由本实施例中的处理器510执行存储器520存储的计算机程序实现,也可以通过其他电路结构实现,在此不做限定。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (15)
1.一种固件升级测试方法,其特征在于,包括:
获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件;
确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;
在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
2.根据权利要求1所述的方法,其特征在于,所述确定目标固件,包括:
检测所述待测设备上安装的第三固件和设定固件是否相同,所述设定固件为所述两个固件中的任意一个;
在所述第三固件和所述设定固件不相同的情况下,确定所述目标固件为所述设定固件;
在所述第三固件和所述设定固件相同的情况下,确定所述目标固件为所述两个固件中的与所述设定固件不相同的固件。
3.根据权利要求2所述的方法,其特征在于,所述检测所述待测设备上安装的第三固件和设定固件是否相同,包括:
读取所述待测设备上记录的所述第三固件的版本信息;
通过对比所述第三固件的版本信息和所述设定固件的版本信息,以检测所述第三固件和设定固件是否相同。
4.根据权利要求2所述的方法,其特征在于,在所述检测所述待测设备上安装的第三固件和设定固件是否相同之前,所述方法还包括:
在首次进行所述固件升级测试的情况下,通过读取所述待测设备上记录的所述第三固件的版本信息,确定所述第三固件;
在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述第三固件不为上一次下发至所述待测设备的固件;
在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述第三固件为上一次下发至所述待测设备的固件。
5.根据权利要求1所述的方法,其特征在于,所述确定目标固件,包括:
在首次进行所述固件升级测试的情况下,确定所述目标固件为所述待发布的第二固件;
在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级失败的情况下,确定所述目标固件为上一次下发至所述待测设备的固件;
在非首次进行所述固件升级测试、且上一次进行所述固件升级测试的测试结果为升级成功的情况下,确定所述目标固件为所述两个固件中的、且与上一次下发至所述待测设备的固件不同的固件。
6.根据权利要求1所述的方法,其特征在于,所述待测设备包括:可充电电池和用于对可充电电池进行充电的充电器中的一个。
7.根据权利要求1所述的方法,其特征在于,所述获取对应待测设备的两个固件,包括:
获取待测任务信息,所述待测任务信息包括所述第二固件、所述待测设备的种类和型号;
在所述将所述两个固件存储于本地之后,所述方法还包括:
检测是否已连接至少一个设备;
在已连接所述至少一个设备的情况下,检测所述至少一个设备中每一个已连接设备的种类和型号,得到检测结果;
根据所述检测结果和所述待测任务信息包括的所述待测设备的种类和型号,检测是否已连接所述待测设备;
在已连接所述待测设备的情况下,执行所述确定目标固件的步骤。
8.根据权利要求7所述的方法,其特征在于,所述第一固件为最近一次发布的固件;
在所述检测是否已连接至少一个设备之前,所述方法还包括:
对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的最近一次发布的固件,将对应所述设定设备的最近一次发布的固件存储于本地;
其中,所述至少两种设定设备包括所述至少一个设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个;
在所述检测是否已连接所述待测设备之后,所述方法还包括:
在未连接所述待测设备的情况下,对于每一个所述已连接设备,根据所述检测结果,检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同;
在所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件不相同的情况下,将对应所述已连接设备的最近一次发布的固件下发至所述已连接设备进行固件升级。
9.根据权利要求8所述的方法,其特征在于,
在所述检测所述已连接设备上安装的固件和对应所述已连接设备的最近一次发布的固件是否相同之后,所述方法还包括:
对于每一个所述已连接设备,在所述已连接设备上安装的固件为对应所述已连接设备的最近一次发布的固件的情况下,执行以下操作中的任意一个:
在所述至少一个设备为可充电电池的情况下,显示连接的可充电电池的信息;
在所述至少一个设备为用于对可充电电池进行充电的充电器的情况下,显示连接的充电器的信息;
在所述至少一个设备为可充电电池和用于对可充电电池进行充电的充电器的情况下,基于连接的充电器对连接的可充电电池进行充电,并显示连接的可充电电池的信息及连接的充电器的信息。
10.根据权利要求1所述的方法,其特征在于,所述第一固件为最近一次发布的固件。
11.根据权利要求1所述的方法,其特征在于,所述第一固件为已发布固件;
所述获取对应待测设备的两个固件,并将所述两个固件存储于本地,包括:
对于至少两种设定设备中的每一种设定设备,获取对应所述设定设备的已发布固件,将对应所述设定设备的已发布固件存储于本地;
获取所述第二固件,并将所述第二固件存储于本地;
其中,所述至少两种设定设备包括所述待测设备,不同种设定设备之间具有不同的以下设备特征信息:种类和型号中的至少一个。
12.根据权利要求1所述的方法,其特征在于,所述获取对应待测设备的两个固件,包括:
接收设定充电柜发送的所述第一固件;
接收所述设定充电柜根据设定平台指定的装置标识发送的所述第二固件;
其中,所述第一固件和所述第二固件均由所述设定平台提供,所述设定充电柜包括至少两个固件升级测试装置,每一个所述固件升级测试装置均对应有相应的充电柜标识和装置标识;
在所述将所述目标固件下发至所述待测设备进行一次固件升级测试之后,所述方法还包括:
生成固件升级测试结果;
所述方法还包括:
在所述固件升级测试的执行次数等于设定次数的情况下,将每一个所述固件升级测试结果发送给所述设定充电柜,以使所述设定充电柜将接收到的每一个所述固件升级测试结果发送给所述设定平台。
13.一种固件升级测试装置,其特征在于,包括:
第一处理模块,用于获取对应待测设备的两个固件,并将所述两个固件存储于本地,所述两个固件包括第一固件和待发布的第二固件;以及,
第二处理模块,用于确定目标固件,将所述目标固件下发至所述待测设备进行一次固件升级测试,其中,所述目标固件为所述第一固件和所述第二固件中的一个,所述目标固件与所述待测设备上安装的固件不相同;在所述固件升级测试的执行次数小于设定次数的情况下,再次执行所述确定目标固件的步骤。
14.一种电子设备,包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现根据权利要求1-12中任意一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055420.6A CN113821434A (zh) | 2021-09-09 | 2021-09-09 | 固件升级测试方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055420.6A CN113821434A (zh) | 2021-09-09 | 2021-09-09 | 固件升级测试方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821434A true CN113821434A (zh) | 2021-12-21 |
Family
ID=78914256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111055420.6A Withdrawn CN113821434A (zh) | 2021-09-09 | 2021-09-09 | 固件升级测试方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821434A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230963A1 (en) * | 2003-05-12 | 2004-11-18 | Rothman Michael A. | Method for updating firmware in an operating system agnostic manner |
US20140136901A1 (en) * | 2012-11-09 | 2014-05-15 | International Business Machines Corporation | Proactive risk analysis and governance of upgrade process |
CN105867976A (zh) * | 2016-04-01 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种易应用的服务器固件在线刷新方法 |
CN106569854A (zh) * | 2016-11-02 | 2017-04-19 | 捷开通讯(深圳)有限公司 | 一种设置设备固件和实现厂测的方法及系统 |
CN109976958A (zh) * | 2019-03-26 | 2019-07-05 | 深圳忆联信息系统有限公司 | 提升固件测试效率的方法、装置及存储介质 |
CN110968510A (zh) * | 2019-11-28 | 2020-04-07 | 深圳忆联信息系统有限公司 | Ssd自动化在线升级固件测试方法、装置及计算机设备 |
CN111404733A (zh) * | 2020-03-06 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种固件管控方法和系统及存储介质 |
CN111566617A (zh) * | 2018-12-14 | 2020-08-21 | 深圳市大疆创新科技有限公司 | 无人飞行器的固件升级方法、固件升级装置、控制装置、无人飞行器及介质 |
CN111722856A (zh) * | 2019-03-19 | 2020-09-29 | 上海汽车集团股份有限公司 | 车载微控制器中固件的升级方法和装置 |
US20200310779A1 (en) * | 2019-03-29 | 2020-10-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Validating a firmware compliance policy prior to use in a production system |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN111770169A (zh) * | 2020-06-29 | 2020-10-13 | 百度在线网络技术(北京)有限公司 | 设备固件升级的方法、装置、设备以及存储介质 |
US20200387611A1 (en) * | 2017-12-22 | 2020-12-10 | Vincent J. Zimmer | Manageability engine and automatic firmware validation |
CN112231228A (zh) * | 2020-11-06 | 2021-01-15 | 广州极飞科技有限公司 | 一种固件升级测试方法、装置、平台、设备及存储介质 |
US20210216637A1 (en) * | 2020-01-10 | 2021-07-15 | Beijing Xiaomi Mobile Software Co., Ltd. | Firmware upgrade method and device, and storage medium |
CN113254326A (zh) * | 2021-04-06 | 2021-08-13 | 至誉科技(武汉)有限公司 | 利用Jenkins发布固态硬盘固件代码的方法和系统 |
-
2021
- 2021-09-09 CN CN202111055420.6A patent/CN113821434A/zh not_active Withdrawn
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230963A1 (en) * | 2003-05-12 | 2004-11-18 | Rothman Michael A. | Method for updating firmware in an operating system agnostic manner |
US20140136901A1 (en) * | 2012-11-09 | 2014-05-15 | International Business Machines Corporation | Proactive risk analysis and governance of upgrade process |
CN105867976A (zh) * | 2016-04-01 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种易应用的服务器固件在线刷新方法 |
CN106569854A (zh) * | 2016-11-02 | 2017-04-19 | 捷开通讯(深圳)有限公司 | 一种设置设备固件和实现厂测的方法及系统 |
US20200387611A1 (en) * | 2017-12-22 | 2020-12-10 | Vincent J. Zimmer | Manageability engine and automatic firmware validation |
CN111566617A (zh) * | 2018-12-14 | 2020-08-21 | 深圳市大疆创新科技有限公司 | 无人飞行器的固件升级方法、固件升级装置、控制装置、无人飞行器及介质 |
CN111722856A (zh) * | 2019-03-19 | 2020-09-29 | 上海汽车集团股份有限公司 | 车载微控制器中固件的升级方法和装置 |
CN109976958A (zh) * | 2019-03-26 | 2019-07-05 | 深圳忆联信息系统有限公司 | 提升固件测试效率的方法、装置及存储介质 |
US20200310779A1 (en) * | 2019-03-29 | 2020-10-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Validating a firmware compliance policy prior to use in a production system |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN110968510A (zh) * | 2019-11-28 | 2020-04-07 | 深圳忆联信息系统有限公司 | Ssd自动化在线升级固件测试方法、装置及计算机设备 |
US20210216637A1 (en) * | 2020-01-10 | 2021-07-15 | Beijing Xiaomi Mobile Software Co., Ltd. | Firmware upgrade method and device, and storage medium |
CN111404733A (zh) * | 2020-03-06 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种固件管控方法和系统及存储介质 |
CN111770169A (zh) * | 2020-06-29 | 2020-10-13 | 百度在线网络技术(北京)有限公司 | 设备固件升级的方法、装置、设备以及存储介质 |
CN112231228A (zh) * | 2020-11-06 | 2021-01-15 | 广州极飞科技有限公司 | 一种固件升级测试方法、装置、平台、设备及存储介质 |
CN113254326A (zh) * | 2021-04-06 | 2021-08-13 | 至誉科技(武汉)有限公司 | 利用Jenkins发布固态硬盘固件代码的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664390B2 (en) | Optimizing execution order of system interval dependent test cases | |
CN112560390B (zh) | 自动生成交叉覆盖点中的忽略仓的方法、装置、设备 | |
CN110674047B (zh) | 软件测试方法、装置及电子设备 | |
CN110245073A (zh) | 终端代码覆盖率监测方法、系统、介质和电子设备 | |
CN110196795B (zh) | 检测移动终端应用运行状态的方法及相关装置 | |
CN106598835A (zh) | 一种应用的测试方法及装置、系统 | |
CN109800119A (zh) | 一种产品功能测试方法及装置 | |
CN112596966B (zh) | 芯片验证方法、装置、设备、存储介质 | |
CN109857599A (zh) | 用于硬件设备测试的方法、装置、系统和计算机可读介质 | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
CN102713845A (zh) | 一种启动无线手持设备的方法及无线手持设备 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN112732561A (zh) | 一种项目部署方法、装置、计算机设备和存储介质 | |
CN114474149B (zh) | 自动化测试方法、装置、服务器及可读存储介质 | |
CN111190791A (zh) | 应用异常上报方法、装置和电子设备 | |
CN104915228A (zh) | 应用程序语言设置方法及装置 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN113360161B (zh) | 资源升级方法及相关产品 | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
CN113821434A (zh) | 固件升级测试方法、装置、电子设备和可读存储介质 | |
EP2930616A1 (en) | Device and method for generating application package | |
CN113434353B (zh) | 一种服务器的测试方法、装置、电子设备和存储介质 | |
CN113760631B (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN112084115B (zh) | 软件缺陷的流程化操作方法和装置 | |
CN115080113A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211221 |
|
WW01 | Invention patent application withdrawn after publication |