一种服务器平台固件弹性测试方法、装置、电子设备和存储介质与流程

文档序号:33621524发布日期:2023-03-25 12:07阅读:65来源:国知局
一种服务器平台固件弹性测试方法、装置、电子设备和存储介质与流程

1.本发明涉及服务器测试技术领域,特别是涉及一种服务器平台固件弹性测试方法、一种服务器平台固件弹性测试装置、一种电子设备和一种存储介质。


背景技术:

2.服务器的pfr(platform firmware resilience,平台固件弹性)功能是服务器运行稳定的重要保障,它能在服务器固件出现异常情况时保护服务器固件安全。pfr功能能否及时有效的发挥作用是保障服务器运行安全的重要因素。pfr设置过程中,服务器处于不稳定状态,易出现设置信息写入错误引起的服务器宕机现象,因此,服务器测试阶段需要针对pfr的功能实现情况、工作稳定性、异常情况处理进行测试。pfr设置循环测试具有较高专业性,需要测试人员深入理解测试文档要求,使用对应工具进行测试,测试步骤繁琐,消耗时间长,人力投入较大。
3.现有技术环境下,测试人员可以通过查询pfr技术文档的方式确认测试所需环境、工具及测试方法、测试数据要求,并按照技术文档要求配置测试环境。手动安装对应的测试软件、驱动程序等软件,配置操作系统环境。之后根据测试要求手动在shell(壳)环境或者os(操作系统)环境下设置pfr的功能,并通过循环设置、循环重启的方式检验pfr设置不同选项时的稳定性,收集对应测试数据进行分析。针对pfr测试专业性高,所用工具复杂的问题,可以采用功能整合的方式进行解决。可以实现对pfr测试中信息收集和软件整理方面的部分自动化,可以在一定程度上简化测试流程,提高测试效率。但是现有技术方案并不适用于pfr设置循环测试的实际情况,无法自动循环实现pfr选项设置、重启、设置结果校验过程,也无法实现对pfr功能的稳定性检测。测试人员依然需要手动配置测试环境后,按照设计用例手动进行测试,手动设置对应参数,检查重启后服务器参数设置情况,分析数据结果,导致测试的时长较长且准确度低。


技术实现要素:

4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器平台固件弹性测试方法、一种服务器平台固件弹性测试装置、一种电子设备和一种存储介质。
5.在本发明的第一个方面,本发明实施例公开了一种服务器平台固件弹性测试方法,应用于测试终端,所述测试终端与待测服务器连接,所述待测服务器设置有平台固件弹性模块,所述方法包括:
6.在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;
7.基于目标测试配置参数,生成参数配置脚本;
8.依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测
服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;
9.在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;
10.当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;
11.依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。
12.可选地,所述测试参数设置数据还包括环境配置参数,所述方法还包括:
13.依据所述环境配置参数,生成环境配置文件;
14.发送所述环境配置文件至所述待测服务器,所述待测服务器还用于基于所述环境配置文件配置所述测试环境。
15.可选地,所述方法还包括:
16.当所述校验信息不满足所述预设稳定性条件时,采集所述平台固件弹性模块的配置状态,生成测试失败信息。
17.可选地,所述方法还包括:
18.可视化所述测试失败信息,生成图像弹窗;
19.显示所述图像弹窗。
20.可选地,所述平台固件弹性模块对应有复杂可编程逻辑cpld寄存器,所述校验所述平台固件弹性模块,生成校验信息的步骤包括:
21.采集所述cpld寄存器中的状态参数,生成工作模式信息;
22.确定所述工作模式信息为所述校验信息。
23.可选地,所述预设稳定性条件为校验信息包括重启标识值和目标版本标识值,所述方法还包括:
24.当所述校验信息包括所述重启标识值和所述目标版本标识值时,确定所述校验信息满足所述预设稳定性条件;
25.当所述校验信息不包括所述重启标识值和所述目标版本标识值中的至少一个时,确定所述校验信息不满足所述预设稳定性条件。
26.可选地,所述多个测试配置参数与所述已测试次数对应,所述依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数的步骤包括:
27.从所述多个测试配置参数中,确定与所述已测试次数对应的测试配置参数为目标测试配置参数。
28.在本发明的第二个方面,本发明实施例还公开了一种服务器平台固件弹性测试装置,应用于测试终端,所述测试终端与待测服务器连接,所述待测服务器设置有平台固件弹性模块,所述装置包括:
29.接收模块,用于在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;
30.参数配置脚本生成模块,用于基于目标测试配置参数,生成参数配置脚本;
31.第一发送模块,用于依据所述参数配置脚本生成设置指令和还原指令,发送所述
设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;
32.校验模块,用于在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;
33.第二发送模块,用于当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;
34.循环模块,用于依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。
35.在本发明的第三个方面,本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的服务器平台固件弹性测试方法的步骤。
36.在本发明的第四个方面,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的服务器平台固件弹性测试方法的步骤。
37.本发明实施例包括以下优点:
38.本发明实施例通过在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;基于目标测试配置参数,生成参数配置脚本;依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。通过将目标测试配置参数确定参数配置脚本,基于参数配置脚本发送给待测服务器设置指令,服务器根据设置指令自动对平台固件弹性模块进行配置,减少了手动测试的时间损失,减少了测试的耗时;整个针对平台固件弹性模块的测试依据参数配置脚本进行,并且可以自动重启进行下一轮测试,使得可以自动的循环测试平台固件弹性模块流程提高了测试的时效性;并且在重启服务器过程中对平台固件弹性模块的稳定性进行验证,使得测试结果更准确。
附图说明
39.图1是本发明的一种服务器平台固件弹性测试方法实施例的步骤流程图;
40.图2是本发明的另一种服务器平台固件弹性测试方法实施例的步骤流程图;
41.图3是本发明的一种服务器平台固件弹性测试方法实施例的功能模块示意图;
42.图4是本发明的一种服务器平台固件弹性测试装置实施例的结构框图;
43.图5是本发明实施例提供的一种电子设备的结构框图;
44.图6是本发明实施例提供的一种存储介质的结构框图。
具体实施方式
45.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
46.参照图1,示出了本发明的一种服务器平台固件弹性测试方法实施例的步骤流程图,所述服务器平台固件弹性测试方法应用于测试终端,所述测试终端与待测服务器连接,所述待测服务器设置有平台固件弹性模块。
47.在本发明实施例中,测试终端可以是专用测试设备,也可以是通用计算机配置相关测试硬件后形成的测试计算机,本发明实施例对此不作限定。测试终端与待测服务器的连接,可以通过串口硬件连接的方式、也可以采用网络等无线方式连接。在待测服务器中,设置有平台固件弹性pfr模块,通过pfr模块的运行实现pfr功能。
48.所述服务器平台固件弹性测试方法具体可以包括如下步骤:
49.步骤101,在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;
50.在本发明实施例中,测试环境可以为shell环境或者os环境。在待测服务器进入到测试环境后,才可以进行测试。测试人员可以通过与测试终端的信息交互输入测试参数设置数据,该测试参数设置数据可以包括测试过程中需要进行循环测试的测试次数,以及不同循环测试过程中,每次测试时对应的包括选项及其内容的测试配置参数;即测试参数设置数据包括测试次数和多个测试配置参数。测试终端接收输入的测试参数设置数据。
51.步骤102,基于目标测试配置参数,生成参数配置脚本;
52.在接收到参数设置数据后,基于本轮的测试,得到与本轮测试对应的目标测试配置参数,基于目标测试配置参数,生成参数配置脚本。参数配置脚本用于针对测试内容进行设置。
53.步骤103,依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;
54.开始进行测试,可以依据参数配置脚本生成多条设置指令,不同的设置指令对应不同的测试内容;如测试pfr功能的开启、pfr功能的关闭、设置pfr还原固件顺序、设置pfr还原固件模式等。将生成的设置指令发送至待测服务器,待测服务器接收设置指令后,依据设置指令的指示对平台固件弹性模块的参数进行配置,以令配置后的平台固件弹性模块在待测服务器运行,并在配置完成后重启待测服务器,验证配置后的平台固件弹性模块是否实现功能。并且此次测试记录生成已测试次数。其中,已测试次数的初始次数可以为“0”值,每进行一次测试已测试次数加一。
55.此外,还可以依据数配置脚本生成还原指令,还原指令和设置指令的配置选项相同,但配置内容为平台固件弹性模块在待测服务器中的初始状态。待测服务器可以通过执行还原指令对平台固件弹性模块进行还原,使得每次测试时平台固件弹性模块的初始状态不变,提高测试的准确性。
56.步骤104,在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验
信息;
57.由于平台固件弹性模块是在待测服务器重启时运行,保护待测服务器固件安全;因此,在实际应用中,在平台固件弹性模块配置完成后的重启过程中,对平台固件弹性模块进行校验,测试对不同配置下的平台固件弹性模块的配置状态是否正常,以使待测服务器正常安全运行;测试终端可以读取平台固件弹性模块的运行日志检验平台固件弹性模块,生成校验信息。
58.步骤105,当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;
59.得到校验信息后,即可确定校验信息是否满足预设稳定性条件,在校验信息满足预设稳定性条件时,即平台固件弹性模块可以实现保护待测服务器固件安全的功能,测试终端可以发送还原指令至待测服务器。待测服务器执行该还原指令,依据还原指令还原平台固件弹性模块,令平台固件弹性模块可以在每次测试开始前都可以保证一致,提高测试的准确性。
60.步骤106,依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。
61.在平台固件弹性模块还原后,可以针对平台固件弹性模块进行新一轮的测试;可以依据已测试次数从多个测试配置参数中更新目标测试配置参数,以新一轮的目标测试配置参数进行测试,继续基于目标测试配置参数,生成参数配置脚本,从而可以生成新的设置指令对平台固件弹性模块进行不同的配置,测试其稳定性。循环执行直至已测试次数与测试次数相同时,停止测试。
62.本发明实施例通过在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;基于目标测试配置参数,生成参数配置脚本;依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。通过将目标测试配置参数确定参数配置脚本,基于参数配置脚本发送给待测服务器设置指令,服务器根据设置指令自动对平台固件弹性模块进行配置,减少了手动测试的时间损失,减少了测试的耗时;整个针对平台固件弹性模块的测试依据参数配置脚本进行,并且可以自动重启进行下一轮测试,使得可以自动的循环测试平台固件弹性模块流程提高了测试的时效性;并且在重启服务器过程中对平台固件弹性模块的稳定性进行验证,使得测试结果更准确。
63.参照图2,示出了本发明的另一种服务器平台固件弹性测试方法实施例的步骤流程图,所述服务器平台固件弹性测试方法应用于测试终端,所述测试终端与待测服务器连接,所述待测服务器设置有平台固件弹性模块。具体地,测试终端和待测服务器的硬件功能
模块,可以参照图3;测试终端包括:外部串口管理模块、数据解码模块、交互界面、测试数据库、数据分析系统、测试异常报警管理模块和pfr自动化管理系统。
64.外部串口管理模块,管控pfr自动化测试管理系统与待测服务器的外部通信,调整外部通信过程中不同模块的信息传递优先级,调整上下行顺序,提供暂存环境。
65.数据解码模块,承担外部串口获得的数据、指令信息与pfr自动化测试管理系统的指令转码工作。对于数据上行过程,它提供固件上传时的数据暂存空间,将pfr控制指令转化未对应部件所需的控制格式,稳定发送控制指令。对于数据下行过程,它提供测试数据采集过程中的暂存空间,将数据整理后回传到pfr自动化测试管理系统。将测试系统固件反馈的测试结果和指令执行情况分类暂存,统一发送pfr自动化管理系统。
66.交互界面,提供与测试人员的交互环境,收集设置参数和设置信息,将相关信息传递到pfr自动化测试管理系统。
67.测试数据库,以特征值的方式对pfr测试中所需的设置参数、设置方法、系统信息、服务器信息等内容进行分类管理,同时记录软件自动化流程,不同服务器型号的测试方法。另外,也负责记录测试循环中每次测试生成的测试数据,不同型号服务器、不同类型pfr系统的测试比对标准。测试数据库可以通过网络方式进行远程配置,也可以采用制作专用功能盘的方式进行部署。
68.数据分析系统,测试完成后,数据分析将会自动从测试数据库调用测试测试标准与比对步骤,根据实现设置的测试要求比对测试过程中产生的测试数据。针对单轮测试结果情况不同,进行如下步骤:1、单轮测试数据出现差异的情况下,分析系统将会记录相关差异,并将相关信息投送到测试异常报警管理模块。2、单轮测试数据无法获得测试数据的情况(服务器未正常返回数据),则会将记录此情况,并通知pfr测试管理系统增加测试次数。3、单轮测试数据无差异,校验通过的情况,则将相应数据分类打包。完成所有轮次测试后,整理所有测试数据,对数据稳定性进行分析,并自动生成测试报告。
69.测试异常报警管理模块负责相应数据分析系统的报警信息,按照测试设置(测试单轮失败停止/单轮失败不停止;单轮测试异常报警/汇总后报警)向交互界面发送相应报警指令。交互界面收到报警指令后,将会以弹窗或者用户设置的方式提示用户测试异常。
70.pfr自动化管理系统,承担各个系统的信息流转,测试情况管理等功能。从具体任务架构上,其主要负责以下流程:1、负责与bmc(baseboard management controller,基板管理控制器)\bios(basic input output system,基本输出输入系统)\服务器内部储存交互控制信息,监控固件运行情况,实时收集测试情况反馈。2、检查固件版本信息,执行固件刷新程序,设置服务器固件、软件、系统测试环境。3、获取交互界面的用户设置信息,按照测试要求调用测试数据库的相关测试流程,并将测试参数要求、文件导入测试数据库。4、通过远端控制指令设置pfr具体功能选项。5、上传、下载文件的打包,系统间信息传递的逻辑控制。
71.待测服务器可以包括:bios固件、bmc固件、pfr模块、内部储存,以及shell环境配置模块。其中,平台固件弹性模块对应有复杂可编程逻辑cpld寄存器。
72.所述服务器平台固件弹性测试方法具体可以包括如下步骤:
73.步骤201,在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数、多个测试配置参数和环境配置参数;
74.在本发明实施例中,待测服务器可以通过串口、网络等外部方式,也可以通过u盘的方式将测试系统直接导入待测服务器shell等测试环境进行测试。在待测服务器进入到测试环境后,测试人员可以通手动设置导入测试终端的测试参数设置数据;测试终端可以通过交互界面与测试人员交互,接收测试参数设置数据。测试参数设置数据包括测试次数、多个测试配置参数和环境配置参数。
75.步骤202,依据所述环境配置参数,生成环境配置文件;
76.在接收到参数设置数据后,可以对测试环境参数设置数据进行整合,生成环境配置文件,对待测服务器的pfr测试环境进行配置。通过环境配置文件对待测服务器进行测试环境的配置,以使形成不同配置的测试环境。
77.在实际应用中,测试人员可以输入的参数设置数据包括环境配置参数、环境配置参数是指针对测试环境进行设置的数据,包含测试环境的各项指标。在得到环境配置参数时,可以针对环境配置参数进行打包整个,将环境配置参数进行编码,生成环境配置文件。
78.步骤203,发送所述环境配置文件至所述待测服务器,所述待测服务器还用于基于所述环境配置文件配置所述测试环境;
79.可以将生成的环境配置文件发送至待测服务器,待测服务器在测试环境运行时,根据环境配置文件配置测试环境,令测试环境与环境配置文件中的参数匹配,并可以在配置完成后向测试终端反馈配置完成信号,以表征测试环境配置完成。
80.步骤204,基于目标测试配置参数,生成参数配置脚本;
81.从多个测试配置参数中确定基于目标测试配置参数,将目标测试配置参数进行整合,生成参数配置脚本。
82.在实际应用中,测试人员输入的测试参数设置数据中可以包括测试选项和与测试选项对应的测试配置参数。其中,测试选项和测试配置参数则具有对应关系,即一项测试选项对应至少一个测试配置参数。测试选项为测试项目,测试配置参数则为该测试选项对应的设置目标值。针对于目标测试配置参数的测试选项与对应的测试配置参数进行关联,将测试配置参数基于测试选项进行归类,建立映射关系。将每个测试配置参数对应的映射关系进行打包整合,并进行编码生成参数配置脚本。
83.步骤205,依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;
84.得到参数配置脚本后,可以依据参数配置脚本生成设置指令和还原指令;并且通过设置指令发送值待测服务器,通过待测服务器基于设置指令对平台固件弹性模块进行配置。在配置时,记录生成已测试次数。在配置完成后,则重启待测服务器以验证pfr的性能。还原指令则用于对配置的平台固件弹性模块进行还原。
85.在实际应用中,参数配置脚本不同的测试内容具有不同的优先级,即不同的测试选项的有不同的优先级;可以按照映射关系的优先级,确定设置顺序,以确定测试过程中测试pfr的功能顺序。可以按照设置顺序,将对应的测试选项对应的测试配置参数进行编码转换为测试内容的设置指令,以控制待测服务器进行测试。
86.步骤206,在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;
87.在待测服务器重启过程中,可以通过采集平台固件弹性模的工作状态对应的数据,校验平台固件弹性模块,生成校验信息。
88.具体地,所述校验所述平台固件弹性模块,生成校验信息的步骤具体包括如下子步骤:
89.子步骤s2061,采集所述cpld寄存器中的状态参数,生成工作模式信息;
90.实际应用中,cpld寄存器寄存有平台固件弹性模块的工作参数,因此,可以采集cpld寄存器中寄存的状态参数,生成平台固件弹性模块的工作模式信息。
91.子步骤s2062,确定所述工作模式信息为所述校验信息;
92.工作模式信息可以包括是否正常工作,以及使用的版本;可以将这些工作模式信息确定为校验信息。
93.步骤207,当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;
94.在本发明实施例中,预设稳定性条件为校验信息包括重启标识值和目标版本标识值。其中,重启标识值用于表征重启成功。当有重启标识值,即待测服务器重启成功。版本标识值即为平台固件弹性模块使用的版本信息;如版本1,版本2;目标版本标识值即为可以令平台固件弹性模块正常启动使用的版本标识值,该目标版本标识值可以通过预先设定。
95.在得到校验信息后,可以先判断校验信息满足预设稳定性条件。当校验信息包括重启标识值和目标版本标识值时,确定校验信息满足预设稳定性条件。
96.反之,当校验信息不包括重启标识值和目标版本标识值中的至少一个,即校验信息不存在重启标识值,或者版本标识值并非目标版本标识值时,确定校验信息不满足预设稳定性条件。
97.当校验信息满足预设稳定性条件时,即本次测试成功,将还原指令发送至待测服务器,待测服务器根据还原指令对平台固件弹性模块进行还原,令平台固件弹性模块回归初始值,便于下次测试。
98.步骤208,当所述校验信息不满足所述预设稳定性条件时,采集所述平台固件弹性模块的配置状态,生成测试失败信息;
99.当校验信息不满足预设稳定性条件时,即本次测试失败,可以采集平台固件弹性模块的配置状态,对于平台固件弹性模块后的服务会出现故障的状态进行采集,生成测试失败信息,便于测试人员进行错误分析。
100.步骤209,可视化所述测试失败信息,生成图像弹窗;
101.当生成检验失败即测试人员输入的测试参数设置数据会导致平台固件弹性模块发生运行错误,可以将测试失败信息进行可视化,生成一个图像弹窗。
102.步骤210,显示所述图像弹窗;
103.将图像弹窗显示在交互界面上,告知测试人员存在测试失败的结果,以便于测试人员进行改进。
104.步骤211,依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。
105.在平台固件弹性模块还原后,可以依据已测试次数从所述多个测试配置参数中更
新所述目标测试配置参数。
106.具体地,所述多个测试配置参数与所述已测试次数对应,可以从多个测试配置参数中,确定与已测试次数对应的测试配置参数为目标测试配置参数。
107.并且将更新后的目标测试配置参数作为新一轮的测试配置参数,生成新的参数配置脚本,进行下一轮的测试,直至已测试次数与预先的测试次数相同,满足测试要求。
108.本发明实施例实现了pfr设置测试的自动化,减少了手动测试环境搭建和测试的时间损失,使得测试时间减少,提高了测试的效率;整个测试过程避免人工参与,全自动的测试流程提高了测试的准确性;并且可以自动按照项目所需标准分析测试结果,自动生成测试结果的文件,在减少人员工作量的同时,也可以更加准确、细致的反应测试情况。
109.为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:
110.按照测试项目实际所需,刷新测试专用bmc、bios固件。
111.通过串口或网络的方式连接测试计算机与待测服务器,在测试计算机上运行pfr自动化测试管理系统,待测服务器开机,确认网络/串口的数据稳定情况。上传固件文件,并进行测试参数设置:1、待测试的设置选项2、选择重新启动模式3、日志校验模式4、设置日志保存路径。
112.在测试计算机上点击开始测试,测试管理系统将会自动生成本次测试参数设置文档,通过外部端口发送到待测服务器上。待测服务器上的配置文件将会在shell下自动运行,配置测试环境,完毕后通过串口发送配置结果给测试计算机。测试计算机在收到正确配置反馈后,将会通过串口指令发送到服务器shell环境下的环境配置脚本,脚本将会按照对应要求执行配置设置操作,如设置pfr功能的开启、pfr功能的关闭、设置pfr还原固件顺序、设置pfr还原固件模式等选项。之后,脚本将通过执行读取cpld寄存器中的参数,获得pfr工作模式信息,校验设置是否正确完成。
113.设置完成后,服务器将按照设置变更所需,将服务器断电或重启。测试计算机将会通过串口收集重启过程中的参数信息,分析服务器是否处于对应设置下的开机流程,如当pfr功能开启时,断电重启过程将会存在pfr校验服务器固件信息的过程。
114.如果pfr设置正常,服务器应当正常启动,再次进入shell环境下。shell下的测试脚本将会再次检查cpld寄存器中有关pfr工作状态的相关信息,如果校验正常,则本次测试正常,测试系统通过串口获取相关测试结果.之后脚本将会将本次测试中变更的选项还原,重复上述过程,并记录信息,循环测试以验证稳定性。
115.如果在循环过程中服务器无法正常开机,则对pfr进行设置过程中出现错误,本轮测试失败,系统将自动记录异常情况。并通过图像弹窗方式报错。
116.循环测试完成后,系统将自动按照测试要求对每一次测试的校验数据进行统计,确定平台固件弹性模块在多次测试中的稳定性。
117.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
118.参照图4,示出了本发明的一种服务器平台固件弹性测试装置实施例的结构框图,所述装置应用于测试终端,所述测试终端与待测服务器连接,所述待测服务器设置有平台固件弹性模块,所述装置具体可以包括如下模块:
119.接收模块401,用于在所述待测服务器进入测试环境后,接收测试参数设置数据;所述测试参数设置数据包括测试次数和多个测试配置参数;
120.参数配置脚本生成模块402,用于基于目标测试配置参数,生成参数配置脚本;
121.第一发送模块403,用于依据所述参数配置脚本生成设置指令和还原指令,发送所述设置指令至所述待测服务器,并记录生成已测试次数;所述待测服务器用于依据所述设置指令配置所述平台固件弹性模块,并在配置完成后重启;
122.校验模块404,用于在所述待测服务器重启过程中,校验所述平台固件弹性模块,生成校验信息;
123.第二发送模块405,用于当所述校验信息满足预设稳定性条件时,发送所述还原指令至所述待测服务器;所述待测服务器还用于依据所述还原指令还原所述平台固件弹性模块;
124.循环模块406,用于依据所述已测试次数从所述多个测试配置参数中更新所述目标测试配置参数,并继续执行所述基于目标测试配置参数,生成参数配置脚本的步骤,直至所述已测试次数等于所述测试次数。
125.在本发明的一可选实施例中,所述测试参数设置数据还包括环境配置参数,所述装置还包括:
126.环境配置文件生成模块,用于环境配置文件;
127.第三发送模块,用于发送所述环境配置文件至所述待测服务器,所述待测服务器还用于基于所述环境配置文件配置所述测试环境。
128.在本发明的一可选实施例中,所述装置还包括:
129.测试失败信息生成模块,用于当所述校验信息不满足所述预设稳定性条件时,采集所述平台固件弹性模块的配置状态,生成测试失败信息。
130.在本发明的一可选实施例中,所述装置还包括:
131.可视化模块,用于可视化所述测试失败信息,生成图像弹窗;
132.显示模块,用于显示所述图像弹窗。
133.在本发明的一可选实施例中,所述校验模块404包括:
134.采集子模块,用于采集所述cpld寄存器中的状态参数,生成工作模式信息;
135.校验信息确定子模块,用于确定所述工作模式信息为所述校验信息。
136.在本发明的一可选实施例中,所述预设稳定性条件为校验信息包括重启标识值和目标版本标识值,所述装置还包括:
137.第一稳定性模块,用于当所述校验信息包括所述重启标识值和所述目标版本标识值时,确定所述校验信息满足所述预设稳定性条件;
138.第二稳定性模块,用于当所述校验信息不包括所述重启标识值和所述目标版本标识值中的至少一个时,确定所述校验信息不满足所述预设稳定性条件。
139.在本发明的一可选实施例中,所述多个测试配置参数与所述已测试次数对应,所述循环模块406包括:
140.更新子模块,用于从所述多个测试配置参数中,确定与所述已测试次数对应的测试配置参数为目标测试配置参数。
141.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
142.本发明实施例还提供了一种电子设备,如图5所示,包括:
143.处理器501和存储介质502,所述存储介质502存储有所述处理器501可执行的计算机程序,当电子设备运行时,所述处理器501执行所述计算机程序,以执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
144.本发明实施例还提供了一种计算机可读存储介质,如图6所示,所述存储介质上存储有计算机程序601,所述计算机程序601被处理器执行时执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
145.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
146.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
147.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
148.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
149.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
150.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
151.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
152.以上对本发明所提供的一种服务器平台固件弹性测试方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1