一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务器Redfish接口规范的自动化测试系统的制作方法

2022-07-31 07:31:45 来源:中国专利 TAG:

一种服务器redfish接口规范的自动化测试系统
技术领域
1.本技术涉及服务器测试领域,尤其涉及一种服务器redfish接口规范的自动化测试系统。


背景技术:

2.redfish可扩展平台管理api(the redfish scalable platforms management api)是一种新的接口规范,其使用restful接口语义来访问定义在模型格式中的数据,用于执行带外系统管理(out of band systems management)。平台服务器bmc redfish功能可通过使用restful接口语义来访问定义在模型格式中的数据,进而获取服务器功能信息,为服务器功能信息的批量管理提供了全面而简单的方法。
3.而在服务器产品的开发和后续维护过程中,bmc版本的变更非常频繁,而bmc变更时需要对bmc进行测试。bmc测试中最重要及繁琐部分就是redfish接口规范测试。
4.现有的测试方法是通过在服务器控制机台安装postman工具,然后手动输入上百条指令进行测试,再通过测试人员核对反馈的测试结构是否符合标准值。但是,这种测试方法耗费了较多的人力成本。


技术实现要素:

5.本技术提供了一种服务器redfish接口规范的自动化测试系统,用于使服务器redfish接口规范测试的人力成本减少。
6.本技术提供的服务器redfish接口规范的自动化测试系统,包括:
7.host主机、单片机以及待测服务器;
8.所述host主机与所述单片机通信连接;
9.所述单片机与所述待测服务器通信连接;
10.所述host主机用于存储redfish接口规范的测试信息;
11.所述单片机用于获取所述测试信息并根据所述测试信息模拟生成redfish接口规范测试指令;
12.所述待测服务器用于获取所述redfish接口规范测试指令进行自动测试,并根据测试结果判断是否符合redfish接口规范标准。
13.可选地,所述host主机包括记录模块以及存储模块;
14.所述记录模块与所述存储模块通信连接;
15.所述记录模块用于记录通过键盘输入的或用于记录通过编辑软件爬取的测试信息;
16.所述存储模块用于存储所述测试信息。
17.可选地,所述host主机还包括第一信息发送模块;
18.所述单片机包括第一信息接收模块以及模拟模块;
19.所述第一信息发送模块与所述第一信息接收模块通信连接;
20.所述第一接收模块与所述模拟模块通信连接;
21.所述第一信息发送模块用于向所述第一接收模块发送所述测试信息;
22.所述第一信息接收模块用于接收所述测试信息;
23.所述模拟模块用于根据接收到的所述测试信息模拟生成redfish接口规范测试指令。
24.可选地,所述单片机还包括第二信息发送模块;
25.所述待测服务器包括第二信息接收模块和第三信息发送模块以及测试模块;
26.所述第二信息发送模块与所述第二信息接收模块通信连接;
27.所述第二信息接收模块与所述测试模块通信连接;
28.所述第二信息发送模块用于向所述第二信息接收模块发送所述redfish接口规范测试指令;
29.所述第二信息接收模块用于接收所述redfish接口规范测试指令;
30.所述测试模块用于对所述redfish接口规范测试指令进行自动测试,并根据测试结果判断是否符合redfish接口规范标准。
31.可选地,所述测试模块包括第一测试子模块、第二测试子模块;
32.所述第二信息接收模块还用于分别向所述第一测试子模块和第二测试子模块发送所述redfish接口规范测试指令,以使得根据所述redfish接口规范测试指令通过所述第一测试子模块和所述第二测试子模块进行冗余测试。
33.可选地,所述redfish接口规范测试指令包括第一测试指令和第二测试指令;
34.所述第二信息接收模块具体用于向所述第一测试子模块发送第一测试指令,以使得所述第一测试子模块对所述第一测试指令进行测试;
35.所述第二信息接收模块还具体用于向所述第二测试子模块发送第二测试指令,以使得所述第二测试子模块对多少第二测试指令进行测试。
36.可选地,所述测试模块具体用于执行所述redfish接口规范测试指令;
37.根据执行结果获取测试值;
38.获取标准值;
39.判断所述测试值与所述标准值是否一致;
40.若一致,则确定所述待测服务器符合redfish接口规范标准。
41.可选地,所述测试模块还具体用于若所述测试值与所述标准值不一致,则确定所述待测服务器不符合redfish接口规范标准。
42.可选地,所述测试模块具体用于将所述redfish接口规范测试指令输入测试脚本;
43.执行所述测试脚本;
44.根据执行后的测试脚本的测试结果确定测试值。
45.可选地,所述测试模块还具体用于获取所述测试脚本在测试过程中生成的脚本测试日志;
46.根据所述脚本测试日志确定测试值。
47.从以上技术方案可以看出,本技术具有以下优点:
48.本技术提供的自动测试系统包括host主机、单片机以及待测服务器;host主机与单片机通信连接;单片机与待测服务器通信连接;host主机用于存储redfish接口规范的测
试信息;单片机用于获取测试信息并根据测试信息模拟生成redfish接口规范测试指令;待测服务器用于获取redfish接口规范测试指令进行自动测试,并根据测试结果判断是否符合redfish接口规范标准。
49.当需要测试时,利用单片机获取测试信息并根据测试信息模拟生成redfish接口规范测试指令。待测服务器利用与单片机的通信连接获取该测试指令进行测试,根据测试结果确定自身是否符合redfish接口规范标准。无需测试人员手动输入指令进行测试,也无需通过测试人员核对测试结果,减少了人力成本。
附图说明
50.为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1为本技术提供的服务器redfish接口规范的自动化测试系统一个实施例流程示意图。
具体实施方式
52.本技术提供了一种服务器redfish接口规范的自动化测试系统,用于减少redfish接口规范测试的人力成本。
53.请参阅图1,图1为本技术提供的服务器redfish接口规范的自动化测试系统的一个实施例,该系统包括:
54.host主机101、单片机102以及待测服务器103;该host主机101与该单片机102通信连接;该单片机102与该待测服务器103通信连接;该host主机101用于存储redfish接口规范的测试信息;该单片机102用于获取该测试信息并根据该测试信息模拟生成redfish接口规范测试指令;该待测服务器103用于获取该redfish接口规范测试指令进行自动测试,并根据测试结果判断是否符合redfish接口规范标准。
55.本实施例中,host主机101为能够同其他机器互相访问的本地计算机。单片机102为单片微型计算机,由运算器,控制器,存储器,输入输出设备等构成。host主机101与单片机102通信连接,从而可在host主机101与单片机102之间进行数据传输。在host主机101中预存有关于服务器redfish接口规范的测试信息,该测试信息可包括redfish接口测试的测试代码信息,服务器redfish测试方式信息,待测服务器地址id信息等,具体此处不做限定。单片机102根据与host主机101之间的数据传输获取该测试信息。在获取到测试信息之后,对该测试信息进行解析,模拟生成redfish接口规范测试指令,具体地,该redfish接口规范测试指令可以为redfish接口测试代码,例如get指令函数的服务器开关机查询指令代码。
56.在单片机102生成redfish接口规范测试指令之后,单片机102将该redfish接口规范测试指令发送给与单片机102数据连接的待测服务器103,以使得待测服务器103根据该redfish接口规范测试指令进行redfish接口自动化测试。然后在待测服务器103进行redfish接口规范测试指令测试之后,确定redfish接口规范测试指令所得到的测试结果,即确定redfish接口规范测试指令执行后的待测服务器的响应信息。然后,判断该响应信息是否是否符合redfish接口规范标准。具体地,可通过待测服务器103的bmc web界面查询服
务器的标准值,然后比较该标准值与响应信息是否一致,若一致,则待测服务器的redfish接口符合redfish接口规范标准,若不一致,则redfish接口异常。
57.本实施例中,当需要测试时,可利用单片机102获取host主机101上预存的测试信息并根据测试信息模拟生成redfish接口规范测试指令。然后待测服务器103再利用与单片机102的通信连接来获取该redfish接口规范测试指令进行自动化测试,并根据测试结果确定服务器是否符合redfish接口规范标准。在整个测试过程无需测试人员手动输入测试指令代码进行测试,也无需通过测试人员核对测试结果,减少了人力成本。
58.可选地,该host主机101包括记录模块1011以及存储模块1012;该记录模块1011与该存储模块1012通信连接;该记录模块1011用于记录通过键盘输入的或用于记录通过编辑软件爬取的测试信息;该存储模块1012用于存储该测试信息。
59.本实施例中,记录模块1011主要用于记录关于redfish接口规范的测试信息。具体地,记录模块1011可在进行redfish接口规范的标准测试时,获取测试人员从键盘输入的测试信息,然后将该测试信息存储到存储模块1012中,以使得需要再进行redfish接口规范测试时能直接从记录模块1011中获取到该测试信息,无需测试人员每次从键盘敲写指令输入。或者,还可以根据编辑软件从网络中爬取关于redfish接口规范的测试信息,例如,通过爬虫爬取redfish接口规范测试代码,然后将爬取的测试信息存储到存储模块1012中。
60.可选地,该host主机101还包括第一信息发送模块1013;该单片机102包括第一信息接收模块1021以及模拟模块1022;该第一信息发送模块1013与该第一信息接收模块1021通信连接;该第一接收模块与该模拟模块1022通信连接;该第一信息发送模块1013用于向该第一接收模块发送该测试信息;该第一信息接收模块1021用于接收该测试信息;该模拟模块1022用于根据接收到的该测试信息模拟生成redfish接口规范测试指令。
61.本实施例中,当需要进行待测服务器103的redfish接口规范测试时,首先通过host主机101的第一信息发送模块1013将测试信息发送到单片机102的第一信息接收模块1021中。在第一信息接收模块1021接收到测试信息之后,模拟模块1022根据该测试信息进行模拟,生成redfish接口规范指令。具体地,模拟模块1022可根据存储的测试信息,类比测试人员通过键盘输入测试指令时键盘接收指令的顺序和接收到的指令信息重新生成redfish接口规范测试指令。例如,若需要对获取服务器cpu信息项目进行redfish接口测试时,若根据测试信息,确定通过键盘接收到的redfish命令为:
62.url:http://device_ip/redfish/vl/systems/system_id/proccessors/cpu_id,device_ip为bmc ip地址,cpu_id为cpu资源id。则模拟模块1022可根据键盘接收到该redfish命令的先后顺序重新生成redfish接口规范测试命令,从而需要待测服务器103进行redfish测试时,无需再重新通过人工键入redfish命令。
63.可选地,该单片机102还包括第二信息发送模块1023;该待测服务器103包括第二信息接收模块1031和第三信息发送模块以及测试模块1032;该第二信息发送模块1023与该第二信息接收模块1031通信连接;该第二信息接收模块1031与该测试模块1032通信连接;该第二信息发送模块1023用于向该第二信息接收模块1031发送该redfish接口规范测试指令;该第二信息接收模块1031用于接收该redfish接口规范测试指令;该测试模块1032用于对该redfish接口规范测试指令进行自动测试,并根据测试结果判断是否符合redfish接口规范标准。
web界面或命令查看待测服务器103的标准值,最后判断测试值与标准值是否一致来确定待测服务器103的redfish接口是否符合redfish接口规范。
72.可选地,该测试模块1032具体用于将该redfish接口规范测试指令输入测试脚本;执行该测试脚本;根据执行后的测试脚本的测试结果确定测试值或者获取该测试脚本在测试过程中生成的脚本测试日志;根据该脚本测试日志确定测试值。
73.本实施例中,测试模块1032首先将redfish接口规范测试指令输入测试脚本并执行该测试脚本,然后根据执行后的测试脚本的测试结果确定测试值;或者获取执行脚本测试过程中的脚本测试日志,根据该脚本测试日志提取测试值。例如,若具体要对获取服务器开关机状态进行测试,则首先确定redfish接口规范测试指令中的获取服务器开关机状态命令,然后测试模块1032通过postman测试脚本运行服务器开关机状态命令,执行get操作,url:http://device_ip/redfish/vl/systems/systems_id,device_id为bmc ip地址,system_id为服务器id。在执行get操作后从postman的测试结果中确定redfish接口查询出的测试值。然后再通过bmc web界面或命令行查看服务器开关机状态信息,确定服务器关于开关机状态的标准值。比较该标准值与该测试值是否一致,若一致,则待测服务器103的redfish接口符合redfish接口规范。例如,若标准值为“powerstate”,测试值为“powerstate”,则测试值与标准值一致,符合redfish接口规范。若测试值不为“powerstate”,在不符合redfish接口规范,服务器的redfish接口工作异常。
74.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
75.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
76.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
77.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
78.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献