本发明属于服务器测试技术领域,具体涉及一种bios寄存器查看测试方法及装置。
背景技术:
bios它在计算机系统中起着非常重要的作用。一块主板性能优越与否,很大程度上取决于主板上的bios管理功能是否先进,所以bios模块测试一直是服务器测试的重要环节。当前很多bios功能模块因业务场景抽象,无法进行黑盒测试,需要通过查看寄存器地址位这种白盒测试方法进行测试,传统的寄存器查看测试基本全是手动进行,需要测试人员借助工具rw/ru等针对某个选项反复、多周期的频繁测试,测试极为耗时耗力,且整个过程没有测试日志记录,多项目之间复用极为困难。
技术实现要素:
针对现有技术的不足,本发明提供一种bios寄存器查看测试方法及装置,以解决上述技术问题。
第一方面,本申请实施例提供一种bios寄存器查看测试方法,所述方法包括:
设置寄存器选项修改标准和对应寄存器地址位预期信息;
通过sce工具修改寄存器选项;
对选项修改值进行验证;
通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式;
通过将当前寄存器地址位信息与预期信息比对获取测试结果。
结合第一方面,在第一方面的第一种实施方式中,所述通过sce工具修改寄存器选项包括:
通过sce工具获取寄存器选项值;
通过sce工具将获取的寄存器选项值修改为与寄存器修改标准一致;
根据修改返回值判断修改是否成功:
是,则显示修改成功;
否,则提示修改失败。
结合第一方面,在第一方面的第二种实施方式中,所述对选项修改值进行验证包括:
通过sce工具获取当前寄存器选项值;
判断当前寄存器选项值与修改标准是否一致:
是,则判定修改完成;
否,则判定修改失败并结束测试。
结合第一方面,在第一方面的第三种实施方式中,所述通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式包括:
通过rdmsr获取当前寄存器地址位信息;
将获取的当前地址位信息格式转换为与预期信息bit位一致;
输出格式转换完成的当前地址位信息。
结合第一方面,在第一方面的第四种实施方式中,所述通过将当前寄存器地址位信息与预期信息比对获取测试结果包括:
判定转换后的当前地址位信息与预期信息是否一致:
是,则判定测试通过;
否,则判定测试失败。
第二方面,本申请实施例提供一种bios寄存器查看测试装置,所述装置包括:
标准设置单元,配置用于设置寄存器选项修改标准和对应寄存器地址位预期信息;
选项修改单元,配置用于通过sce工具修改寄存器选项;
修改验证单元,配置用于对选项修改值进行验证;
地址获取单元,配置用于通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式;
结果获取单元,配置用于通过将当前寄存器地址位信息与预期信息比对获取测试结果。
结合第二方面,在第二方面的第一种实施方式中,所述选项修改单元包括:
选项获取模块,配置用于通过sce工具获取寄存器选项值;
选项修改模块,配置用于通过sce工具将获取的寄存器选项值修改为与寄存器修改标准一致;
修改判断模块,配置用于根据修改返回值判断修改是否成功;
成功显示模块,配置用于显示修改成功;
失败显示模块,配置用于提示修改失败。
结合第二方面,在第二方面的第二种实施方式中,所述修改验证单元包括:
当前获取模块,配置用于通过sce工具获取当前寄存器选项值;
数值验证模块,配置用于判断当前寄存器选项值与修改标准是否一致;
完成提示模块,配置用于判定修改完成;
测试终止模块,配置用于判定修改失败并结束测试。
结合第二方面,在第二方面的第三种实施方式中,所述地址获取单元包括:
地址获取模块,配置用于通过rdmsr获取当前寄存器地址位信息;
格式转换模块,配置用于将获取的当前地址位信息格式转换为与预期信息bit位一致;
地址输出模块,配置用于输出格式转换完成的当前地址位信息。
结合第二方面,在第二方面的第四种实施方式中,所述结果获取单元包括:
地址比对模块,配置用于判定转换后的当前地址位信息与预期信息是否一致;
通过判定模块,配置用于判定测试通过;
失败判定模块,配置用于判定测试失败。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端终端执行上述的终端终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的bios寄存器查看测试方法、装置、终端及存储介质,通过预先设置寄存器选项修改标准和对应的寄存器地址位预期信息,利用sce工具修改寄存器选项后获取寄存器当前地址位信息,通过对比当前地址位信息和预期信息获取测试结果。本发明能够使寄存器的功能选项的验证由传统的手动操作变为自动操作,推广运用后将会大大节省人力测试成本,提升部门产能运作。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例的方法的示意性流程图。
图2是本申请一个实施例的装置的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本申请中出现的关键术语进行解释。
sce工具为系统sce命令。
图1是本申请一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种bios寄存器查看测试装置。
如图1所示,该方法100包括:
步骤110,设置寄存器选项修改标准和对应寄存器地址位预期信息;
步骤120,通过sce工具修改寄存器选项;
步骤130,对选项修改值进行验证;
步骤140,通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式;
步骤150,通过将当前寄存器地址位信息与预期信息比对获取测试结果。
可选地,作为本申请一个实施例,所述通过sce工具修改寄存器选项包括:
通过sce工具获取寄存器选项值;
通过sce工具将获取的寄存器选项值修改为与寄存器修改标准一致;
根据修改返回值判断修改是否成功:
是,则显示修改成功;
否,则提示修改失败。
可选地,作为本申请一个实施例,所述对选项修改值进行验证包括:
通过sce工具获取当前寄存器选项值;
判断当前寄存器选项值与修改标准是否一致:
是,则判定修改完成;
否,则判定修改失败并结束测试。
可选地,作为本申请一个实施例,所述通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式包括:
通过rdmsr获取当前寄存器地址位信息;
将获取的当前地址位信息格式转换为与预期信息bit位一致;
输出格式转换完成的当前地址位信息。
可选地,作为本申请一个实施例,所述通过将当前寄存器地址位信息与预期信息比对获取测试结果包括:
判定转换后的当前地址位信息与预期信息是否一致:
是,则判定测试通过;
否,则判定测试失败。
为了便于对本发明的理解,下面以本发明bios寄存器查看测试方法的原理,结合实施例中对bios寄存器选项进行测试的过程,对本发明提供的bios寄存器查看测试方法做进一步的描述。
具体的,所述bios寄存器查看测试方法包括:
s1、设置寄存器选项修改标准和对应寄存器地址位预期信息。
根据需要设置寄存器选项修改的标准值,以及该标准值对应的寄存器地址位预期信息。每个修改标准值对应唯一一个地址位预期信息。
s2、通过sce工具修改寄存器选项。
先通过sce查看寄存器选项值,再对各选项值对照步骤s1中设置的修改标注进行修改。
本实施例中,选项值具体修改方法如下:
获取mapstring值
修改mapstring值
s3、对选项修改值进行验证。
再次利用sce查看当前寄存器选项值,判断当前寄存器选项值与修改标准是否一致,若一致则表示修改成功,若不一致则表示修改失败退出测试程序。
本实施例中,具体验证方法如下:
s4、通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式。
获取寄存器地址位值
本实施例中将获取的当前地址位信息转换为2进制,具体转换方法如下:
log.printlog("[测试步骤14].通过x转换获取bit[2]的值y;");
log.printlog("[预期结果14].获取到bit[2]的值y;");
longx=long.parselong(msrregvalue);
longy=bios.hardware.cpumsr.getbitvalue(x,2);
s5、通过将当前寄存器地址位信息与预期信息比对获取测试结果。
将格式转换完成的当前地址位信息与预期信息进行比对,若两者一致,则判定测试通过,若两者不一致则判定测试未通过。输出并显示测试结果,保存测试过程中生成的日志文件。
如图2示,该装置200包括:
标准设置单元210,所述标准设置单元210用于设置寄存器选项修改标准和对应寄存器地址位预期信息;
选项修改单元220,所述选项修改单元220用于通过sce工具修改寄存器选项;
修改验证单元230,所述修改验证单元230用于对选项修改值进行验证;
地址获取单元240,所述地址获取单元240用于通过rdmsr命令获取当前寄存器地址位信息并转换所述当前寄存器地址位信息格式;
结果获取单元250,所述结果获取单元250用于通过将当前寄存器地址位信息与预期信息比对获取测试结果。
可选地,作为本申请一个实施例,所述选项修改单元包括:
选项获取模块,配置用于通过sce工具获取寄存器选项值;
选项修改模块,配置用于通过sce工具将获取的寄存器选项值修改为与寄存器修改标准一致;
修改判断模块,配置用于根据修改返回值判断修改是否成功;
成功显示模块,配置用于显示修改成功;
失败显示模块,配置用于提示修改失败。
可选地,作为本申请一个实施例,所述修改验证单元包括:
当前获取模块,配置用于通过sce工具获取当前寄存器选项值;
数值验证模块,配置用于判断当前寄存器选项值与修改标准是否一致;
完成提示模块,配置用于判定修改完成;
测试终止模块,配置用于判定修改失败并结束测试。
可选地,作为本申请一个实施例,所述地址获取单元包括:
地址获取模块,配置用于通过rdmsr获取当前寄存器地址位信息;
格式转换模块,配置用于将获取的当前地址位信息格式转换为与预期信息bit位一致;
地址输出模块,配置用于输出格式转换完成的当前地址位信息。
可选地,作为本申请一个实施例,所述结果获取单元包括:
地址比对模块,配置用于判定转换后的当前地址位信息与预期信息是否一致;
通过判定模块,配置用于判定测试通过;
失败判定模块,配置用于判定测试失败。
图3为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本申请实施例提供的更新散热策略参数的方法。
其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本申请实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
因此,本申请通过预先设置寄存器选项修改标准和对应的寄存器地址位预期信息,利用sce工具修改寄存器选项后获取寄存器当前地址位信息,通过对比当前地址位信息和预期信息获取测试结果。本发明能够使寄存器的功能选项的验证由传统的手动操作变为自动操作,推广运用后将会大大节省人力测试成本,提升部门产能运作,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。