CN113986635B - 一种bios测试方法、系统、存储介质及设备 - Google Patents
一种bios测试方法、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN113986635B CN113986635B CN202111279001.0A CN202111279001A CN113986635B CN 113986635 B CN113986635 B CN 113986635B CN 202111279001 A CN202111279001 A CN 202111279001A CN 113986635 B CN113986635 B CN 113986635B
- Authority
- CN
- China
- Prior art keywords
- module
- bios
- cpu
- tested
- telnetlib
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 126
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000010998 test method Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 101000643431 Homo sapiens Protein phosphatase Slingshot homolog 2 Proteins 0.000 description 1
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
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/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- 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/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种BIOS测试方法、系统、存储介质及设备,方法包括:将telnetlib模块和paramiko模块分别连接至待测试设备;通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。本发明解决了传统的BIOS功能测试步骤繁琐且可靠性差的问题,并且提升了BIOS测试的工作效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种BIOS测试方法、系统、存储介质及设备。
背景技术
市面上绝大多数数据中心的白盒交换机固件包括负责管理底层硬件系统的BIOS(Basic Input Output System,基本输入输出系统)。作为连接电脑硬件和软件的枢纽,BIOS主要起到自检及初始化程序、硬件中断处理以及程序服务请求的重要作用。
传统白盒交换机的BIOS系统以蓝白色图形界面呈现,仅可通过重启CPU(中央处理器)并进入BIOS界面手动进行相关功能测试,难以直接使用代码下达指令进行自动化测试,导致BIOS的测试效率低且可靠性差。
发明内容
有鉴于此,本发明的目的在于提出一种BIOS测试方法、系统、存储介质及设备,用以解决现有技术中通过人工操作来对BIOS测试导致测试效率低且可靠性差的问题。
基于上述目的,本发明提供了一种BIOS测试方法,包括以下步骤:
将telnetlib模块和paramiko模块分别连接至待测试设备;
通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;
在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;以及
利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。
在一些实施例中,通过paramiko模块重启待测试设备的CPU包括:
通过paramiko模块向待测试设备的CPU下发重启指令,以使CPU重启。
在一些实施例中,通过telnetlib模块将待测试设备的串口连接至CPU包括:
通过telnetlib模块将待测试设备的串口由其默认连接的器件切换连接至CPU。
在一些实施例中,第一机器码指令对应的第一机器码用于模拟键盘上的Delete键。
在一些实施例中,若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
在一些实施例中,方法还包括:
为测试目标项的设置过程设置超时时间;
响应于测试目标项设置完成且超时时间到达,确认对BIOS的测试结束。
在一些实施例中,待测试设备为交换机。
本发明的另一方面,还提供了一种BIOS测试系统,包括:
连接模块,配置用于将telnetlib模块和paramiko模块分别连接至待测试设备;
CPU重启模块,配置用于通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;
BIOS启动模块,配置用于在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;以及
BIOS测试模块,配置用于利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。
在一些实施例中,CPU重启模块包括指令下发模块,配置用于通过paramiko模块向待测试设备的CPU下发重启指令,以使CPU重启。
在一些实施例中,CPU重启模块还包括CPU连接模块,配置用于通过telnetlib模块将待测试设备的串口由其默认连接的器件切换连接至CPU。
在一些实施例中,第一机器码指令对应的第一机器码用于模拟键盘上的Delete键。
在一些实施例中,若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
在一些实施例中,系统还包括超时时间设置模块,配置用于为测试目标项的设置过程设置超时时间;响应于测试目标项设置完成且超时时间到达,确认对BIOS的测试结束。
在一些实施例中,待测试设备为交换机。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明实施例的BIOS测试方法,通过编写按照既定顺序模拟按键的脚本,自动执行进入BIOS完成各类操作的完整流程测试,解决了传统的BIOS功能测试步骤繁琐且可靠性差的问题,并且提升了工作效率;该方法可适用于搭载BIOS系统的各类交换机,不同BIOS系统的菜单功能分布大致相同,因此仅需部分代码改动,任何BIOS系统均可通过该方法完成基本功能测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的BIOS测试方法的示意图;
图2为根据本发明实施例提供的BIOS测试系统的示意图;
图3为根据本发明实施例提供的实现BIOS测试方法的计算机可读存储介质的示意图;
图4为根据本发明实施例提供的执行BIOS测试方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种BIOS测试方法的实施例。图1示出的是本发明提供的BIOS测试方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、将telnetlib模块和paramiko模块分别连接至待测试设备;
步骤S20、通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;
步骤S30、在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;
步骤S40、利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。
BIOS(Basic Input Output System)表示基本输入输出系统,是一种业界标准的固件接口。BIOS是计算机启动时加载的第一个软件。其实,它是一组固化到计算机内主板上一个ROM(只读存储器)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写,它是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片,是电脑主板上的一块可读写的RAM芯片;因为可读写的特性,所以在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据,这个芯片仅仅是用来存放数据的。微机部件配置情况是放在一块可读写的CMOS RAM芯片中的,不接市电或笔记本没有电池时,CMOS通过一块后备电池向CMOS供电以保持其中的信息。如果CMOS中关于微机的配置信息不正确,会导致不能开机、时间不准、零部件不能识别,并由此引发一系列的软硬件故障。在BIOS ROM芯片中装有一个程序称为“系统设置程序”,就是用来设置BIOS中的参数的,并将这些设置保存在COMS中。这个程序一般在开机时按下一个或一组键即可进入,它提供了良好的界面供用户使用。
BIOS自检及初始化部分负责启动电脑,具体有三个部分:第一个部分是用于电脑刚接通电源时对硬件部分的检测,也叫做加电自检(Power On Self Test,简称POST),功能是检查电脑是否良好,通常完整的POST自检将包括对CPU,640K基本内存,1M以上的扩展内存,ROM,主板,CMOS存储器,串并口,显示卡,软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。第二个部分是初始化,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是BIOS设置,主要是对硬件设置的一些参数,当电脑启动时会读取这些参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。第三个部分是引导程序,功能是引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把电脑的控制权转给引导记录,由引导记录把操作系统装入电脑,在电脑启动成功后,BIOS的这部分任务就完成了。
CPU(Central Processing Unit,中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
telnetlib模块提供了实现Telnet协议的Telnet类。此外,它为协议字符和telnet选项提供符号常量。Telnet协议是TCP/IP协议族中的一员,是互联网远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
paramiko模块是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作。paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux、Solaris、BSD、MacOS X、Windows等,paramiko都可以支持,因此,如果需要使用SSH(Secure Shell,安全外壳协议)从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。
本发明实施例的BIOS测试方法主要应用于交换机的BIOS功能测试,通过编写按照既定顺序模拟按键的脚本,自动执行进入BIOS完成各类操作的完整流程测试,具备以下效果:
1.交换机BIOS功能测试步骤繁琐,待测功能点较多,使用纯手工测试通过人眼验证不能完全保证测试结果的可靠性。使用该自动化测试方法调用Pytest测试框架(一款Python测试框架)可批量依次执行全部测试项而无需人力监督,测试过程全程有日志记录,保证测试结果的可靠性,利用空闲时间运行测试,极大提升工作效率。
2.该方法不仅能够支持测试工作,对于日常发布的版本基本功能检测是很好的简化。尤其在项目紧凑、版本发布频繁的时期,使用该方法在版本更新后进行基本的功能检测验证保障新版本的可用性,节省大量重复且单一的无意义劳动,从而空出更多时间投入在重要的研发与测试工作中。
3.该方法可适用于搭载BIOS系统的各类交换机,不同BIOS系统的菜单功能分布大致相同,因此仅需部分代码改动,任何BIOS系统均可通过该方法完成基本功能测试。
在一些实施例中,通过paramiko模块重启待测试设备的CPU包括:通过paramiko模块向待测试设备的CPU下发重启指令,以使CPU重启。
在一些实施例中,通过telnetlib模块将待测试设备的串口连接至CPU包括:通过telnetlib模块将待测试设备的串口由其默认连接的器件切换连接至CPU。
本实施例中,待测试设备的串口原来连接的是其他器件,通过telnetlib模块可以将串口的连接切换至CPU端。
在一些实施例中,第一机器码指令对应的第一机器码用于模拟键盘上的Delete键。
本实施例中,Delete键为键盘上的删除键。
在一些实施例中,若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
在一些实施例中,方法还包括:为测试目标项的设置过程设置超时时间;响应于测试目标项设置完成且超时时间到达,确认对BIOS的测试结束。
在一些实施例中,待测试设备为交换机。
本发明一示例性实施例的BIOS测试方法如下:
1)使用PyCharm环境连接至待测交换机(即待测试设备):
在Python环境下通过telnetlib模块连接至交换机以实时监控串口打印信息或模拟下发指令,通过paramiko模块连接至交换机BMC(基板管理控制器)或CPU下发指令。PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
2)重启CPU:
使用paramiko模块模拟BMC下发指令重启CPU,并使用telnetlib模块将串口切换至CPU端进行实时监控。
3)进入BIOS Setup界面(即BIOS设置界面):
使用telnetlib模块实时监控CPU启动日志打印信息,识别到"InsydeH2O"的BIOS启动信息后,通过下发Delete键的机器码模拟按下Delete键,成功进入BIOS Setup界面。
4)进入Advanced-H20 IPMI Configuration-BMC Configuration菜单栏并设置功能项:
使用telnetlib模块通过一系列模拟方向键与回车键的下发机器码指令操作,进入BMC Configuration,并模拟输入BMC超时时间5分钟,按回车键保存。具体机器码请参考下方代码中的注释讲解:
5)模拟按下F10保存并退出:
使用telnetlib模块通过下发F10按键的机器码保存BIOS设置并退出,随后模拟按下回车键进行确认。
6)BMC下发指令查询看门狗状态完成超时时间验证:
使用paramiko模块模拟BMC下发指令,确认看门狗超时时间为5分钟,验证通过,BIOS测试结束。
本发明实施例的第二个方面,还提供了一种BIOS测试系统。图2示出的是本发明提供的BIOS测试系统的实施例的示意图。如图2所示,一种BIOS测试系统包括:连接模块10,配置用于将telnetlib模块和paramiko模块分别连接至待测试设备;CPU重启模块20,配置用于通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;BIOS启动模块30,配置用于在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;以及BIOS测试模块40,配置用于利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。
在一些实施例中,CPU重启模块20包括指令下发模块,配置用于通过paramiko模块向待测试设备的CPU下发重启指令,以使CPU重启。
在一些实施例中,CPU重启模块20还包括CPU连接模块,配置用于通过telnetlib模块将待测试设备的串口由其默认连接的器件切换连接至CPU。
在一些实施例中,第一机器码指令对应的第一机器码用于模拟键盘上的Delete键。
在一些实施例中,若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
在一些实施例中,系统还包括超时时间设置模块,配置用于为测试目标项的设置过程设置超时时间;响应于测试目标项设置完成且超时时间到达,确认对BIOS的测试结束。
在一些实施例中,待测试设备为交换机。
本发明实施例的BIOS测试系统主要应用于交换机的BIOS功能测试,通过编写按照既定顺序模拟按键的脚本,自动执行进入BIOS完成各类操作的完整流程测试,具备以下效果:
1.交换机BIOS功能测试步骤繁琐,待测功能点较多,使用纯手工测试通过人眼验证不能完全保证测试结果的可靠性。使用该测试系统调用Pytest测试框架(一款Python测试框架)可批量依次执行全部测试项而无需人力监督,测试过程全程有日志记录,保证测试结果的可靠性,利用空闲时间运行测试,极大提升工作效率。
2.该系统不仅能够支持测试工作,对于日常发布的版本基本功能检测是很好的简化。尤其在项目紧凑、版本发布频繁的时期,使用该系统在版本更新后进行基本的功能检测验证保障新版本的可用性,节省大量重复且单一的无意义劳动,从而空出更多时间投入在重要的研发与测试工作中。
3.该系统可适用于搭载BIOS系统的各类交换机,不同BIOS系统的菜单功能分布大致相同,因此仅需部分代码改动,任何BIOS系统均可通过该方法完成基本功能测试。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图3示出了根据本发明实施例提供的实现BIOS测试方法的计算机可读存储介质的示意图。如图3所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现如下步骤:
将telnetlib模块和paramiko模块分别连接至待测试设备;
通过paramiko模块重启待测试设备的CPU,并通过telnetlib模块将待测试设备的串口连接至CPU;
在CPU的重启过程中利用telnetlib模块通过串口监控CPU打印的日志信息,并响应于识别到日志信息中具有待测试设备的BIOS的启动信息,基于启动信息下发第一机器码指令以进入BIOS的设置界面;以及
利用telnetlib模块下发若干第二机器码指令以在设置界面设置针对待测试设备的测试目标项,并基于测试目标项对BIOS进行测试。
在一些实施例中,通过paramiko模块重启待测试设备的CPU包括:通过paramiko模块向待测试设备的CPU下发重启指令,以使CPU重启。
在一些实施例中,通过telnetlib模块将待测试设备的串口连接至CPU包括:通过telnetlib模块将待测试设备的串口由其默认连接的器件切换连接至CPU。
在一些实施例中,第一机器码指令对应的第一机器码用于模拟键盘上的Delete键。
在一些实施例中,若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
在一些实施例中,步骤还包括:为测试目标项的设置过程设置超时时间;响应于测试目标项设置完成且超时时间到达,确认对BIOS的测试结束。
在一些实施例中,待测试设备为交换机。
应当理解,在相互不冲突的情况下,以上针对根据本发明的BIOS测试方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的BIOS测试系统和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图4所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图4所示,为本发明提供的执行BIOS测试方法的计算机设备的一个实施例的硬件结构示意图。以如图4所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与BIOS测试系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的BIOS测试方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储BIOS测试方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的BIOS测试方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (8)
1.一种BIOS测试方法,其特征在于,包括以下步骤:
将telnetlib模块和paramiko模块分别连接至待测试设备;
通过所述paramiko模块重启所述待测试设备的CPU,并通过所述telnetlib模块将所述待测试设备的串口连接至所述CPU;
在所述CPU的重启过程中利用所述telnetlib模块通过所述串口监控所述CPU打印的日志信息,并响应于识别到所述日志信息中具有所述待测试设备的BIOS的启动信息,基于所述启动信息下发第一机器码指令以进入所述BIOS的设置界面,其中,所述第一机器码指令对应的第一机器码用于模拟键盘上的Delete键;以及
利用所述telnetlib模块下发若干第二机器码指令以在所述设置界面设置针对所述待测试设备的测试目标项,并基于所述测试目标项对所述BIOS进行测试,其中,所述若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
2.根据权利要求1所述的方法,其特征在于,通过所述paramiko模块重启所述待测试设备的CPU包括:
通过所述paramiko模块向所述待测试设备的CPU下发重启指令,以使所述CPU重启。
3.根据权利要求1所述的方法,其特征在于,通过所述telnetlib模块将所述待测试设备的串口连接至所述CPU包括:
通过所述telnetlib模块将所述待测试设备的串口由其默认连接的器件切换连接至所述CPU。
4.根据权利要求1所述的方法,其特征在于,还包括:
为所述测试目标项的设置过程设置超时时间;
响应于所述测试目标项设置完成且所述超时时间到达,确认对所述BIOS的测试结束。
5.根据权利要求1所述的方法,其特征在于,所述待测试设备为交换机。
6.一种BIOS测试系统,其特征在于,包括:
连接模块,配置用于将telnetlib模块和paramiko模块分别连接至待测试设备;
CPU重启模块,配置用于通过所述paramiko模块重启所述待测试设备的CPU,并通过所述telnetlib模块将所述待测试设备的串口连接至所述CPU;
BIOS启动模块,配置用于在所述CPU的重启过程中利用所述telnetlib模块通过所述串口监控所述CPU打印的日志信息,并响应于识别到所述日志信息中具有所述待测试设备的BIOS的启动信息,基于所述启动信息下发第一机器码指令以进入所述BIOS的设置界面,其中,所述第一机器码指令对应的第一机器码用于模拟键盘上的Delete键;以及
BIOS测试模块,配置用于利用所述telnetlib模块下发若干第二机器码指令以在所述设置界面设置针对所述待测试设备的测试目标项,并基于所述测试目标项对所述BIOS进行测试,其中,所述若干第二机器码指令对应的若干第二机器码分别用于模拟键盘上的方向键及回车键。
7.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-5任意一项所述的方法。
8.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111279001.0A CN113986635B (zh) | 2021-10-31 | 2021-10-31 | 一种bios测试方法、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111279001.0A CN113986635B (zh) | 2021-10-31 | 2021-10-31 | 一种bios测试方法、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986635A CN113986635A (zh) | 2022-01-28 |
CN113986635B true CN113986635B (zh) | 2024-01-09 |
Family
ID=79745052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111279001.0A Active CN113986635B (zh) | 2021-10-31 | 2021-10-31 | 一种bios测试方法、系统、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986635B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414285A (zh) * | 2020-02-21 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 服务器系统启动功能的测试方法、测试装置及测试设备 |
CN112948157A (zh) * | 2021-01-29 | 2021-06-11 | 苏州浪潮智能科技有限公司 | 服务器故障定位方法、装置、系统及计算机可读存储介质 |
-
2021
- 2021-10-31 CN CN202111279001.0A patent/CN113986635B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414285A (zh) * | 2020-02-21 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 服务器系统启动功能的测试方法、测试装置及测试设备 |
CN112948157A (zh) * | 2021-01-29 | 2021-06-11 | 苏州浪潮智能科技有限公司 | 服务器故障定位方法、装置、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113986635A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240086269A1 (en) | Method, Apparatus and System for Locating Fault of Server, and Computer-readable Storage Medium | |
CN107171833B (zh) | 一种通过bmc实现服务器bmc和bios批量升级方法 | |
CN104185836B (zh) | 用于在系统改变之后验证计算设备的适当操作的方法和系统 | |
CN109669873B (zh) | 用户界面自动测试方法及装置、电子设备及存储介质 | |
CN107111595B (zh) | 用于检测早期引导错误的方法、设备及系统 | |
CN110704304A (zh) | 一种应用程序测试方法、装置、存储介质和服务器 | |
CN103257922B (zh) | 一种快速测试bios与os接口代码可靠性的方法 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
CN113315675B (zh) | 一种白盒交换机U-Boot自动化测试方法、系统和存储介质 | |
CN109753415B (zh) | 处理器验证系统及基于处理器验证系统的处理器验证方法 | |
CN113986635B (zh) | 一种bios测试方法、系统、存储介质及设备 | |
CN112463508B (zh) | 一种服务器休眠状态测试方法、系统、终端及存储介质 | |
CN114942871A (zh) | 一种nfc芯片的测试方法、装置、可读介质及电子设备 | |
CN114265786A (zh) | 自动化测试方法、装置,计算机设备及可读存储介质 | |
CN115168146A (zh) | 一种异常检测方法和装置 | |
CN113722212B (zh) | 一种cpld升级测试方法、装置、设备及介质 | |
CN112765021A (zh) | 一种引导程序的调试检验方法、装置、设备及存储介质 | |
CN116932010B (zh) | 系统固件升级方法、装置及服务器 | |
CN114385379B (zh) | 板载信息刷写检测方法、系统、终端及存储介质 | |
CN114385500A (zh) | 一种基于串口的测试自动化方法及电子设备 | |
CN116467186A (zh) | Bios调试方法、装置、设备及介质 | |
CN114327653A (zh) | 一种电子设备启动方式的切换方法、装置以及切换设备 | |
CN115509837A (zh) | 一种bmc的测试方法、装置及介质 | |
CN113568670A (zh) | 一种计算机启动过程阶段显示方法、装置及存储介质 | |
CN112835758A (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 |