一种服务器测试平台、服务器配置信息测试方法及系统与流程

文档序号:19350076发布日期:2019-12-06 21:17阅读:178来源:国知局
一种服务器测试平台、服务器配置信息测试方法及系统与流程

本发明涉及服务器测试领域,具体涉及一种服务器测试平台、服务器配置信息测试方法及系统,主要用于服务器的bmc(baseboardmanagementcontroller,基板管理控制器)及bios(basicinputoutputsystem,基本输入输出系统)的常规测试中对服务器配置信息的测试。



背景技术:

在服务器生产过程中,必须保证服务器的实际配置信息与其对应的标准配置信息或固定配置信息完全相同,不能存在差错。服务器配置信息一般包括工具(tools)、机器信息(machineinfo)、账户(account)、固件(fw)、处理器(cpu)、内存(memory)、bmc的lan信息(lanbmc)等一系列模块的信息。在服务器的常规测试中,比如服务器的bmc和bios的常规测试中,往往有很多配置信息需要检查对比确认。

现有技术中往往将用于测试的标准配置信息写入对应的脚本中。但服务器测试项目代码日常分支较多,服务器产品较多,一年有上百个服务器产品在开发,每个服务器产品有几十个配置,配置信息不是固定的,致使用于测试的标准配置信息也不是固定的,配置相对复杂,可见将用于测试的标准配置信息写入对应的脚本中,脚本兼容性相对差,脚本维护工作量大,降低了测试效率。

为此,本发明提供一种服务器测试平台、服务器配置信息测试方法及系统,用于解决上述问题。



技术实现要素:

针对现有技术的上述不足,本发明提供一种服务器测试平台、服务器配置信息测试方法及系统,用于提高测试的兼容性,降低维护的工作量,提高测试效率。

第一方面,本发明提供一种服务器配置信息测试方法,基于服务器测试平台,所述的服务器测试平台包括一组待测机;该服务器配置信息测试方法包括:

上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台;每个目标服务器对应一个标准配置信息配置表,每个标准配置信息配置表中存有其对应目标服务器的用于测试的标准配置信息;所述的目标服务器,为上述待测机中需要测试配置信息的待测机;所述的标准配置信息配置表,分别按预设的具有统一格式的模板进行建立;

服务器测试平台对应存储上传来的每个标准配置信息配置表中的标准配置信息;

通过服务器测试平台选取各目标服务器各自对应的测试用例并执行测试,对应获取各目标服务器的需要进行测试的实际配置信息;

对应获取服务器测试平台中存储的各目标服务器的标准配置信息;

依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果。

进一步地,所述的服务器测试平台对应存储上传来的每个标准配置信息配置表中的标准配置信息,包括:

服务器测试平台对应接收上传来的每个标准配置信息配置表;

服务器测试平台将所接收到的每个标准配置信息配置表,对应转化为config.json文件并存储。

进一步地,所述的上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台,包括:

通过预先设定的选择列表选择目标服务器;

提交所选择的目标服务器;

通过文件上传对话框上传所提交的目标服务器所对应的预先设置好的标准配置信息配置表。

进一步地,所述的标准配置信息配置表均采用excel表;

所述的标准配置信息配置表,均包括一组sheet表,各sheet表分别一对一地以对应目标服务器的标准配置模块进行命名,各sheet表内的表头分别为对应标准配置模块的标准配置项。

第二方面,本发明提供一种服务器配置信息测试系统,基于服务器测试平台,服务器测试平台包括一组待测机;该服务器配置信息测试系统,包括:

配置表上传单元,用于上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台;每个目标服务器对应一个标准配置信息配置表,每个标准配置信息配置表中存有其对应目标服务器的用于测试的标准配置信息;所述的目标服务器,为上述待测机中需要测试配置信息的待测机;所述的标准配置信息配置表,分别按预设的具有统一格式的模板进行建立;

存储单元,应用于所述的服务器测试平台,用于对应存储配置表上传单元上传来的每个标准配置信息配置表中的标准配置信息;

实际信息获取单元,用于选取各目标服务器各自对应的测试用例并执行测试,对应获取各目标服务器的需要进行测试的实际配置信息;

标准信息获取单元,用于对应获取存储单元中存储的各目标服务器的标准配置信息;

比较单元,用于依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果。

进一步地,所述的存储单元,包括:

接收模块,用于接收上传来的每个标准配置信息配置表;

格式转换模块,用于将接收模块所接收到的每个标准配置信息配置表,对应转化为config.json文件;

存储模块,用于对应存储格式转换模块转化来的各config.json文件。

进一步地,所述的配置表上传单元,包括:

选择列表模块,用于供测试人员选择目标服务器;

提交模块,用于提交选择列表模块选择的目标服务器;

上传对话框模块,与所述的提交模块相连,采用对话框形式,用于上传与提交模块所提交的目标服务器相对应的预先设置好的标准配置信息配置表。

进一步地,所述的标准配置信息配置表均采用excel表;所述的标准配置信息配置表,均包括一组sheet表,各sheet表分别一对一地以对应目标服务器的标准配置模块进行命名,各sheet表内的表头分别为对应标准配置模块的标准配置项。

进一步地,所述的服务器配置信息测试系统还包括:

配置表模板下载单元,用于供测试人员下载所述的模板。

第三方面,本发明提供一种服务器测试平台,包括相应数量的待测机以及其内安有测试管理系统的测试管理服务器,所述的测试管理系统中集成有如上所述的服务器配置信息测试系统。

本发明的有益效果在于:

(1)本发明提供的服务器测试平台、服务器配置信息测试方法及系统,通过标准配置信息配置表配置项目测试过程中遇到的需要检查的标准配置信息,且所述的标准配置信息配置表分别按预设的具有统一格式的模板进行建立,测试服务产品时,无需将用于测试的标准配置信息写入脚本,从而使得在测试不同服务产品,比如测试版本不同的服务产品时,无需因用于测试的标准配置信息的不同而修改脚本(脚本中未写入用于测试的标准配置信息,因此无需修改),只需修改标准配置信息配置表即可,可见一定程度上有助于提高测试的兼容性、降低维护的工作量、以及提高测试效率。

(2)本发明提供的服务器测试平台、服务器配置信息测试方法及系统,其标准配置信息配置表分别按预设的具有统一格式的模板进行建立,这使得对标准配置信息配置表的内容的修改,可由测试人员在任意终端、任意地点进行,这在一定程度上可增加测试人员的便利性,继而可在一定程度上增加测试人员的用户体验。

(3)本发明提供的服务器测试平台,其测试管理系统中集成有服务器配置信息测试系统,可见该服务器测试平台一定程度上既能在无需修改脚本(脚本中未写入用于测试的标准配置信息,因此无需在脚本中修改标准配置信息)的情况下用于服务器配置信息的测试,又能用于服务器的其他的非配置信息方面的测试,使用更为灵活。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是所述标准配置信息配置表的标准配置模块及对标准配置模块的描述的一个实施例。

图3是图2对应标准配置信息配置表的一实施例的局部状态示意图。

图4是本发明所述的通过预先设定的选择列表选择目标服务器的一个实施例的一个步骤的页面的状态示意图;

图5是本发明所述的配置表导入页面的一个实施例的局部页面示意图。

图6是本发明所述的文件上传对话框的一个实施例的对话框示意图。

图7是图3所示标准配置信息配置表的另一局部状态示意图。

图8是本发明一个实施例的系统的示意性框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例1:

图1是本发明一个实施例的服务器配置信息测试方法的示意性流程图。该服务器配置信息测试方基于服务器测试平台。所述的服务器测试平台,包括相应数量的待测机,用于提供对各所述待测机进行测试的测试环境。

如图1所示,该服务器配置信息测试方法100包括:

步骤110,上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台;

步骤120,服务器测试平台对应存储上传来的每个标准配置信息配置表中的标准配置信息;

步骤130,通过服务器测试平台选取各目标服务器各自对应的测试用例并执行测试,对应获取各目标服务器的需要进行测试的实际配置信息;

步骤140,对应获取服务器测试平台中存储的各目标服务器的标准配置信息;

步骤150,依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果。

其中,每个目标服务器对应一个标准配置信息配置表。每个标准配置信息配置表中存有其对应目标服务器的用于测试的标准配置信息。所述的目标服务器,为上述待测机中需要测试配置信息的待测机。所述的标准配置信息配置表,分别按预设的具有统一格式的模板进行建立。

可选地,作为本发明的一个实施例,所述的标准配置信息配置表均采用excel表。基于所述的模板建立的每个标准配置信息配置表,均包括一组sheet表。其中,标准配置信息配置表中的每个sheet表,分别一对一地以对应目标服务器的标准配置模块进行命名,各sheet表内的表头分别为对应标准配置模块的标准配置项。便于创建与维护标准配置信息配置表。以目标服务器a的bmc常规测试为例,目标服务器a的标准配置模块包括以下模块:tools模块、machineinfo模块、account模块、fw模块、cpu模块、memory模块、memory-imc模块、deviceinventory模块、lanbmc模块、lanos模块、harddisk模块、harddiskbackplane模块、powersupplyunit模块、fan模块、temperature模块、voltage模块、utilization模块、sensor模块、以及dhcp模块。其中,各模块对应的模块名称及模块名称对应的描述,如图2中所示的表中所示。记上述目标服务器a对应的标准配置信息配置表为标准配置信息配置表a,则标准配置信息配置表a中各sheet表的名称对应为:tools、machineinfo、account、fw、cpu、memory、memory-imc、deviceinventory、lanbmc、lanos、harddisk、harddiskbackplane、powersupplyunit、fan、temperature、voltage、utilization、sensor和dhcp,由此可有标准配置信息配置表a(简称″配置表″)的局部示意图如图3所示。参见图3,名为″tools″的sheet表,对应的标准配置项为toolname(工具名称)和sourcepath(工具来源)两项,其中toolname和sourcepath的取值均有两个,相对应地,tools模块的对应的标准配置信息有两个:toolname为addsel时,addsel的sourcepath为tools/sel/addsel.sh;toolname为socflash时,socflash的sourcepath为tools/socflash/socflasn_x64。其他标准配置模块的标准配置项,可由测试人员依据实际情况参照设定。

再以目标服务器b的bmc常规测试为例,其中上述目标服务器a与该目标服务器b为bmc版本不同的目标服务器,目标服务器a和目标服务器b的用于测试的标准配置模块的名称相同、各标准配置模块的标准配置项的名称也相同,差别在于少量标准配置模块的标准配置项的取值不同。记该目标服务器b的标准配置信息配置表为标准配置信息配置表b,则测试人员可对上述标准配置信息配置表a中各相关标准配置项的取值进行修改,即可得到所述的标准配置信息配置表b用于目标服务器b的bmc常规测试。可见,测试人员在不改变底层测试代码程序的前提下,通过修改每个目标服务器对应的标准配置信息配置表,即可实现对不同版本的目标服务器产品的配置信息的测试。可见本发明兼容性强,维护方便,一定程度上提高了测试效率。

可选地,所述的服务器测试平台对应存储上传来的每个标准配置信息配置表中的标准配置信息,包括:

服务器测试平台对应接收上传来的每个标准配置信息配置表;

服务器测试平台将所接收到的每个标准配置信息配置表,对应转化为config.json文件并存储。

标准配置信息配置表对应目标服务器的用于测试的标准配置信息,对应存储在标准配置信息配置表的相应sheet表的相应标准配置项所在的列。

服务器测试平台将所接收到的每个标准配置信息配置表对应转化为config.json文件,其中,在对每一个标准配置信息配置表进行格式转化时,将标准配置信息配置表中每个sheet表的名称(即对应目标服务器的标准配置模块)作为config.json文件的一级key,将标准配置信息配置表中每个sheet表的表头(即表格标题)作为对应一级key的下一层的key(下称″二级key″),每个sheet表中的表格内容为二级key对应value(值);标准配置信息配置表中每个sheet表中所有的数据形成一个数组,每个sheet表中的每行数据为对应数组的一个数组元素。

具体实现时,所述模板与用于将标准配置信息配置表转化为config.json文件的脚本配合使用。使用时,测试人员可依据模板制作相应目标服务器对应的标准配置信息配置表,也可复制模板得到备份模板,之后直接在备份模板中编辑或修改目标服务器对应的标准配置信息以得到相应的标准配置信息配置表,测试或研发人员无需再修改用于将标准配置信息配置表转化为config.json文件的脚本,一定程度上节约了人力,使用方便。

可选地,作为本发明一个实施例,所述的上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台,包括:

通过预先设定的选择列表选择目标服务器;

提交所选择的目标服务器;

通过文件上传对话框上传所提交的目标服务器所对应的预先设置好的标准配置信息配置表。

可选地,作为本发明一个实施例,依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果,包括对于每个目标服务器:

比较所获取到的目标服务器的实际配置信息与标准配置信息,判断两者是否一致:

若是,则目标服务器实际配置信息准确,输出测试通过;

若否,则获取并输出差异项。

为了便于对本发明的理解,下面以本发明的服务器配置信息测试方法原理,结合实施例中对服务器的配置信息进行检测的过程,对本发明提供的服务器的配置信息做进一步地的描述。

具体的,所述的服务器配置信息测试方法包括下述步骤s1-s5。

步骤s1、上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台。该步骤s1具体包括:

步骤s11,通过预先设定的选择列表选择目标服务器。

如图4所示,使用谷歌浏览器,登陆所述服务器测试平台的测试管理系统,进入″机器管理″-″机器信息维护″,勾选预先设定的选择列表中的目标服务器(以″烛龙″(机器型号为″zhulongauto″)为例)。

需要说明的是,图4所示的选择列表中,各机器型号所在行对应的机器均为待测机,列表中的待测机可以不全是目标服务器,测试人员可依据实际需要,选择其中的目标服务器进行后续处理。

需要说明的是,图4所示选择列表中展示的选项(待测机)中,勾选其中的任意一个选项,均可继续执行步骤s12,使用灵活。

步骤s12,提交所选择的目标服务器。

如图4所示,点击″机器配置信息″提交所勾选的目标服务器,服务器测试平台的测试管理系统获知当前将要进行配置表上传的目标服务器、并控制页面跳转至配置表导入页面,配置表导入页面中有用于显示″烛龙″机器配置信息的显示单元和″导入文件″按钮,如图5所示。

步骤s13,通过文件上传对话框上传所提交的目标服务器所对应的预先设置好的标准配置信息配置表。

点击图5中所示的″导入文件″按钮,弹出文件上传对话框,如图6所示;点击图6中″选择″进行配置表选择,选择配置表文件后,点击″上传″或点击图中带圈的向上的箭头对应的另一按钮,将″烛龙″对应的标准配置信息配置表上传至服务器测试平台的测试管理系统。在导入成功后,通过步骤s12中所述的显示单元,显示″烛龙″对应的标准配置信息配置表中的非空(有值)的sheet表的名称及各非空sheet表的表格内容,便于测试人员直观查看。

本实施例中,对于存在多个目标服务器的情况,可逐个完成每个目标服务器对应标准配置信息配置表的上传,即在完成当前目标服务器对应配置表的上传操作后、重复执行上述步骤s11-s13进行下一目标服务器对应配置表的上传操作。

步骤s2、服务器测试平台对应存储上传来的每个标准配置信息配置表中的标准配置信息。该步骤s2具体包括:

服务器测试平台对应接收上传来的每个标准配置信息配置表;

服务器测试平台将所接收到的每个标准配置信息配置表,对应转化为config.json文件并存储。

基于上述步骤s1,服务器测试平台的测试管理系统,将所接收到的每个标准配置信息配置表对应转化为config.json文件并存储。

以图3中所示的″tools″、″machineinfo″为例,转化成的config.json文件内容为:

其中,上述config.json文件内容中的″tools″和″machineinfo″均为该config.json文件的一级key,″toolname″为一级key″tools″的一个二级key,同理″bmctype″为一级key″machineinfo″的一个二级key。

步骤s3、通过服务器测试平台选取各目标服务器各自对应的测试用例并执行测试,对应获取各目标服务器的需要进行测试的实际配置信息。

每个测试用例对应一自动化脚本。此部分可参照现有技术进行实现,但与现有技术不同的是,本实施例中的目标服务器对应的用于测试其配置信息的测试用例中,没有目标服务器对应标准配置信息的具体值的写入,这使得测试服务产品时,无需因为标准配置信息的不同而修改对应的脚本,只需修改标准配置信息配置表即可,可见一定程度上有助于提高测试的兼容性、降低维护的工作量、以及提高测试效率。

步骤s4、对应获取服务器测试平台中存储的各目标服务器的标准配置信息。

对应获取服务器测试平台的测试管理系统中存储的各目标服务器的标准配置信息。以下为采用脚本调用config.json文件的一种实现方式:

(1)增加变量以及成员函数:

在bmc.public.machine类中增加各标准配置模块的成员变量及成员函数(get和set),各标准配置模块统一以arraylist<map<string,string>>形式存放。此处以增加fan模块对应的风扇信息(参见图7)为例,示例代码如下:

(2)增加从config.json中获取标准配置模块的信息

在bmc.public.config类的getmachineobjectbytype方法中增加从config.json中获取相应模块的信息,并将信息传递到machine对象,示例代码如下:

//readfaninformationinconfig.json

string[]fankey={″dutyratio″,″speed″,″fanqty″};

arraylist<map<string,string>>faninfo=getinfobyjsonkey(jsonobject,″fan″,fankey);

machine.setfaninfo(faninfo);

(3)新建类和方法获取标准配置模块的具体信息

在config文件夹下新建以标准配置模块名命名的类,在该类中新增方法获取标准配置模块中的具体信息,新增方法中,先调用machine.get***()来获取到标准配置模块的全部信息,再从全部信息中提取需要的具体信息。例如:config.fan.java中封装了方法来获取占空比-标准转速对照表,如下代码所示:

(4)脚本调用配置文件参数:

以machine对象为例,配置文件参数全部添加在脚本的变量部分:

1)脚本获取待测机machine对象;

2)调用模块封装的方法获取该machine对象的具体信息。

示例代码如下:

privatestaticwebdriverdriver;

privatestaticmachinemachine=bmc.public.config.getmachineobjectbytype(″sut″);

privatestaticstringbmcdedicatedurl=machine.getbmcdedicatedurl();

privatestaticstringbmcdedicatedip=machine.getbmcdedicatedip();

privatestaticstringbmcusername=machine.getbmcusername();

privatestaticstringbmcpassword=machine.getbmcpassword();

privatestaticstringosip=machine.getosip();

privatestaticstringosusername=machine.getosusername();

privatestaticstringospassword=machine.getospassword();

privatestaticmap<string,string>fanrpmbyrate=config.fan.getfanspeedanddutymapfromconfig(machine);

privatestaticstringblankspaces=″″;

步骤s5、依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果。

进一步地,该步骤s5包括对于每个目标服务器:

分别比较所获取到的目标服务器的实际配置信息与标准配置信息,判断两者是否一致:

若是,则目标服务器实际配置信息准确,输出测试通过;

若否,则获取并输出差异项。

实施例2:

图8为本发明实施例提供的一种服务器配置信息测试系统200的结构框图示意图。本实施例中的系统200,基于服务器测试平台。所述的服务器测试平台包括一组待测机。

参见图8,所述的服务器配置信息测试系统200,包括:

配置表上传单元201,用于上传每个目标服务器对应的预先设置好的标准配置信息配置表至服务器测试平台;每个目标服务器对应一个标准配置信息配置表,每个标准配置信息配置表中存有其对应目标服务器的用于测试的标准配置信息;所述的目标服务器,为上述待测机中需要测试配置信息的待测机;所述的标准配置信息配置表,分别按预设的具有统一格式的模板进行建立;

存储单元202,应用于所述的服务器测试平台,用于对应存储配置表上传单元201上传来的每个标准配置信息配置表中的标准配置信息;

实际信息获取单元203,用于选取各目标服务器各自对应的测试用例并执行测试,对应获取各目标服务器的需要进行测试的实际配置信息;

标准信息获取单元204,用于对应获取存储单元202中存储的各目标服务器的标准配置信息;

比较单元205,用于依据所获取的每个目标服务器的标准配置信息,对应判断各目标服务器的实际配置信息是否准确,并输出测试结果。

可选地,作为本发明的一个实施例,所述的标准配置信息配置表均采用excel表;所述的标准配置信息配置表,均包括一组sheet表,各sheet表分别一对一地以对应目标服务器的标准配置模块进行命名,各sheet表内的表头分别为对应标准配置模块的标准配置项。

可选地,作为本发明的一个实施例,所述的存储单元202,包括:

接收模块2021,用于接收上传来的每个标准配置信息配置表;

格式转换模块2022,用于将接收模块2021所接收到的每个标准配置信息配置表,对应转化为config.json文件;

存储模块2023用于对应存储格式转换模块2022转化来的各config.json文件。

可选地,作为本发明的一个实施例,所述的配置表上传单元201,包括:

选择列表模块2011,用于供测试人员选择目标服务器;

提交模块2012,用于提交选择列表模块2011选择的目标服务器;

上传对话框模块2013,与所述的提交模块2012相连,采用对话框形式,用于上传与提交模块2012所提交的目标服务器相对应的预先设置好的标准配置信息配置表。

可选地,作为本发明的一个实施例,所述的比较单元205,用于对每个目标服务器:比较所获取到的目标服务器的实际配置信息与标准配置信息,判断两者是否一致:

若是,则目标服务器实际配置信息准确,输出测试通过;

若否,则获取并输出差异项。

因本系统200与上述方法100相对应,本实施例中的系统200的工作过程以及所能达到的技术效果可以参见上述方法100中的描述,此处不再赘述。

实施例3:

本发明还提供了一种服务器测试平台,包括相应数量的待测机以及其内安有测试管理系统的测试管理服务器,所述的测试管理系统中集成有如上所述的服务器配置信息测试系统。其中,测试管理服务器为所述测试管理系统的运行终端,用于对各所述的待测机进行测试及测试管理。

鉴于本发明所述的服务器测试平台,基于实施例2中所述的服务器配置信息测试系统,具有实施例2中所述服务器配置信息测试系统的全部优点,在此不再赘述。

本说明书中各个实施例之间相同相似的部分互相参见即可。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1