CN110990181A - 一种自动化复现bios中选项概率性设置失败的方法及系统 - Google Patents

一种自动化复现bios中选项概率性设置失败的方法及系统 Download PDF

Info

Publication number
CN110990181A
CN110990181A CN201911197119.1A CN201911197119A CN110990181A CN 110990181 A CN110990181 A CN 110990181A CN 201911197119 A CN201911197119 A CN 201911197119A CN 110990181 A CN110990181 A CN 110990181A
Authority
CN
China
Prior art keywords
keyword
module
current
target
target keyword
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
Application number
CN201911197119.1A
Other languages
English (en)
Inventor
李家孝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911197119.1A priority Critical patent/CN110990181A/zh
Publication of CN110990181A publication Critical patent/CN110990181A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种自动化复现BIOS中选项概率性设置失败的方法及系统,该方法首先初始化测试环境,设定复现循环次数为N,然后获取并存储目标关键字,根据所获取的重启命令,重启服务器;服务器重启过程中,利用自动化工具捕捉当前的关键字;最后判断当前的关键字是否与目标关键字一致;如果是,进入下一个复现循环;否则,跳出当前的复现循环。该系统主要包括:初始化模块、循环次数设定模块、目标关键字存储模块、重启模块、关键字获取模块、判断模块以及跳出模块。通过本申请,能够大大提高测试效率以及测试结果的准确性。

Description

一种自动化复现BIOS中选项概率性设置失败的方法及系统
技术领域
本申请涉及服务器BIOS(Basic Input Output System,基本输入输出系统)技术领域,特别是涉及一种自动化复现BIOS中选项概率性设置失败的方法及系统。
背景技术
在云计算和大数据时代,服务器是数据运行的重要载体,确保服务器运行的稳定性是个非常重要的问题,而BIOS技术对服务器运行的稳定性又起着决定性作用。对于用户来说,最常见的BIOS操作是进入BIOS setup界面,根据自己的需求对选项的值进行相应的设置。而BIOS技术中一个比较常见的问题就是,服务器重启后可能对用户的设置发生改变,如果对用户的设置发生改变就会导致一系列的故障。什么时候发生设置改变,发生设置改变的概率都不确定。为了debug(调试,除错),需要先复现到bug(漏洞),因此,在BIOS研发和测试过程中,如何复现BIOS中选项的概率性设置失败问题,从而对其进行研究和改善,是个重要的技术问题。
目前,复现BIOS中选项的概率性设置失败的方法,通常是人工手动复现。具体地,在实际应用中,当客户端使用的机器发生设置改变时,需要在实验室复现到现象后才能进行有效的debug,当复现到bug时进行记录,然后累计多次设置改变的情况,获取设置改变的概率,找出bug的规律和共性,从而解决故障。
然而,目前复现BIOS中选项的概率性设置失败的方法中,由于采用人工手动复现,设置失败的情况不是每次都发生,尤其是针对一些低概率出现的bug,为了复现一次设置失败,可能需要手动操作上千次,测试效率太低。而且人工手动复现容易产生误差,导致测试结果的不准确。
发明内容
本申请提供了一种自动化复现BIOS中选项概率性设置失败的方法及系统,以解决现有技术中的复现方法测试效率太低以及测试结果不够准确的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种自动化复现BIOS中选项概率性设置失败的方法,所述方法包括:
初始化测试环境;
设定复现循环次数为N次,N为自然数;
获取并存储目标关键字,所述目标关键字为setup菜单中选项相关的关键字;
根据所获取的重启命令,重启服务器;
服务器重启过程中,利用自动化工具捕捉当前的关键字;
判断当前的关键字是否与所述目标关键字一致;
如果是,进入下一个复现循环;
如果否,跳出当前的复现循环。
可选地,获取并存储目标关键字的方法,包括:
利用自动化工具,通过串口捕捉设定的目标关键字;
根据捕捉到的所述目标关键字,发送与所述目标关键字相应的配置指令;
根据所述配置指令,服务器进入BIOS setup菜单下设定的路径中存储所述目标关键字。
可选地,所述服务器重启过程中,利用自动化工具捕捉当前的关键字,具体为:
服务器重启过程中,利用自动化工具,通过串口捕捉当前的关键字。
可选地,N的取值为10000。
一种自动化复现BIOS中选项概率性设置失败的系统,所述系统包括:
初始化模块,用于初始化测试环境;
循环次数设定模块,用于设定复现循环次数为N次,N为自然数;
目标关键字存储模块,用于获取并存储目标关键字,所述目标关键字为setup菜单中选项相关的关键字;
重启模块,用于根据所获取的重启命令,重启服务器;
关键字获取模块,用于在服务器重启过程中,利用自动化工具捕捉当前的关键字;
判断模块,用于判断当前的关键字是否与所述目标关键字一致;
跳出模块,用于当前的关键字与所述目标关键字一致时,进入下一个复现循环,当前的关键字与所述目标关键字不一致时,跳出当前的复现循环。
可选地,所述目标关键字存储模块包括:
第一捕捉单元,用于利用自动化工具,通过串口捕捉设定的目标关键字;
配置指令发送单元,用于根据捕捉到的所述目标关键字,发送与所述目标关键字相应的配置指令;
存储单元,用于根据所述配置指令,当服务器进入BIOS setup菜单下设定的路径中时,存储所述目标关键字。
可选地,所述循环次数设定模块设定的循环次数为10000次。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种自动化复现BIOS中选项概率性设置失败的方法,该方法首先对测试环境进行初始化,设定复现循环次数,然后获取并存储目标关键字,根据重启命令重启服务器,在服务器重启过程中利用自动化工具捕捉当前的关键字,最后比对当前的关键字和目标关键字,判断两者是否一致,如果一致表示没有出现设置失败,继续进入下一个复现循环,如果不一致表示出现设置失败,跳出当前的复现循环,并停留在当前界面,便于工作人员定位和分析。本实施例通过自动化的方法,查找BIOS选项中概率性设置失败问题,与现有技术中的手动复现相比,能够节省大量时间,有效提高测试效率。尤其是针对设置失败概率较低的选项,能够节省更多时间,从而大大提高测试效率。而且,相比于手动复现,本实施例中自动化的方法不容易产生误差,能够大大提高测试结果的准确性。另外,该方法可以批量用于多台服务器中,与现有技术中的手动复现相比,也能够有效提高测试效率。而且,本实施例通过编写自动化脚本来实现,脚本通用性强,维护简单,有利于进一步提高测试效率和测试的准确性。
本申请还提供一种自动化复现BIOS中选项概率性设置失败的系统。该系统主要包括:初始化模块、循环次数设定模块、目标关键字存储模块、重启模块、关键字获取模块、判断模块以及跳出模块。通过目标关键字存储模块设获取到目标关键字,利用关键字获取模块获取到当前的关键字,再利用判断模块比对当前的关键字与目标关键字,判断两者是否一致,当两者不一致时通过跳出模块控制跳出当前的复现循环,停留在当前界面。本实施例通过自动化的模块代替手动复现,能够有效提高测试效率和测试的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种自动化复现BIOS中选项概率性设置失败的方法的流程示意图;
图2为本申请实施例所提供的一种自动化复现BIOS中选项概率性设置失败的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种自动化复现BIOS中选项概率性设置失败的方法的流程示意图。由图1可知,本实施例中自动化复现BIOS中选项概率性设置失败的方法,主要包括如下步骤:
S1:初始化测试环境。
本实施例中的复现方法主要应用于BIOS中setup菜单下的所有选项,执行复现循环前,首先对自动化的测试环境进行初始化,以确保该方法的顺利执行。BIOS中,静态IP选项设置IP后经常发生概率性保存失败的情况,以setup菜单中静态IP选项设置为例,初始化测试环境具体为:配置测试环境,将服务器的BMC IP、用户名以及密码等信息添加至配置管理表中。
S2:设定复现循环次数为N次,N为自然数。
也就是设置一个for循环,循环次数为N。本实施例中N的取值由setup菜单下选项发生设置失败的概率来确定,概率越小,N的取值越大,概率越大,N的取值越小。本实施例中N的最小值为1,优选取值为10000次。该次数设置适用于自动化测试,能够更加准确地找出setup菜单下选项发送设置失败的概率,有利于提高测试结果的准确性。
S3:获取并存储目标关键字。
具体地,步骤S3又包括:
S31:利用自动化工具,通过串口捕捉设定的目标关键字。
本实施例中目标关键字为setup菜单中选项相关的关键字。本实施例中静态IP选项设置的目标关键字为:配置静态IP。
当捕捉到目标关键字时,执行步骤S32:根据捕捉到的目标关键字,发送与目标关键字相应的配置指令。
还是以静态IP选项设置为例,捕捉到目标关键字“配置静态IP”时,发送PressDelgo to setup命令,相应地,后续便会执行按下Delete键的命令。
S33:根据配置指令,服务器进入BIOS setup菜单下设定的路径中存储目标关键字。
此时,服务器已进入BIOS setup菜单下,跳转到脚本设置的路径下,当捕捉到目标关键字“配置静态IP”时,自动配置IP为“10.10.14.28”,配置好后发送F10保存退出。
S4:根据所获取的重启命令,重启服务器。
本实施中的复现方法依托于自动化测试工具,自动化测试工具为串口工具,串口工具需要通过BMC来访问服务器。因此,本实施例中由BMC发送重启服务器的重启命令,服务器根据所获取的重启命令,进行重启。
S5:服务器重启过程中,利用自动化工具捕捉当前的关键字。
具体地,本实施例服务器重启过程中,利用自动化工具,通过串口捕捉当前的关键字。以静态IP选项设置为例,服务器重启过程中,自动化工具通过串口捕捉脚本中的关键字,当捕捉到Press Del go to setup时,便会发送执行按下Delete键的命令。便进入到了BIOS setup菜单里面,此时的关键字即为BIOS菜单里面的选项名称或者IP地址之类的选项。
S6:判断当前的关键字是否与目标关键字一致。
如果当前的关键字是否与目标关键字一致,执行步骤S7:进入下一个复现循环。
如果当前的关键字是否与目标关键字不一致,执行步骤S8:跳出当前的复现循环。
由以上步骤S6-S8可知,执行按下Delete键的命令之后,服务器又进入BIOS setup菜单下,此时会跳转到脚本设置的路径下,去匹配当前的静态IP是否和前面设置的IP“10.10.14.28”一致。如果一致,则继续进入下一次for循环,如果不一致,则跳出for循环,停止在当前位置,以便于开发人员进行定位和分析。
本实施例中的方法,可以采用TTCN语言编写相应的脚本来实现。当然,本实施例执行前,需要做如下准备工作:
1)在本地PC机上安装自动化测试工具,并用串口线和网线将本地PC机与服务器连接;
2)OS(Operating System,操作系统)串口重定向,并编辑grub文件。
通过OS串口重定向,能够将OS的打印信息重定向到串口上,便于后续自动化测试工具捕捉到OS下的关键字,并执行相应的命令。
编辑grub文件的方法为:
A)vim/etc/default/grub中增加console=ttyS0,115200n8 console=tty0,并删除rhgb quiet。可以采用如下语言:
GRUB_CMDLINE_LINUX="console=ttyS0,115200n8 console=tty0"。
B)输入"grub2-mkconfig-o/boot/grub2/grub.cfg"命令。
C)reboot,重启OS生效。
实施例二
在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种自动化复现BIOS中选项概率性设置失败的系统的结构示意图。由图2可知,本实施例中自动化复现BIOS中选项概率性设置失败的系统,主要包括:初始化模块、循环次数设定模块、目标关键字存储模块、重启模块、关键字获取模块、判断模块以及跳出模块。
其中,初始化模块用于初始化测试环境;循环次数设定模块用于设定复现循环次数为N次,N为自然数;目标关键字存储模块,用于获取并存储目标关键字,目标关键字为setup菜单中选项相关的关键字;重启模块用于根据所获取的重启命令,重启服务器;关键字获取模块用于在服务器重启过程中,利用自动化工具捕捉当前的关键字;判断模块用于判断当前的关键字是否与目标关键字一致;跳出模块,用于当前的关键字与目标关键字一致时,进入下一个复现循环,当前的关键字与目标关键字不一致时,跳出当前的复现循环。
进一步地,目标关键字存储模块又包括:第一捕捉单元、配置指令发送单元和存储单元。第一捕捉单元用于利用自动化工具,通过串口捕捉设定的目标关键字;配置指令发送单元,用于根据捕捉到的所述目标关键字,发送与目标关键字相应的配置指令;存储单元用于根据配置指令,当服务器进入BIOS setup菜单下设定的路径中时,存储目标关键字。
本实施例中循环次数设定模块设定的循环次数为10000次。
该实施例中自动化复现BIOS中选项概率性设置失败的系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种自动化复现BIOS中选项概率性设置失败的方法,其特征在于,所述方法包括:
初始化测试环境;
设定复现循环次数为N次,N为自然数;
获取并存储目标关键字,所述目标关键字为setup菜单中选项相关的关键字;
根据所获取的重启命令,重启服务器;
服务器重启过程中,利用自动化工具捕捉当前的关键字;
判断当前的关键字是否与所述目标关键字一致;
如果是,进入下一个复现循环;
如果否,跳出当前的复现循环。
2.根据权利要求1所述的一种自动化复现BIOS中选项概率性设置失败的方法,其特征在于,获取并存储目标关键字的方法,包括:
利用自动化工具,通过串口捕捉设定的目标关键字;
根据捕捉到的所述目标关键字,发送与所述目标关键字相应的配置指令;
根据所述配置指令,服务器进入BIOS setup菜单下设定的路径中存储所述目标关键字。
3.根据权利要求1所述的一种自动化复现BIOS中选项概率性设置失败的方法,其特征在于,所述服务器重启过程中,利用自动化工具捕捉当前的关键字,具体为:
服务器重启过程中,利用自动化工具,通过串口捕捉当前的关键字。
4.根据权利要求1-3中任一所述的一种自动化复现BIOS中选项概率性设置失败的方法,其特征在于,N的取值为10000。
5.一种自动化复现BIOS中选项概率性设置失败的系统,其特征在于,所述系统包括:
初始化模块,用于初始化测试环境;
循环次数设定模块,用于设定复现循环次数为N次,N为自然数;
目标关键字存储模块,用于获取并存储目标关键字,所述目标关键字为setup菜单中选项相关的关键字;
重启模块,用于根据所获取的重启命令,重启服务器;
关键字获取模块,用于在服务器重启过程中,利用自动化工具捕捉当前的关键字;
判断模块,用于判断当前的关键字是否与所述目标关键字一致;
跳出模块,用于当前的关键字与所述目标关键字一致时,进入下一个复现循环,当前的关键字与所述目标关键字不一致时,跳出当前的复现循环。
6.根据权利要求5所述的一种自动化复现BIOS中选项概率性设置失败的系统,其特征在于,所述目标关键字存储模块包括:
第一捕捉单元,用于利用自动化工具,通过串口捕捉设定的目标关键字;
配置指令发送单元,用于根据捕捉到的所述目标关键字,发送与所述目标关键字相应的配置指令;
存储单元,用于根据所述配置指令,当服务器进入BIOS setup菜单下设定的路径中时,存储所述目标关键字。
7.根据权利要求5所述的一种自动化复现BIOS中选项概率性设置失败的系统,其特征在于,所述循环次数设定模块设定的循环次数为10000次。
CN201911197119.1A 2019-11-29 2019-11-29 一种自动化复现bios中选项概率性设置失败的方法及系统 Withdrawn CN110990181A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911197119.1A CN110990181A (zh) 2019-11-29 2019-11-29 一种自动化复现bios中选项概率性设置失败的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911197119.1A CN110990181A (zh) 2019-11-29 2019-11-29 一种自动化复现bios中选项概率性设置失败的方法及系统

Publications (1)

Publication Number Publication Date
CN110990181A true CN110990181A (zh) 2020-04-10

Family

ID=70088138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911197119.1A Withdrawn CN110990181A (zh) 2019-11-29 2019-11-29 一种自动化复现bios中选项概率性设置失败的方法及系统

Country Status (1)

Country Link
CN (1) CN110990181A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126568A (zh) * 2021-11-12 2023-05-16 博泰车联网(大连)有限公司 故障复现方法、装置、设备和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189441A (zh) * 2018-09-28 2019-01-11 郑州云海信息技术有限公司 一种升级基本输入输出系统bios的方法和装置
CN110413470A (zh) * 2019-06-25 2019-11-05 苏州浪潮智能科技有限公司 一种服务器iss功能测试方法、系统、终端及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189441A (zh) * 2018-09-28 2019-01-11 郑州云海信息技术有限公司 一种升级基本输入输出系统bios的方法和装置
CN110413470A (zh) * 2019-06-25 2019-11-05 苏州浪潮智能科技有限公司 一种服务器iss功能测试方法、系统、终端及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126568A (zh) * 2021-11-12 2023-05-16 博泰车联网(大连)有限公司 故障复现方法、装置、设备和可读存储介质
CN116126568B (zh) * 2021-11-12 2024-02-09 博泰车联网(大连)有限公司 故障复现方法、装置、设备和可读存储介质

Similar Documents

Publication Publication Date Title
US10552301B2 (en) Completing functional testing
US10083027B2 (en) Systems and methods for managing software development environments
CN108959080B (zh) 一种基于UnitTest并行执行的自动化测试方法
US10942837B2 (en) Analyzing time-series data in an automated application testing system
CN104572422A (zh) 一种基于Linux系统开关机下内存监测实现方法
US20180357143A1 (en) Testing computing devices
CN107395747B (zh) 一种基于stf平台的高扩展方法
CN115039084A (zh) 数据流图的部件的单元测试
WO2021008029A1 (zh) 案例执行方法、装置、设备及计算机可读存储介质
CN108572895B (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN112214227A (zh) 一种边缘服务器镜像定制化及部署系统和方法
US10387294B2 (en) Altering a test
CN110990181A (zh) 一种自动化复现bios中选项概率性设置失败的方法及系统
CN111382424A (zh) 一种基于受控环境的移动应用敏感行为检测方法和系统
US11106571B2 (en) Identification of input object in a graphical user interface
CN110134558B (zh) 一种服务器的检测方法和装置
CN116244186A (zh) 一种操作系统测试管理方法、装置与计算设备
CN116302738A (zh) 一种测试芯片的方法、系统、设备和存储介质
CN116401086A (zh) 内存漏斗错误上报机制的测试方法、装置、设备及介质
CN115437925A (zh) 用于操作系统的功能自动化测试工具
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN111666200A (zh) 一种pc软件冷启动耗时的测试方法及终端
US11775643B2 (en) Method and system for labeling object and generating security policy of operating system
CN114448788A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200410