CN111104271A - 一种带内刷新固件过程的稳定性测试方法、装置及设备 - Google Patents
一种带内刷新固件过程的稳定性测试方法、装置及设备 Download PDFInfo
- Publication number
- CN111104271A CN111104271A CN201911244724.XA CN201911244724A CN111104271A CN 111104271 A CN111104271 A CN 111104271A CN 201911244724 A CN201911244724 A CN 201911244724A CN 111104271 A CN111104271 A CN 111104271A
- Authority
- CN
- China
- Prior art keywords
- firmware
- tested
- refreshing
- band
- image file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 156
- 230000008569 process Effects 0.000 title claims abstract description 102
- 238000012430 stability testing Methods 0.000 title claims description 27
- 238000013112 stability test Methods 0.000 claims abstract description 67
- 238000012360 testing method Methods 0.000 claims abstract description 45
- 238000013515 script Methods 0.000 claims abstract description 30
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种带内刷新固件过程的稳定性测试方法,通过获取待测固件的信息、镜像文件和刷新模式设置,根据待测固件的信息调用预设的稳定性测试脚本,调用带内刷新工具,执行稳定性测试脚本,根据刷新模式设置,利用带内刷新工具和镜像文件对待测固件进行预设次数的带内刷新,通过模拟对待测固件的反复刷新过程来检验了待测固件在带内刷新过程中的稳定性,实现了对服务器固件带内刷新过程的稳定性测试,弥补了这一技术的空白,有助于发现服务器在带内刷新过程中的潜在稳定性故障,提高服务器固件投入使用后的产品质量及用户体验。本发明还公开了一种带内刷新固件过程的稳定性测试装置、设备及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本发明涉及服务器测试技术领域,特别是涉及一种带内刷新固件过程的稳定性测试方法、装置、设备及计算机可读存储介质。
背景技术
设备管理通常分为带内管理(In-Band)和带外管理(Out-Of-Band),相应的,服务器固件的刷新过程包括带内刷新和带外刷新。
以BMC固件为例。Yafuflash和socflash都是可用于BMC固件刷新的重要工具。其中,socflash是带内升级BMC固件版本的工具,其具有极高的稳定性,即使BMC挂掉了,只要能进入DOS或者OS,均可以成功刷新固件。但这也恰恰是其缺点所在,不论什么情况下均可刷新具有极大的安全隐患,而且其刷新时不能保留配置,万一有黑客攻击使用socflash工具刷新了BMC固件,BMC设置、日志等信息均无法被保留,丢失大量有用数据。而Yafuflash工具作为一种带外刷新工具,可与选择添加参数保留配置刷新,具有极高的安全性。因此对BMC固件等服务器固件通常采用Yafuflash工具实现带内保留配置刷新。
然而,应用Yafuflash工具等带外刷新工具进行带内刷新时,不仅依赖工具本身的稳定性,也大大依赖网络的稳定性,且在大批量刷新时占用带宽较大,具有较大的不稳定性。因此在投入使用前,需要对服务器固件的带内刷新过程的稳定性进行测试。由于稳定性测试通常是一个执行时间较长的测试过程,通过测试人员手动配置、执行测试可行性较低。
提供一种服务器固件的带内刷新过程的稳定性测试方法,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种带内刷新固件过程的稳定性测试方法、装置、设备及计算机可读存储介质,用于对服务器固件的带内刷新过程的稳定性进行测试。
为解决上述技术问题,本发明提供一种带内刷新固件过程的稳定性测试方法,包括:
获取待测固件的信息、镜像文件和刷新模式设置;
根据所述待测固件的信息调用预设的稳定性测试脚本;
调用带内刷新工具;
执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果。
可选的,所述带内刷新工具具体为Yafuflash工具。
可选的,所述待测固件的类型包括BMC固件、BIOS固件、CPLD固件和PSU固件。
可选的,当所述待测固件为待测BMC固件时,所述执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果,具体包括:
判断当前刷新次数是否为偶数次;
如果是偶数次,则当所述刷新模式设置为同步刷新时,使用第一镜像文件刷新所述待测BMC固件,并等待所述待测BMC固件复活后检查所述待测BMC固件的镜像文件;当所述刷新模式为异步刷新时,使用所述第一镜像文件刷新所述待测BMC固件后,重启所述待测BMC固件,检查所述待测BMC固件的镜像文件;
如果不是偶数次,则当所述刷新模式设置为同步刷新时,使用第二镜像文件刷新所述待测BMC固件,并等待所述待测BMC固件复活后检查所述待测BMC固件的镜像文件;当所述刷新模式为异步刷新时,使用所述第二镜像文件刷新所述待测BMC固件后,重启所述待测BMC固件,检查所述待测BMC固件的镜像文件;
判断所述待测BMC固件的镜像文件与所述当前刷新次数对应的镜像文件是否一致;
如果一致,则判断所述当前刷新次数是否为所述预设次数;
如果是所述预设次数,则确定所述待测BMC固件的带内刷新过程通过稳定性测试;
如果不是所述预设次数,则将所述当前刷新次数加一,返回所述判断当前刷新次数是否为偶数次的步骤;
如果不一致,则确定所述待测BMC固件的带内刷新过程未通过所述稳定性测试;
其中,所述第一镜像文件和所述第二镜像文件为版本不同的两个所述镜像文件。
可选的,
当所述待测固件为待测BIOS固件或待测CPLD固件或待测PSU固件时,所述执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果,具体包括:
对所述待测固件进行重启后,登录所述待测固件所在设备的操作系统;
判断是否可以在所述操作系统中获取所述待测固件的镜像文件;
如果可以获取,则在times文件中写入一个reboot字符;
判断所述times文件中的reboot字符的数量是否达到所述预设次数;
如果达到,则确定所述待测固件的带内刷新过程通过稳定性测试;
如果未达到,则判断所述times文件中的reboot字符的数量是否为偶数;
如果为偶数,则使用第三镜像文件刷新所述待测固件,对所述待测固件进行重启后,判断所述待测固件的镜像文件是否为所述第三镜像文件,如果是,则进入所述在times文件中写入一个reboot字符的步骤;如果否,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
如果不为偶数,则使用第四镜像文件刷新所述待测固件,对所述待测固件进行重启后,判断所述待测固件的镜像文件是否为所述第四镜像文件,如果是,则进入所述在times文件中写入一个reboot字符的步骤;如果否,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
如果不可以获取,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
其中,所述第三镜像文件和所述第四镜像文件为与所述待测固件的类型对应的版本不同的两个所述镜像文件。
可选的,在所述得到所述待测固件的带内刷新过程的稳定性测试结果之后,还包括:
根据所述稳定性测试结果确定所述待测固件的推荐刷新版本。
可选的,还包括:
记录对所述待测固件的带内刷新过程的测试日志。
为解决上述技术问题,本发明还提供一种带内刷新固件过程的稳定性测试装置,包括:
获取单元,用于获取待测固件的信息、镜像文件和刷新模式设置;
脚本调用单元,用于根据所述待测固件的信息调用预设的稳定性测试脚本;
工具调用单元,用于调用带内刷新工具;
测试单元,用于执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果。
为解决上述技术问题,本发明还提供一种带内刷新固件过程的稳定性测试设备,包括:
存储器,用于存储指令,所述指令包括上述任意一项所述带内刷新固件过程的稳定性测试方法的步骤;
处理器,用于执行所述指令。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述带内刷新固件过程的稳定性测试方法的步骤。
本发明所提供的带内刷新固件过程的稳定性测试方法,通过获取待测固件的信息、镜像文件和刷新模式设置,根据待测固件的信息调用预设的稳定性测试脚本,调用带内刷新工具,执行稳定性测试脚本,根据刷新模式设置,利用带内刷新工具和镜像文件对待测固件进行预设次数的带内刷新,通过模拟对待测固件的反复刷新过程来检验了待测固件在带内刷新过程中的稳定性,实现了对服务器固件带内刷新过程的稳定性测试,弥补了这一技术的空白,有助于发现服务器在带内刷新过程中的潜在稳定性故障,提高服务器固件投入使用后的产品质量及用户体验。本发明还提供一种带内刷新固件过程的稳定性测试装置、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种带内刷新固件过程的稳定性测试方法的流程图;
图2为本发明实施例提供的一种图1中的步骤S104的具体实施方式的流程图;
图3为本发明实施例提供的另一种图1中的步骤S104的具体实施方式的流程图;
图4为本发明实施例提供的一种带内刷新固件过程的稳定性测试装置的结构示意图;
图5为本发明实施例提供的一种带内刷新固件过程的稳定性测试设备的结构示意图。
具体实施方式
本发明的核心是提供一种带内刷新固件过程的稳定性测试方法、装置、设备及计算机可读存储介质,用于对服务器固件的带内刷新过程的稳定性进行测试。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种带内刷新固件过程的稳定性测试方法的流程图。
如图1所示,本发明实施例提供的带内刷新固件过程的稳定性测试方法包括:
S101:获取待测固件的信息、镜像文件和刷新模式设置。
本发明实施例提供的方法可以通过程序脚本执行,该程序脚本启动时,先进行初始化,用以定义脚本、日志的存储路径等,初始化程序参考如下:
#!/bin/sh
#./test.exp$Image$Mode
#LogName="/root/Desktop/FlashBMC.log"
#echo"">$LogName
IPMI="ipmitool"
FILEPATH=$(cd`dirname$0`;pwd)
LOG_DIR="$FILEPATH/logs"
mkdir-p$FILEPATH/logs
LOG_FILE="$LOG_DIR/update.log"
get_active_ver=""
get_standby_ver=""
cnt=0
pre_flash_image=""
在具体实施中,步骤S101可以为接受用户输入的待测固件的信息、镜像文件和刷新模式设置,也可以为在指定地址获取待测固件的信息、镜像文件和刷新模式设置,如在rc.local中填入“bash xxx.sh镜像1镜像2类型刷新模式”等来获取待测固件的信息、镜像文件和刷新模式设置。其中,“镜像1”和“镜像2”为不同版本的镜像文件。
待测固件的信息包括待测固件的类型、待测固件所处设备的型号等。镜像文件为用于刷新待测固件的镜像文件,可以为一个,也可以为多个,为便于重复刷新测试,优选为两个。刷新模式包括同步刷新和异步刷新。
S102:根据待测固件的信息调用预设的稳定性测试脚本。
预先设置稳定性测试脚本,用以存储对不同类型的待测固件的稳定性测试指令,如按照待测固件的类型调用不同的测试子脚本,执行多少次数的刷新等。刷新次数也可以为在步骤S101中接收用户输入。
待测固件的类型可以包括BMC固件、BIOS固件、CPLD固件和PSU固件。其中,CPLD固件包括主板CPLD固件、前背板CPLD固件和后背板CPLD固件等。
S103:调用带内刷新工具。
为进行自动化测试,调用带内刷新工具,带内刷新工具可以采用Yafuflash工具做保留带内配置的刷新,也可以采用其他带内刷新工具。本发明实施例中的程序示例为针对Yafuflash的示例。
S104:执行稳定性测试脚本,根据刷新模式设置,利用带内刷新工具和镜像文件对待测固件进行预设次数的带内刷新,得到待测固件的带内刷新过程的稳定性测试结果。
执行稳定性测试脚本,根据刷新模式设置确定每次刷新的刷新模式,利用带内刷新工具对待测固件进行预设次数的带内刷新,即可得到待测固件的带内刷新过程的稳定性测试结果。如果待测固件完成了预设次数的带内刷新,则待测固件的带内刷新过程通过了稳定性测试;如果在其中任意一次未刷新成功,则待测固件的带内刷新过程未通过稳定性测试。
为方便测试人员查看,本发明实施例提供的带内刷新固件过程的稳定性测试方法还包括:
记录对待测固件的带内刷新过程的测试日志。
通过测试日志记录待测固件的类型、测试时间、测试内容、测试结果,以在批量测试时方便测试人员查看各待测固件的测试结果。
日志记录程序示例如下:
在上文提到在稳定性测试过程中采用的镜像文件可以为一个也可以为多个,若采用多个镜像文件刷新待测固件,则通过不同版本的镜像文件对应的稳定性测试结果,可以得到更适合待测固件的镜像文件,可能是对待测固件进行升级操作,也可以是降级操作。因此,在步骤S104之后,本发明实施例提供的带内刷新固件过程的稳定性测试方法还包括:
根据稳定性测试结果确定待测固件的推荐刷新版本。
本发明实施例提供的带内刷新固件过程的稳定性测试方法,通过获取待测固件的信息、镜像文件和刷新模式设置,根据待测固件的信息调用预设的稳定性测试脚本,调用带内刷新工具,执行稳定性测试脚本,根据刷新模式设置,利用带内刷新工具和镜像文件对待测固件进行预设次数的带内刷新,通过模拟对待测固件的反复刷新过程来检验了待测固件在带内刷新过程中的稳定性,实现了对服务器固件带内刷新过程的稳定性测试,弥补了这一技术的空白,有助于发现服务器在带内刷新过程中的潜在稳定性故障,提高服务器固件投入使用后的产品质量及用户体验。
待测固件的类型可以包括BMC固件、BIOS固件、CPLD固件和PSU固件。在进行批量测试时,可以一并对设备的各个类型的固件进行测试,根据待测固件的类型确定不同的测试方法。因此本发明实施例提供一种镜像刷新主程序如下:
上述镜像刷新主程序的逻辑为判断要刷新的待测固件是否为BMC固件,如果是则继续判断刷新模式设置是否为同步刷新,调用与BMC固件对应的同步刷新测试子脚本刷新BMC固件。如果待测固件是其他类型的固件,则根据刷新次数的奇偶次刷新不同版本的镜像文件。
下面对待测固件为BMC固件和待测固件不是BMC固件的情况分开说明。
图2为本发明实施例提供的一种图1中的步骤S104的具体实施方式的流程图。
如图2所示,当待测固件为待测BMC固件时,步骤S104具体包括:
S201:判断当前刷新次数是否为偶数次;如果是,则进入步骤S202;如果否,则进入步骤S205。
S202:判断刷新模式是同步刷新还是异步刷新;如果是同步刷新,则进入步骤S203;如果是异步刷新,则进入步骤S204。
S203:使用第一镜像文件刷新待测BMC固件,并等待待测BMC固件复活后检查待测BMC固件的镜像文件。
S204:使用第一镜像文件刷新待测BMC固件后,重启待测BMC固件,检查待测BMC固件的镜像文件。
S205:判断刷新模式是同步刷新还是异步刷新;如果是同步刷新,则进入步骤S206;如果是异步刷新,则进入步骤S207。
S206:使用第二镜像文件刷新待测BMC固件,并等待待测BMC固件复活后检查待测BMC固件的镜像文件。
S207:使用第二镜像文件刷新待测BMC固件后,重启待测BMC固件,检查待测BMC固件的镜像文件。
S208:判断待测BMC固件的镜像文件与当前刷新次数对应的镜像文件是否一致;如果是,则进入步骤S209;如果否,则进入步骤S212。
S209:判断当前刷新次数是否为预设次数;如果是,则进入步骤S210;如果否,则进入步骤S211。
S210:确定待测BMC固件的带内刷新过程通过稳定性测试。
S211:将当前刷新次数加一,返回步骤S201。
S212:确定待测BMC固件的带内刷新过程未通过稳定性测试。
其中,第一镜像文件和第二镜像文件为版本不同的两个镜像文件。在具体实施中,第一镜像文件和第二镜像文件可以分别为高于待测固件初始版本的版本和低于待测固件初始版本的版本。
对步骤S203和步骤S206中等待待测BMC固件复活的程序示例如下:
对步骤S203、S204、S206、S207中获取待测BMC固件刷新后的版本的程序示例如下:
图3本发明实施例提供的另一种图1中的步骤S104的具体实施方式的流程图。
如图3所示,当待测固件为待测BIOS固件或待测CPLD固件或待测PSU固件时,步骤S104具体包括:
S301:对待测固件进行重启后,登录待测固件所在设备的操作系统。
S302:判断是否可以在操作系统中获取待测固件的镜像文件;如果是,则进入步骤S303;如果否,则进入步骤S311。
S303:在times文件中写入一个reboot字符。
S304:判断times文件中的reboot字符的数量是否达到预设次数;如果是,则进入步骤S305;如果否,则进入步骤S306。
S305:确定待测固件的带内刷新过程通过稳定性测试。
S306:判断times文件中的reboot字符的数量是否为偶数;如果是,则进入步骤S307;如果否,则进入步骤S309。
S307:使用第三镜像文件刷新待测固件,对待测固件进行重启后,进入步骤S308。
S308:判断待测固件的镜像文件是否为第三镜像文件,如果是,则进入步骤S303;如果否,则进入步骤S311。
S309:使用第四镜像文件刷新待测固件,对待测固件进行重启后,进入步骤S310。
S310:判断待测固件的镜像文件是否为第四镜像文件,如果是,则进入步骤S303;如果否,则进入步骤S311。
S311:确定待测固件的带内刷新过程未通过稳定性测试。
其中,第三镜像文件和第四镜像文件为与待测固件的类型对应的版本不同的两个镜像文件。在具体实施中,第三镜像文件和第四镜像文件可以分别为高于待测固件初始版本的版本和低于待测固件初始版本的版本。
对于步骤S301中对待测固件进行重启后,登录待测固件所在设备的操作系统的程序示例如下:
对于步骤S302-S310的程序示例如下:
#根据不同参数,即刷新的是PSU、主板CPLD、前/后置背板CPLD还是BIOS获得响应的版本
#根据之前获得的版本与当前刷新的版本做比较,一致则继续下一下刷新,不一致则退出
上文详述了带内刷新固件过程的稳定性测试方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的带内刷新固件过程的稳定性测试装置、设备及计算机可读存储介质。
图4为本发明实施例提供的一种带内刷新固件过程的稳定性测试装置的结构示意图。
如图4所示,本发明实施例提供的带内刷新固件过程的稳定性测试装置包括:
获取单元401,用于获取待测固件的信息、镜像文件和刷新模式设置;
脚本调用单元402,用于根据待测固件的信息调用预设的稳定性测试脚本;
工具调用单元403,用于调用带内刷新工具;
测试单元404,用于执行稳定性测试脚本,根据刷新模式设置,利用带内刷新工具和镜像文件对待测固件进行预设次数的带内刷新,得到待测固件的带内刷新过程的稳定性测试结果。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图5为本发明实施例提供的一种带内刷新固件过程的稳定性测试设备的结构示意图。
如图5所示,本发明实施例提供的带内刷新固件过程的稳定性测试设备包括:
存储器510,用于存储指令,所述指令包括上述任意一项实施例所述的带内刷新固件过程的稳定性测试方法的步骤;
处理器520,用于执行所述指令。
其中,处理器520可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器520可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器520也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器520可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器520还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器510可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器510还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器510至少用于存储以下计算机程序511,其中,该计算机程序511被处理器520加载并执行之后,能够实现前述任一实施例公开的带内刷新固件过程的稳定性测试方法中的相关步骤。另外,存储器510所存储的资源还可以包括操作系统512和数据513等,存储方式可以是短暂存储或者永久存储。其中,操作系统512可以为Windows。数据513可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,带内刷新固件过程的稳定性测试设备还可包括有显示屏530、电源540、通信接口550、输入输出接口560、传感器570以及通信总线580。
本领域技术人员可以理解,图5中示出的结构并不构成对带内刷新固件过程的稳定性测试设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的带内刷新固件过程的稳定性测试设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的带内刷新固件过程的稳定性测试方法,效果同上。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
为此,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如带内刷新固件过程的稳定性测试方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的带内刷新固件过程的稳定性测试方法的步骤,效果同上。
以上对本发明所提供的一种带内刷新固件过程的稳定性测试方法、装置、设备及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种带内刷新固件过程的稳定性测试方法,其特征在于,包括:
获取待测固件的信息、镜像文件和刷新模式设置;
根据所述待测固件的信息调用预设的稳定性测试脚本;
调用带内刷新工具;
执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果。
2.根据权利要求1所述的稳定性测试方法,其特征在于,所述带内刷新工具具体为Yafuflash工具。
3.根据权利要求1所述的稳定性测试方法,其特征在于,所述待测固件的类型包括BMC固件、BIOS固件、CPLD固件和PSU固件。
4.根据权利要求3所述的稳定性测试方法,其特征在于,当所述待测固件为待测BMC固件时,所述执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果,具体包括:
判断当前刷新次数是否为偶数次;
如果是偶数次,则当所述刷新模式设置为同步刷新时,使用第一镜像文件刷新所述待测BMC固件,并等待所述待测BMC固件复活后检查所述待测BMC固件的镜像文件;当所述刷新模式为异步刷新时,使用所述第一镜像文件刷新所述待测BMC固件后,重启所述待测BMC固件,检查所述待测BMC固件的镜像文件;
如果不是偶数次,则当所述刷新模式设置为同步刷新时,使用第二镜像文件刷新所述待测BMC固件,并等待所述待测BMC固件复活后检查所述待测BMC固件的镜像文件;当所述刷新模式为异步刷新时,使用所述第二镜像文件刷新所述待测BMC固件后,重启所述待测BMC固件,检查所述待测BMC固件的镜像文件;
判断所述待测BMC固件的镜像文件与所述当前刷新次数对应的镜像文件是否一致;
如果一致,则判断所述当前刷新次数是否为所述预设次数;
如果是所述预设次数,则确定所述待测BMC固件的带内刷新过程通过稳定性测试;
如果不是所述预设次数,则将所述当前刷新次数加一,返回所述判断当前刷新次数是否为偶数次的步骤;
如果不一致,则确定所述待测BMC固件的带内刷新过程未通过所述稳定性测试;
其中,所述第一镜像文件和所述第二镜像文件为版本不同的两个所述镜像文件。
5.根据权利要求3所述的稳定性测试方法,其特征在于,当所述待测固件为待测BIOS固件或待测CPLD固件或待测PSU固件时,所述执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果,具体包括:
对所述待测固件进行重启后,登录所述待测固件所在设备的操作系统;
判断是否可以在所述操作系统中获取所述待测固件的镜像文件;
如果可以获取,则在times文件中写入一个reboot字符;
判断所述times文件中的reboot字符的数量是否达到所述预设次数;
如果达到,则确定所述待测固件的带内刷新过程通过稳定性测试;
如果未达到,则判断所述times文件中的reboot字符的数量是否为偶数;
如果为偶数,则使用第三镜像文件刷新所述待测固件,对所述待测固件进行重启后,判断所述待测固件的镜像文件是否为所述第三镜像文件,如果是,则进入所述在times文件中写入一个reboot字符的步骤;如果否,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
如果不为偶数,则使用第四镜像文件刷新所述待测固件,对所述待测固件进行重启后,判断所述待测固件的镜像文件是否为所述第四镜像文件,如果是,则进入所述在times文件中写入一个reboot字符的步骤;如果否,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
如果不可以获取,则确定所述待测固件的带内刷新过程未通过所述稳定性测试;
其中,所述第三镜像文件和所述第四镜像文件为与所述待测固件的类型对应的版本不同的两个所述镜像文件。
6.根据权利要求1所述的稳定性测试方法,其特征在于,在所述得到所述待测固件的带内刷新过程的稳定性测试结果之后,还包括:
根据所述稳定性测试结果确定所述待测固件的推荐刷新版本。
7.根据权利要求1所述的稳定性测试方法,其特征在于,还包括:
记录对所述待测固件的带内刷新过程的测试日志。
8.一种带内刷新固件过程的稳定性测试装置,其特征在于,包括:
获取单元,用于获取待测固件的信息、镜像文件和刷新模式设置;
脚本调用单元,用于根据所述待测固件的信息调用预设的稳定性测试脚本;
工具调用单元,用于调用带内刷新工具;
测试单元,用于执行所述稳定性测试脚本,根据所述刷新模式设置,利用所述带内刷新工具和所述镜像文件对所述待测固件进行预设次数的带内刷新,得到所述待测固件的带内刷新过程的稳定性测试结果。
9.一种带内刷新固件过程的稳定性测试设备,其特征在于,包括:
存储器,用于存储指令,所述指令包括权利要求1至7任意一项所述带内刷新固件过程的稳定性测试方法的步骤;
处理器,用于执行所述指令。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述带内刷新固件过程的稳定性测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244724.XA CN111104271A (zh) | 2019-12-06 | 2019-12-06 | 一种带内刷新固件过程的稳定性测试方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244724.XA CN111104271A (zh) | 2019-12-06 | 2019-12-06 | 一种带内刷新固件过程的稳定性测试方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104271A true CN111104271A (zh) | 2020-05-05 |
Family
ID=70422058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244724.XA Withdrawn CN111104271A (zh) | 2019-12-06 | 2019-12-06 | 一种带内刷新固件过程的稳定性测试方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104271A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220332A (zh) * | 2021-06-07 | 2021-08-06 | 宁畅信息产业(北京)有限公司 | Bios固件刷新测试方法、装置、电子设备及存储介质 |
CN113900683A (zh) * | 2021-09-14 | 2022-01-07 | 中科可控信息产业有限公司 | Bios刷新方法、装置、设备及存储介质 |
CN114741247A (zh) * | 2022-04-29 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种raid卡自动测试方法和装置 |
-
2019
- 2019-12-06 CN CN201911244724.XA patent/CN111104271A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220332A (zh) * | 2021-06-07 | 2021-08-06 | 宁畅信息产业(北京)有限公司 | Bios固件刷新测试方法、装置、电子设备及存储介质 |
CN113900683A (zh) * | 2021-09-14 | 2022-01-07 | 中科可控信息产业有限公司 | Bios刷新方法、装置、设备及存储介质 |
CN114741247A (zh) * | 2022-04-29 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种raid卡自动测试方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104271A (zh) | 一种带内刷新固件过程的稳定性测试方法、装置及设备 | |
US20180129592A1 (en) | Mock-based unit test(s) for an end-to-end test of a code snippet | |
CN108572823B (zh) | 基于接口引擎的前后端开发管理方法及系统 | |
CN111414285A (zh) | 服务器系统启动功能的测试方法、测试装置及测试设备 | |
CN109634648B (zh) | 一种快速切换sdk网络接口环境的方法及装置 | |
CN111274512A (zh) | 一种页面加载方法、装置及介质 | |
CN111651239A (zh) | 一种虚拟机克隆方法、装置、设备、介质 | |
CN111427601A (zh) | 自动批量升级bios的方法、装置、计算机设备及存储介质 | |
CN111737614A (zh) | 页面显示方法、装置、电子设备和存储介质 | |
CN110737558A (zh) | 自动布署efi shell系统执行测试的方法、装置、计算机设备及存储介质 | |
CN113821369A (zh) | 一种内存巡检的方法、装置及介质 | |
CN112083880B (zh) | 一种手机系统文件在线修改方法、装置及存储介质 | |
CN110990207B (zh) | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 | |
CN113272785B (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN116775413A (zh) | 一种pcie拓扑扫描方法、装置、设备及可读存储介质 | |
CN111427777A (zh) | 一种sol测试的方法、系统、设备以及介质 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN115168119A (zh) | 一种服务器pcie链路检测方法、装置以及介质 | |
CN113655846A (zh) | 一种OpenPOWER服务器时间同步方法及系统 | |
CN113014667A (zh) | 一种机架式服务器的配置方法、装置、设备及存储介质 | |
CN116112377B (zh) | 接口模拟方法、装置、设备及存储介质 | |
CN111694727A (zh) | 一种网卡固件升降级测试方法、系统、终端及存储介质 | |
CN112181834B (zh) | 基于gdb调试lua的方法、装置、设备及存储介质 | |
CN111176572B (zh) | 一种存储数据的保护方法、装置、设备及介质 | |
CN114153388B (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: 20200505 |
|
WW01 | Invention patent application withdrawn after publication |