CN115712559A - 测试硬件管理软件的方法、装置及电子设备 - Google Patents
测试硬件管理软件的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115712559A CN115712559A CN202211275447.0A CN202211275447A CN115712559A CN 115712559 A CN115712559 A CN 115712559A CN 202211275447 A CN202211275447 A CN 202211275447A CN 115712559 A CN115712559 A CN 115712559A
- Authority
- CN
- China
- Prior art keywords
- hardware
- component
- hardware component
- network card
- target
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 238000011068 loading method Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 63
- 230000003068 static effect Effects 0.000 claims description 16
- 238000007726 management method Methods 0.000 description 79
- 238000010586 diagram Methods 0.000 description 11
- 230000017525 heat dissipation Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010998 test method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001290266 Sciaenops ocellatus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种测试硬件管理软件的方法、装置及电子设备,在测试硬件管理软件的方法中,确定第一测试需求,该第一测试需求至少指示出,待测试的目标管理功能,以及目标管理功能所关联的第一硬件部件,这里的第一硬件部件不在位。执行第一测试需求,其中包括:查询映射表,确定第一硬件部件对应的第一描述文件,将第一描述文件加载到硬件管理软件中,以虚拟化出第一硬件部件对应的第一虚拟部件。对硬件管理软件针对第一虚拟部件的目标管理功能进行测试。由此,可以实现在某硬件部件不在位的情况下,对硬件管理软件针对该硬件部件的管理功能进行测试,这提高了测试硬件管理软件的灵活性。
Description
技术领域
本申请一个或多个实施例涉及测试技术领域,尤其涉及一种测试硬件管理软件的方法、装置及电子设备。
背景技术
硬件管理软件用于针对服务器中的各个硬件部件分别提供若干项带外管理功能(简称带外管理或管理功能)。这里的硬件部件例如可以为:CPU、内存、硬盘、风扇、机框、网卡以及网卡连接器等等。这里的管理功能例如可以为散热管理功能、告警管理功能等等。
为了检验硬件管理软件对各个硬件部件的管理功能是否满足规定需求,需要针对上述硬件管理软件进行测试。然而,传统技术中,通常只能在某个硬件部件在位的情况下,才能针对硬件管理软件对该硬件部件的管理功能进行测试。因此,需要提供一种更灵活地测试硬件管理软件的方案。
发明内容
本申请一个或多个实施例描述了一种测试硬件管理软件的方法、装置及电子设备,可以在某硬件部件不在位的情况下,对硬件管理软件针对该硬件部件的管理功能进行测试,由此提高了测试硬件管理软件的灵活性。
第一方面,本申请提供一种测试硬件管理软件的方法,该硬件管理软件安装于目标服务器中,用于针对目标服务器中的各个硬件部件分别提供若干项管理功能;该方法包括:确定第一测试需求,该第一测试需求至少指示出,待测试的目标管理功能,以及目标管理功能所关联的第一硬件部件,这里的第一硬件部件不在位。执行第一测试需求,其中包括:查询映射表,确定第一硬件部件对应的第一描述文件,该映射表中存储有各个硬件部件各自对应的各描述文件,其中的每个描述文件用于记录对应硬件部件的各项静态属性。将第一描述文件加载到硬件管理软件中,以虚拟化出第一硬件部件对应的第一虚拟部件。对硬件管理软件针对第一虚拟部件的目标管理功能进行测试。由此,可以在某硬件部件不在位的情况下,对硬件管理软件针对该硬件部件的管理功能进行测试,这提高了测试硬件管理软件的灵活性。
在一种可能的实现方式中,在确定第一测试需求之前,还包括:获取当前硬件状态,该当前硬件状态至少指示出,各个硬件部件在位或者不在位。根据当前硬件状态,从各个硬件部件中确定出在位的目标硬件部件。执行所涉及的硬件部件为目标硬件部件的目标测试需求。也就是说,本方案可以优先执行所涉及的硬件部件在位的测试需求,由此可以实现选择性地执行测试需求,进而可以提升硬件管理软件测试的灵活性。
在一种可能的实现方式中,在执行第一测试需求之后,还包括:确定第二测试需求,该第二测试需求所涉及的第二硬件部件与第一硬件部件相关联。执行第二测试需求。本方案在执行第一测试需求之后,选择所涉及的第二硬件部件与第一硬件部件相关联的第二测试需求并执行,事实上实现了结合硬件状态来选择执行测试需求,也即实现了智能选择某项管理功能进行测试,这相比于传统技术只能按序执行测试需求,大大提升了硬件管理软件测试的灵活性。
在一种可能的实现方式中,确定第一硬件部件对应的第一描述文件,包括:基于第一硬件部件的硬件标识,查询映射表,得到第一硬件部件对应的第一描述文件;或者,基于第一硬件部件的硬件标识和硬件类型的组合,确定目标标识。基于目标标识,查询映射表,得到第一硬件部件对应的第一描述文件。也即,本方案可以提升映射表查询的灵活性。
在一种可能的实现方式中,硬件标识为第一硬件部件的板块编号BoardId;或者,硬件标识为第一硬件部件的VID、DID、subVID和subDID的组合。也即,本方案可以通过多种方式设定第一硬件部件的硬件标识。
在一种可能的实现方式中,确定目标标识,包括:获取第一硬件部件的硬件类型的编码;将第一硬件部件的硬件类型的编码与硬件标识进行按序拼接,得到目标标识。
在一种可能的实现方式中,第一硬件部件为网卡,第一虚拟部件为虚拟网卡。对硬件管理软件针对第一虚拟部件的所述目标管理功能进行测试包括,包括:判断服务器中是否存在空闲槽位。在服务器中存在空闲槽位的情况下,建立虚拟网卡与空闲槽位的关联关系,以虚拟化地将虚拟网卡插入到空闲槽位中。对硬件管理软件针对插入到空闲槽位的虚拟网卡的目标管理功能进行测试。由此,可以实现对不在位的网卡进行管理功能的测试。
在一种可能的实现方式中,判断服务器中是否存在空闲槽位,包括:获取当前硬件状态,并基于其确定服务器中的网卡连接器是否在位。在网卡连接器在位的情况下,获取网卡连接器的槽位状态信息,并基于其确定服务器中是否存在空闲槽位。在网卡连接器不在位的情况下,确定服务器中不存在空闲槽位。
在一种可能的实现方式中,方法还包括:若服务器中不存在空闲槽位,则获取网卡连接器的第二描述文件,并将第二描述文件加载到硬件管理软件中,以虚拟化出网卡连接器对应的虚拟连接器。建立虚拟网卡与虚拟连接器的槽位的对应关系,以虚拟化地将虚拟网卡插入到虚拟连接器的槽位中。对硬件管理软件针对插入到虚拟连接器的槽位的虚拟网卡的目标管理功能进行测试。
第二方面,本申请提供一种测试硬件管理软件的装置,该硬件管理软件安装于目标服务器中,用于针对目标服务器中的各个硬件部件分别提供若干项管理功能,该装置包括:确定单元,用于确定第一测试需求,该第一测试需求至少指示出,待测试的目标管理功能,以及目标管理功能所关联的第一硬件部件,这里的第一硬件部件不在位。执行单元,用于执行第一测试需求。该执行单元包括:查询子模块,用于查询映射表,确定第一硬件部件对应的第一描述文件。映射表中存储有各个硬件部件各自对应的各描述文件,其中的每个描述文件用于记录对应硬件部件的各项静态属性。加载子模块,用于将第一描述文件加载到硬件管理软件中,以虚拟化出第一硬件部件对应的第一虚拟部件。测试子模块,用于对硬件管理软件针对第一虚拟部件的目标管理功能进行测试。
在一种可能的实现方式中,查询子模块具体用于:基于第一硬件部件的硬件标识,查询映射表,得到第一硬件部件对应的第一描述文件;或者,基于第一硬件部件的硬件标识和硬件类型的组合,确定目标标识。基于确定的目标标识,查询映射表,得到第一硬件部件对应的第一描述文件。
在一种可能的实现方式中,硬件标识为第一硬件部件的板块编号BoardId;或者,上述硬件标识为第一硬件部件的VID、DID、subVID和subDID的组合。
在一种可能的实现方式中,查询子模块还具体用于:获取第一硬件部件的硬件类型的编码;将第一硬件部件的硬件类型的编码与硬件标识进行按序拼接,得到目标标识。
在一种可能的实现方式中,该装置还可以包括:获取单元,用于获取当前硬件状态,该当前硬件状态至少指示出,各个硬件部件在位或者不在位。确定单元,还用于根据当前硬件状态,从各个硬件部件中确定出在位的目标硬件部件。
在一种可能的实现方式中,确定单元,还用于确定第二测试需求。其中,该第二测试需求所涉及的第二硬件部件与第一硬件部件相关联。执行单元,还用于执行第二测试需求。
在一种可能的实现方式中,第一硬件部件为网卡,第一虚拟部件为虚拟网卡。测试子模块具体用于:判断服务器中是否存在空闲槽位。在服务器中存在空闲槽位的情况下,建立虚拟网卡与空闲槽位的关联关系,以虚拟化地将虚拟网卡插入到空闲槽位中。对硬件管理软件针对插入到空闲槽位的虚拟网卡的目标管理功能进行测试。
在一种可能的实现方式中,测试子模块还具体用于:获取当前硬件状态,并基于其确定服务器中的网卡连接器是否在位。在网卡连接器在位的情况下,获取网卡连接器的槽位状态信息,并基于其确定服务器中是否存在空闲槽位。在网卡连接器不在位的情况下,确定服务器中不存在空闲槽位。
在一种可能的实现方式中,测试子模块还具体用于:若服务器中不存在空闲槽位,则获取网卡连接器的第二描述文件,并将第二描述文件加载到硬件管理软件中,以虚拟化出网卡连接器对应的虚拟连接器。建立虚拟网卡与虚拟连接器的槽位的对应关系,以虚拟化地将虚拟网卡插入到虚拟连接器的槽位中。对硬件管理软件针对插入到虚拟连接器的槽位的虚拟网卡的目标管理功能进行测试。
第三方面,本申请提供一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。示例性的,该电子设备可以但不限于为服务器。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请披露的一个实施例的实施场景示意图;
图2示出在一个示例中硬件管理软件的管理方法示意图;
图3示出根据一个实施例的测试硬件管理软件的方法流程图;
图4示出虚拟部件和真实部件的加载方法流程图;
图5示出在一个例子中测试硬件管理软件的方法流程图;
图6示出网卡的静态属性示意图;
图7示出根据一个实施例的测试硬件管理软件的装置示意图。
具体实施方式
下面结合附图,对本申请提供的方案进行描述。
图1为本申请披露的一个实施例的实施场景示意图。图1中,服务器中可以安装有硬件管理软件。在一个例子中,该硬件管理软件例如可以为基板管理控制器(BaseboardManager Controller,简称BMC)。BMC是一款兼容服务器业界管理标准智能平台管理接口(Intelligent Platform Management Interface,IPMI)、简单网络管理协议(SimpleNetwork Management Protocol,SNMP)、Redfish协议、支持键盘、鼠标和视频的重定向、文本控制台的重定向、远程虚拟媒体、高可靠性的硬件部件管理和监控的智能管理软件。
上述硬件管理软件可以包括部件管理模块,该部件管理模块主要用于获取硬件部件的部件属性。这里的部件属性至少包括部件基本信息,该部件基本信息可以包括但不限于名称、厂商、槽位状态信息、类型、部件编码、板块编号(BoardID)、印刷线路板(PrintedCircuit Board,PCB)以及软件版本号等。可以理解的是,在部件管理模块获取到某硬件部件的部件属性之后,可以基于部件属性对该硬件部件进行带外的接口显示和传感器监控。
图2示出在一个示例中硬件管理软件的管理方法示意图。图2中,服务器单板上安装有真实的硬件部件。硬件管理软件可以通过与复杂可编程逻辑器件(ComplexProgramming logic device,CPLD)、管理引擎(Management Engine,ME)或者基本输入输出系统(Basic Input Output System,BIOS)交互,获取硬件部件的部件属性,从而触发硬件管理软件的带外管理功能。
以硬件部件为硬盘为例来说,硬件管理软件利用CPLD可以获取到硬盘的BoardID(一种硬件标识),之后硬件管理软件基于BoardID,可以读取到硬盘的部件属性,从而可以在用户界面中呈现出该硬盘,进而可以对该硬盘进行告警管理、散热管理等。
再以硬件部件为网卡为例来说,硬件管理软件利用BIOS可以获取到网卡的四元组信息:厂商标识(Vendor Identifier,VID)、设备标识(Device Identifier,DID)、子VID(subVID)和子DID(subDID)。之后,硬件管理软件基于四元组信息,可以读取到网卡的部件属性,从而可以在用户界面中呈现出该网卡,进而可以对该网卡进行告警管理、散热管理等。
综合以上,硬件管理软件针对硬件部件的管理可以划分为两部分:下层硬件交付和上层的带外管理。其中,对于上层的带外管理,通常需要验证其是否满足规定需求,也即需要对带外管理进行测试。然而,传统技术中,通常只能在某个硬件部件在位的情况下,才能针对硬件管理软件对该硬件部件的管理功能进行测试。由此会影响硬件管理软件的测试效率。
为此,本申请的发明人提出,在服务器中的硬件部件不在位的情况下,跳过下层硬件交付,直接通过加载记录硬件部件的各项静态属性的描述文件(也称配置文件),以虚拟化出该硬件部件,进而实现对带外管理进行测试。
应理解,上述之所以称为静态属性,是因为该静态属性并不是真实在位的硬件部件的部件属性,而是通过人工的方式模拟出的部件属性。
以下对本方案进行详细说明。
图3示出根据一个实施例的测试硬件管理软件的方法流程图。该方法可以通过任何具有计算、处理能力的系统、设备、平台、设备集群来执行。如图3所示,该方法可以包括如下步骤。
步骤302,确定第一测试需求。
上述的第一测试需求也可以称为第一测试用例,其是在测试安装在服务器中的硬件管理软件之前,人工预先编写得到的。该第一测试需求至少指示出,待测试的目标管理功能,以及目标管理功能所关联的第一硬件部件。这里的第一硬件部件为服务器中的各个硬件部件中任一不在位的硬件部件。
上述第一硬件部件例如可以为CPU、内存、硬盘、风扇、机框、网卡或者网卡连接器等等。上述目标管理功能例如可以为散热管理功能、告警管理功能等等。
上述第一硬件部件可以具有对应的硬件标识。在一个示例中,该硬件标识可以为第一硬件部件的板块编号(BoardId)。在另一个示例中,该硬件标识可以为VID、DID、subVID和subDID的组合。
在一些实施例中,在确定第一测试需求之前,可以先执行如下步骤:获取当前硬件状态,该当前硬件状态至少指示出,服务器中的各个硬件部件在位或者不在位。根据当前硬件状态,从各个硬件部件中确定出在位的目标硬件部件,执行所涉及的硬件部件为目标硬件部件的目标测试需求。
也就是说,本方案可以优先执行所涉及的硬件部件在位的测试需求,由此可以实现选择性地执行测试需求,进而可以提升硬件管理软件测试的灵活性。
可以理解的是,上述确定第一测试需求的步骤可以是在所涉及的硬件部件在位的测试需求执行后进行的。
步骤304,执行第一测试需求。
其中,执行第一测试需求可以包括如下步骤:
步骤3042,查询映射表,确定第一硬件部件对应的第一描述文件。
上述映射表中存储有各个硬件部件各自对应的各描述文件,其中的每个描述文件用于记录对应硬件部件的各项静态属性。
上述硬件部件的各项静态属性至少包括:部件基本信息和硬件标识。
此外,上述描述文件可以具有对应的唯一标识。其中,在一个示例中,描述文件的唯一标识可以为对应硬件部件的硬件标识。在另一个示例中,描述文件的唯一标识可以基于对应硬件部件的硬件标识和硬件类型的组合确定。
以下结合例子对上述另一个示例中的描述文件的唯一标识的确定方法进行说明。
具体地,可以先对硬件类型进行编码,比如,将网卡连接器编码为:“14140129”,将网卡编码为:“14140130”,将硬盘背板编码为:“1406G002”。之后,可以将硬件类型的编码与硬件标识(如,BoardID或四元组信息)进行拼接,由此就可以得到描述文件的唯一标识。
可以理解的是,在描述文件的唯一标识为对应硬件部件的硬件标识的情况下,上述确定第一硬件部件对应的第一描述文件可以包括:基于第一硬件部件的硬件标识,查询映射表,得到第一硬件部件对应的第一描述文件。
在描述文件的唯一标识基于对应硬件部件的硬件标识和硬件类型的组合的情况下,上述确定第一硬件部件对应的第一描述文件可以包括:基于第一硬件部件的硬件标识和硬件类型的组合,确定目标标识。基于目标标识,查询映射表,得到第一硬件部件对应的第一描述文件。
这里,具体是将第一硬件部件的硬件类型的编码与硬件标识进行按序拼接,得到上述目标标识。
关于上述映射表,在一种具体实现方式中,其中的各描述文件可以通过Key_Value对的形式来记录。其中的Key值为描述文件的唯一标识,Value值为描述文件。
最后,上述描述文件可以为xml格式的文件,也可以为JSON格式的文件,本说明书对此不作限定。
步骤3044,将第一描述文件加载到硬件管理软件中,以虚拟化出第一硬件部件对应的第一虚拟部件。
也即将第一硬件部件的各项静态属性加载到硬件管理软件中,由此可以实现第一硬件部件对应的第一虚拟部件在硬件管理软件中的呈现。
步骤3046,对硬件管理软件针对第一虚拟部件的目标管理功能进行测试。
即测试硬件管理软件针对第一虚拟部件的散热管理功能或告警管理功能等是否符合预期。
举例来说,假设硬件管理软件通过如下方式对网卡进行散热管理:在检测到网卡的温度超过50度时,启动风扇转动,由此实现对网卡的散热管理。那么在网卡对应的描述文件中的温度为50度时,可以测试硬件管理软件是否会启动风扇转动,如果是,则针对网卡的散热管理测试通过,否则测试不通过。
至此,第一测试需求执行完成。之后,可以确定第二测试需求,其中,该第二测试需求所涉及的第二硬件部件与第一硬件部件相关联。执行该第二测试需求。
这里的第二硬件部件与第一硬件部件相关联可以包括:第二硬件部件与第一硬件部件相同;或者,第二硬件部件是第一硬件部件的基础部件,也即在第二硬件部件在位的基础上,才能运行第一硬件部件。比如,网卡连接器为网卡的基础部件。
本方案在执行第一测试需求之后,选择所涉及的第二硬件部件与第一硬件部件相关联的第二测试需求并执行,事实上实现了结合硬件状态来选择执行测试需求,也即实现了智能选择某项管理功能进行测试,这相比于传统技术只能按序执行测试需求,大大提升了硬件管理软件测试的灵活性。
本申请提出的测试硬件管理软件的方法,预先对服务器中的各个硬件部件进行分析,得到各个硬件部件各自对应的各描述文件。这里,通过对硬件部件进行分析,得到描述文件的过程也称为部件建模。相应地,所得到的描述文件可以称为模型文件。此外,根据各个硬件部件的硬件标识,可以建立映射表,该映射表用于记录上述各个描述文件。之后,在执行某一个测试需求时,先基于硬件标识,从映射表查找该测试需求所涉及硬件部件对应的描述文件,然后在硬件管理软件中加载该描述文件,以虚拟化出该硬件部件对应的虚拟部件,之后对针对该虚拟部件的目标管理功能(需求指示的管理功能)进行测试。由此,实现了可以在某硬件部件不在位的情况下,对硬件管理软件针对该硬件部件的管理功能进行测试,由此提高了测试硬件管理软件的灵活性。
综合以上,本申请实施例提供的方案可以解决如下问题:
第一,可以解决真实硬件不在位研发测试活动阻塞问题。本方案通过对硬件部件进行解析建模,梳理部件的静态属性以及硬件标识,通过xml文件(或者其他格式的文件)进行部件虚拟化,通过加载xml文件(或者其他格式的文件)也能实验硬件管理软件带外管理部分特性功能。由此使得测试需求脱离了硬件环境限制。
第二,解决测试效率低的问题。把复杂繁琐的部件虚拟化过程通过自动化方式实现,前期进行需求部件分析建模,获取到部件模型信息,如xml格式的文件,然后测试过程已知部件硬件标识(如,BoardId)就能加载和虚拟化出硬件部件。
第三,可以根据当前硬件状态,然后选择性触发某一硬件部件虚拟,从而能选择性的触发某一项管理功能测试。也即本方案可以基于测试需求判断是否需要虚拟化模拟部件以及虚拟化哪一种类型的部件,由此使得测试更加智能化和多元化。
与所解决的问题对应地,本申请实施例提供的方案具有如下的有益效果:
第一,脱离了硬件限制,在没有真实硬件部件存在的情况下通过部件的建模和虚拟化模拟达到真实硬件的测试效果。
第二,通过自动化方式实现广泛的硬件部件虚拟化和模型文件的映射和读取,脱离测试单功能和单需求的限制,可以根据测试需求任意虚拟化所涉及的硬件部件,减少了测试环境搭建成本,极大提升了测试效率。
以下对本方案提出的虚拟部件的加载方法和真实部件的加载方法进行总结说明。
图4示出虚拟部件和真实部件的加载方法流程图。图4中,在真实部件的加载方法中,硬件管理软件可以通过与CPLD、ME或者BIOS交互,获取硬件部件的部件属性,从而触发对硬件管理软件的带外管理。在虚拟部件的加载方法中,通过描述文件替代真实硬件。具体地,先基于硬件部件的硬件标识,查找该硬件部件的描述文件进行虚拟加载,从而达到替代真实部件进行带外管理。
以下以硬件部件为网卡为例,对本申请实施例提供的方案进行说明。
图5示出在一个例子中测试硬件管理软件的方法流程图。该方法的实施场景可以如下:测试需求为对一张特定型号的网卡进行告警管理测试。在获取到该测试需求后,首先获取服务器的当前硬件状态,以确定该网卡是否在位。假设其不在位,那么需要虚拟化该网卡进行告警管理测试。
如图5所示,该方法可以包括如下步骤。
步骤502,确定第一测试需求。
该第一测试需求至少指示出,待测试的告警管理功能,以及上述网卡。在一个例子中,这里的网卡例如可以为Pcie网卡。
步骤504,执行第一测试需求。
其中,执行第一测试需求可以包括如下步骤。
步骤5042,查询映射表,确定网卡对应的网卡描述文件。
这里的网卡描述文件用于记录网卡的各项静态属性。
比如,可以基于网卡的四元组信息,查询映射表,确定网卡对应的网卡描述文件。
图6示出网卡的静态属性示意图。图6中,网卡的各项静态属性包括:网卡基本信息、网卡的唯一标识、支持功能信息以及散热调速信息等。其中的网卡基本信息包括以下中的若干项:对外名称、芯片型号、厂商以及网卡类型等。网卡的唯一标识可以为四元组信息。支持功能信息包括以下中的若干项:是否支持网络连接状态指示器(NetworkConnectivity Status Indicator,NCSI)、管理组件传输协议(Management ComponentTransport Protocol,MCTP)和是否支持带外获取光模块信息等。散热调速信息例如可以为是否带有温度传感器等。
回到图5中,图5示出的方法还可以包括如下步骤:
步骤5044,将网卡描述文件加载到硬件管理软件中,以虚拟化出虚拟网卡。
步骤5046,判断服务器中是否存在空闲槽位;在服务器中存在空闲槽位的情况下,执行步骤5048;在服务器中不存在空闲槽位的情况下,执行步骤5052。
上述判断服务器中是否存在空闲槽位可以包括:获取当前硬件状态,并基于该当前硬件状态确定服务器中的网卡连接器是否在位。在网卡连接器在位的情况下,获取网卡连接器的槽位状态信息,并基于该槽位状态信息确定服务器中是否存在空闲槽位。在网卡连接器不在位的情况下,确定服务器中不存在空闲槽位。
可以理解的是,上述槽位状态信息可以为硬件管理软件预先获取的网卡连接器的部件属性中的一项。在一个例子中,这里的网卡连接器例如可以为Riser卡。
步骤5048,建立虚拟网卡与空闲槽位的关联关系,以虚拟化地将虚拟网卡插入到空闲槽位中。
步骤5050,对硬件管理软件针对插入到空闲槽位的虚拟网卡的告警管理功能进行测试。
步骤5052,获取网卡连接器的连接器描述文件,并将该连接器描述文件加载到硬件管理软件中,以虚拟化出虚拟连接器。
应理解,这里的连接器描述文件用于记录网卡连接器的各项静态属性。
步骤5054,建立虚拟网卡与虚拟连接器的槽位的对应关系,以虚拟化地将虚拟网卡插入到虚拟连接器的槽位中。
步骤5056,对硬件管理软件针对插入到虚拟连接器的槽位的虚拟网卡的告警管理功能进行测试。
应理解,在执行完成上述第一测试需求之后,可以从还未执行的测试需求中,选取出所涉及的硬件部件为上述网卡和\或上述网卡连接器的关联测试需求并执行,由此实现选择性地执行测试需求,进而可以提升测试灵活性。
与上述测试硬件管理软件的方法对应地,本申请实施例还提供的一种测试硬件管理软件的装置。该硬件管理软件安装于目标服务器中,用于针对目标服务器中的各个硬件部件分别提供若干项管理功能。
如图7所示,该装置可以包括:
确定单元702,用于确定第一测试需求,该第一测试需求至少指示出,待测试的目标管理功能,以及目标管理功能所关联的第一硬件部件,其中,第一硬件部件不在位。
执行单元704,用于执行第一测试需求。执行单元704包括:
查询子模块7042,用于查询映射表,确定第一硬件部件对应的第一描述文件,该映射表中存储有各个硬件部件各自对应的各描述文件,其中的每个描述文件用于记录对应硬件部件的各项静态属性。
加载子模块7044,用于将第一描述文件加载到硬件管理软件中,以虚拟化出第一硬件部件对应的第一虚拟部件。
测试子模块7046,用于对硬件管理软件针对第一虚拟部件的目标管理功能进行测试。
其中,查询子模块7042具体用于:
基于第一硬件部件的硬件标识,查询映射表,得到第一硬件部件对应的第一描述文件;或者,
基于第一硬件部件的硬件标识和硬件类型的组合,确定目标标识。基于确定的目标标识,查询映射表,得到第一硬件部件对应的第一描述文件。
其中,上述硬件标识为第一硬件部件的板块编号BoardId;或者,上述硬件标识为第一硬件部件的VID、DID、subVID和subDID的组合。
在一些实施例中,查询子模块7042还具体用于:获取第一硬件部件的硬件类型的编码;将第一硬件部件的硬件类型的编码与硬件标识进行按序拼接,得到目标标识。
在一些实施例中,该装置还可以包括:
获取单元706,用于获取当前硬件状态,该当前硬件状态至少指示出,各个硬件部件在位或者不在位;
确定单元702,还用于根据当前硬件状态,从各个硬件部件中确定出在位的目标硬件部件。
在一些实施例中,确定单元702,还用于确定第二测试需求。其中,该第二测试需求所涉及的第二硬件部件与第一硬件部件相关联;
执行单元704,还用于执行第二测试需求。
在一些实施例中,上述第一硬件部件为网卡,第一虚拟部件为虚拟网卡;
测试子模块7046具体用于:
判断服务器中是否存在空闲槽位;
在服务器中存在空闲槽位的情况下,建立虚拟网卡与空闲槽位的关联关系,以虚拟化地将虚拟网卡插入到空闲槽位中;
对硬件管理软件针对插入到空闲槽位的虚拟网卡的目标管理功能进行测试。
测试子模块7046还具体用于:
获取当前硬件状态,并基于其确定服务器中的网卡连接器是否在位;
在网卡连接器在位的情况下,获取网卡连接器的槽位状态信息,并基于其确定服务器中是否存在空闲槽位;
在网卡连接器不在位的情况下,确定服务器中不存在空闲槽位。
测试子模块7046还具体用于:
若服务器中不存在空闲槽位,则获取网卡连接器的第二描述文件,并将第二描述文件加载到硬件管理软件中,以虚拟化出网卡连接器对应的虚拟连接器;
建立虚拟网卡与虚拟连接器的槽位的对应关系,以虚拟化地将虚拟网卡插入到虚拟连接器的槽位中;
对硬件管理软件针对插入到虚拟连接器的槽位的虚拟网卡的目标管理功能进行测试。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的测试硬件管理软件的装置,可以在某硬件部件不在位的情况下,对硬件管理软件针对该硬件部件的管理功能进行测试,由此提高了测试硬件管理软件的灵活性。
基于上述实施例中的方法,本申请实施例提供了一种电子设备。该电子设备可以包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,使得处理器执行上述实施例中的方法。示例性的,该电子设备可以但不限于为服务器。
基于上述实施例中的方法,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述实施例的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备、可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
Claims (10)
1.一种测试硬件管理软件的方法,所述硬件管理软件安装于目标服务器中,用于针对目标服务器中的各个硬件部件分别提供若干项管理功能;所述方法包括:
确定第一测试需求;所述第一测试需求至少指示出,待测试的目标管理功能,以及所述目标管理功能所关联的第一硬件部件;其中,所述第一硬件部件不在位;
执行所述第一测试需求,其中包括:
查询映射表,确定所述第一硬件部件对应的第一描述文件;所述映射表中存储有所述各个硬件部件各自对应的各描述文件,其中的每个描述文件用于记录对应硬件部件的各项静态属性;
将所述第一描述文件加载到所述硬件管理软件中,以虚拟化出所述第一硬件部件对应的第一虚拟部件;
对所述硬件管理软件针对所述第一虚拟部件的所述目标管理功能进行测试。
2.根据权利要求1所述的方法,在所述确定第一测试需求之前,还包括:
获取当前硬件状态;所述当前硬件状态至少指示出,所述各个硬件部件在位或者不在位;
根据所述当前硬件状态,从所述各个硬件部件中确定出在位的目标硬件部件;
执行所涉及的硬件部件为所述目标硬件部件的目标测试需求。
3.根据权利要求1所述的方法,在执行所述第一测试需求之后,还包括:
确定第二测试需求;其中,所述第二测试需求所涉及的第二硬件部件与所述第一硬件部件相关联;
执行所述第二测试需求。
4.根据权利要求1所述的方法,其中,所述确定所述第一硬件部件对应的第一描述文件,包括:
基于所述第一硬件部件的硬件标识,查询所述映射表,得到所述第一硬件部件对应的第一描述文件;或者,
基于所述第一硬件部件的硬件标识和硬件类型的组合,确定目标标识;基于所述目标标识,查询所述映射表,得到所述第一硬件部件对应的第一描述文件。
5.根据权利要求4所述的方法,其中,
所述硬件标识为所述第一硬件部件的板块编号BoardId;或者,
所述硬件标识为所述第一硬件部件的VID、DID、subVID和subDID的组合。
6.根据权利要求4所述的方法,其中,所述确定目标标识,包括:
获取所述第一硬件部件的硬件类型的编码;
将所述第一硬件部件的硬件类型的编码与所述硬件标识进行按序拼接,得到所述目标标识。
7.根据权利要求1所述的方法,其中,所述第一硬件部件为网卡,所述第一虚拟部件为虚拟网卡;
所述对所述硬件管理软件针对所述第一虚拟部件的所述目标管理功能进行测试包括,包括:
判断所述服务器中是否存在空闲槽位;
在所述服务器中存在空闲槽位的情况下,建立所述虚拟网卡与所述空闲槽位的关联关系,以虚拟化地将所述虚拟网卡插入到所述空闲槽位中;
对所述硬件管理软件针对插入到所述空闲槽位的虚拟网卡的所述目标管理功能进行测试。
8.根据权利要求7所述的方法,其中,所述判断所述服务器中是否存在空闲槽位,包括:
获取当前硬件状态,并基于其确定所述服务器中的网卡连接器是否在位;
在所述网卡连接器在位的情况下,获取所述网卡连接器的槽位状态信息,并基于其确定所述服务器中是否存在空闲槽位;
在所述网卡连接器不在位的情况下,确定所述服务器中不存在空闲槽位。
9.根据权利要求7所述的方法,还包括:
若所述服务器中不存在空闲槽位,则获取网卡连接器的第二描述文件,并将所述第二描述文件加载到所述硬件管理软件中,以虚拟化出所述网卡连接器对应的虚拟连接器;
建立所述虚拟网卡与所述虚拟连接器的槽位的对应关系,以虚拟化地将所述虚拟网卡插入到所述虚拟连接器的槽位中;
对所述硬件管理软件针对插入到所述虚拟连接器的槽位的虚拟网卡的所述目标管理功能进行测试。
10.一种电子设备,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行如权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211275447.0A CN115712559A (zh) | 2022-10-14 | 2022-10-14 | 测试硬件管理软件的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211275447.0A CN115712559A (zh) | 2022-10-14 | 2022-10-14 | 测试硬件管理软件的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115712559A true CN115712559A (zh) | 2023-02-24 |
Family
ID=85231180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211275447.0A Pending CN115712559A (zh) | 2022-10-14 | 2022-10-14 | 测试硬件管理软件的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712559A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707875A (zh) * | 2024-02-06 | 2024-03-15 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
-
2022
- 2022-10-14 CN CN202211275447.0A patent/CN115712559A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707875A (zh) * | 2024-02-06 | 2024-03-15 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
CN117707875B (zh) * | 2024-02-06 | 2024-05-14 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768730B (zh) | 用于操作智能网卡的方法和装置 | |
WO2019227641A1 (zh) | 一种应用程序测试方法、装置、终端设备及介质 | |
WO2021072880A1 (zh) | 虚拟机内部快照异步创建方法、装置、系统及存储介质 | |
US20140129821A1 (en) | Test system and method for computer | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
WO2019100690A1 (zh) | 电子装置、测试的方法、系统及计算机可读存储介质 | |
CN115712559A (zh) | 测试硬件管理软件的方法、装置及电子设备 | |
CN107544879A (zh) | 服务器的诊断方法、装置及机器可读存储介质 | |
CN115656788B (zh) | 一种芯片测试系统、方法、设备及存储介质 | |
CN112181479A (zh) | 代码文件版本间差异的确定方法、装置及电子设备 | |
CN111190791A (zh) | 应用异常上报方法、装置和电子设备 | |
CN111176663A (zh) | 应用程序的数据处理方法、装置、设备及存储介质 | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
CN115858256A (zh) | 一种物联网设备的测试方法、装置及电子设备 | |
CN110096888B (zh) | 一种加快验证及分析smm安全隐患的方法及系统 | |
CN111966545A (zh) | PCIe分线器热插拔测试方法、装置、设备及存储介质 | |
CN111475107A (zh) | 一种硬盘格式化的方法、装置及存储介质 | |
CN116737513B (zh) | 一种计算机硬件信息获取方法、系统及计算机设备 | |
CN111597101A (zh) | Sdk接入状态检测方法、计算机设备及计算机可读存储介质 | |
CN110555090B (zh) | 一种自动获取CPU BUS Number的方法、系统、终端及存储介质 | |
CN111949430B (zh) | 基于gpnv的基本输入输出系统错误信息记录方法、系统及终端 | |
CN118075115B (zh) | 物联网设备的挂载方法、物联网设备的挂载装置及介质 | |
CN116302847B (zh) | 异常信息的动态采集方法、装置、计算机设备及介质 | |
US11372653B1 (en) | Runtime access to firmware platform configuration data | |
CN109446166B (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 |