服务器测试方法、装置、电子设备和计算机可读存储介质与流程

文档序号:31709098发布日期:2022-10-04 15:37阅读:54来源:国知局
服务器测试方法、装置、电子设备和计算机可读存储介质与流程

1.本发明涉及软件测试技术领域,特别是涉及一种服务器测试方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.随着网络技术的快速发展,租户可以从服务器提供商购买服务器,以基于购买的服务器,为用户提供生活、工作和娱乐等各方面的服务。而随着网络业务的不断发展,使得服务器也需要不断地迭代更新,因此,为了保证能够为用户提供稳定可靠的服务,对服务器进行测试的需求变得极为重要。


技术实现要素:

3.本发明实施例的目的在于提供一种服务器测试方法、装置、电子设备和计算机可读存储介质,以有效地检测目标服务器的实际状态,提高测试结果的准确度。具体技术方案如下:
4.第一方面,为了达到上述目的,本发明实施例公开了一种服务器测试方法,所述方法包括:
5.当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息;
6.基于所述登录信息登录所述目标服务器,并通过所述目标服务器执行状态信息查询指令,得到所述目标服务器的状态信息的实际参数值;
7.基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
8.可选的,所述目标服务器的状态信息包括以下至少一项:所述目标服务器的网络配置、所述目标服务器的系统版本、所述目标服务器所属机房的信息、所述目标服务器的内存大小、所述目标服务器的cpu(central processing unit,中央处理器)的主频大小和所述目标服务器的磁盘配置。
9.可选的,在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之前,所述方法还包括:
10.向所述目标服务器发送针对目标接口的测试请求;
11.接收所述目标服务器发送的针对所述测试请求的测试响应;
12.所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果,包括:
13.基于所述测试响应、所述期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
14.可选的,所述基于所述测试响应、所述期望参数值和所述实际参数值,得到所述目标服务器的测试结果,包括:
15.如果所述测试响应中携带的实际返回值与期望返回值一致,且所述期望参数值和
所述实际参数值一致,则确定所述目标服务器的测试结果为所述目标服务器正常;
16.如果所述测试响应中携带的实际返回值与期望返回值不一致,和/或,所述期望参数值和所述实际参数值不一致,则确定所述目标服务器的测试结果为所述目标服务器异常。
17.可选的,在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之后,所述方法还包括:
18.若所述测试结果表示所述目标服务器异常,则将所述测试结果记录在预设日志文件中。
19.可选的,所述当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息,包括:
20.当达到预设测试时刻时,加载待测试的目标服务器的配置文档,得到所述配置文档中记录的用于登录所述目标服务器的登录信息。
21.可选的,所述目标服务器为裸金属云服务器。
22.第二方面,为了达到上述目的,本发明实施例公开了一种服务器测试装置,所述装置包括:
23.登录信息获取模块,用于当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息;
24.实际参数值获取模块,用于基于所述登录信息登录所述目标服务器,并获取所述目标服务器的状态信息的实际参数值;
25.测试结果获取模块,用于基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
26.可选的,所述目标服务器的状态信息包括以下至少一项:所述目标服务器的网络配置、所述目标服务器的系统版本、所述目标服务器所属机房的信息、所述目标服务器的内存大小、所述目标服务器的cpu的主频大小和所述目标服务器的磁盘配置。
27.可选的,所述装置还包括:
28.测试请求发送模块,用于在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之前,向所述目标服务器发送针对目标接口的测试请求;
29.测试响应接收模块,用于接收所述目标服务器发送的针对所述测试请求的测试响应;
30.所述测试结果获取模块,具体用于基于所述测试响应、所述期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
31.可选的,所述测试结果获取模块,具体用于如果所述测试响应中携带的实际返回值与期望返回值一致,且所述期望参数值和所述实际参数值一致,则确定所述目标服务器的测试结果为所述目标服务器正常;
32.如果所述测试响应中携带的实际返回值与期望返回值不一致,和/或,所述期望参数值和所述实际参数值不一致,则确定所述目标服务器的测试结果为所述目标服务器异常。
33.可选的,所述装置还包括:
34.记录模块,用于在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之后,若所述测试结果表示所述目标服务器异常,则将所述测试结果记录在预设日志文件中。
35.可选的,所述登录信息获取模块,具体用于当达到预设测试时刻时,加载待测试的目标服务器的配置文档,得到所述配置文档中记录的用于登录所述目标服务器的登录信息。
36.可选的,所述目标服务器为裸金属云服务器。
37.在本发明实施的另一方面,为了达到上述目的,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
38.所述存储器,用于存放计算机程序;
39.所述处理器,用于执行所述存储器上所存放的程序时,实现如上述任一所述的服务器测试方法。
40.在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一所述的服务器测试方法。
41.本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务器测试方法。
42.本发明实施例有益效果:
43.本发明实施例提供的服务器测试方法,可以当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息;基于登录信息登录目标服务器,并通过目标服务器执行状态信息查询指令,得到目标服务器的状态信息的实际参数值;基于目标服务器的状态信息的期望参数值和实际参数值,得到目标服务器的测试结果。如此,能够在登录目标服务器后,通过目标服务器执行状态信息查询指令,得到目标服务器的状态信息的实际参数值,通过该方式获取的实际参数值较准确,也就能够有效地检测目标服务器的实际状态,提高测试结果的准确度。
44.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
46.图1为本发明实施例提供的一种服务器测试方法的流程图;
47.图2为本发明实施例提供的另一种服务器测试方法的流程图;
48.图3为本发明实施例提供的另一种服务器测试方法的流程图;
49.图4为本发明实施例提供的另一种服务器测试方法的流程图;
50.图5为本发明实施例提供的一种服务器测试装置的结构图;
51.图6为本发明实施例提供的一种电子设备的结构图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
53.相关技术中,可以基于api(application programming interface,应用程序接口)调用,向目标服务器发送用于获取状态信息的实际参数值的测试请求。目标服务器接收到测试请求后,则获取数据库中记录的状态信息的参数值,并返回。也就是说,相关技术中获取的目标服务器的状态信息的实际参数值,为数据库中记录的参数值,而数据库记录的参数值为目标服务器的提供商预先写入的,并不一定是目标服务器真实的状态信息的实际参数值,也就导致获取到的实际参数值的可靠性较低,进而,导致测试结果的准确度较低。
54.本发明实施例提供了一种服务器测试方法,该方法可以应用于电子设备,具体的,该电子设备用于对服务器进行测试。参见图1,图1为本发明实施例提供的一种服务器测试方法的流程图,该方法可以包括以下步骤:
55.s101:当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息。
56.s102:基于登录信息登录目标服务器,并通过目标服务器执行状态信息查询指令,得到目标服务器的状态信息的实际参数值。
57.s103:基于目标服务器的状态信息的期望参数值和实际参数值,得到目标服务器的测试结果。
58.基于本发明实施例提供的服务器测试方法,能够在登录目标服务器后,通过目标服务器执行状态信息查询指令,得到目标服务器的状态信息的实际参数值。相对于现有技术中,从数据库中获取状态信息的参数值,通过本发明实施例的方法获取的实际参数值较准确,也就能够有效地检测目标服务器的实际状态,提高测试结果的准确度。
59.针对步骤s101,预设测试时刻可以由测试人员基于需求设置,例如,预设测试时刻可以为每天的指定时刻。
60.在一个实施例中,参见图2,在图1的基础上,上述步骤s101可以包括以下步骤:
61.s1011:当达到预设测试时刻时,加载待测试的目标服务器的配置文档,得到配置文档中记录的用于登录目标服务器的登录信息。
62.在本发明实施例中,可以基于jenkins(一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能)对服务器进行测试。
63.示例性的,测试人员可以在jenkins中设置测试的时间(即预设测试时刻),相应的,当达到预设测试时刻时,可以从指定的git路径,获取测试信息。其中,测试信息可以包括目标服务器的配置文档。另外,测试信息还可以包括测试用例。具体的,上述测试用例可以为测试人员基于testng框架开发的xml文档。
64.一种实现方式中,上述配置文档中可以记录有用于登录目标服务器的登录信息。
65.示例性地,登录信息可以包括账号信息,例如,用户名和密码。
66.或者,登录信息也可以包括密钥。例如,该密钥可为ssh(secure shell)密钥。基于该密钥,可以实现远程免密登录目标服务器。相对于基于账号信息登录目标服务器,该登录方式更为安全可靠,可以杜绝暴力破解威胁,方便远程管理。
67.另外,上述配置文档中还可以记录有目标服务器的状态信息的期望参数值,通过加载上述配置文档,可以获取状态信息的期望参数值。
68.在一个实施例中,目标服务器的状态信息包括以下至少一项:目标服务器的网络配置、目标服务器的系统版本、目标服务器所属机房的信息、目标服务器的内存大小、目标服务器的cpu的主频大小和目标服务器的磁盘配置。
69.其中,目标服务器的网络配置包含以下至少一项:目标服务器的vpc(virtual private cloud,虚拟私有云)、目标服务器的vpc包含的子网和目标服务的bond模式。
70.虚拟私有云为云服务器构建隔离的、用户自主配置和管理的虚拟网络环境,能够提升用户云上资源的安全性,简化用户的网络部署。例如,基于虚拟私有云,可以托管应用程序,具体的,可以将对外提供服务的应用程序托管在虚拟私有云中,并且可以通过创建安全组规则、访问控制白名单等方式控制网络的访问。或,基于虚拟私有云,也可以构建混合云,具体的,虚拟私有云提供专用网络连接,可以将本地数据中心和虚拟私有云连接起来,扩展本地网络架构。通过该方式,可以将本地应用程序无缝地迁移至云上,并且不必更改应用程序的访问方式。
71.租户在购买目标服务器后,可以创建vpc,并为vpc划分一个或多个子网,子网网段必须在vpc网段内。当只有一个子网时,该子网网段可以与vpc网段相同(vpc有且只有一个子网时)。
72.目标服务器的磁盘配置可以包括以下至少一项:目标服务器的磁盘大小和目标服务器的raid模式。
73.在一个实施例中,通过本发明实施例提供的服务器测试方法,也可以基于api调用,对目标服务器进行接口测试。
74.参见图3,在步骤s103之前,该方法还可以包括以下步骤:
75.s104:向目标服务器发送针对目标接口的测试请求。
76.s105:接收目标服务器发送的针对测试请求的测试响应。
77.相应的,上述步骤s103可以包括:
78.s1031:基于测试响应、目标服务器的状态信息的期望参数值和实际参数值,得到目标服务器的测试结果。
79.在本发明实施例中,针对目标接口的测试请求可以基于测试人员预先编写的针对目标接口的测试用例确定。该测试用例可以包含测试类型、期望结果、测试内容。例如,该测试用例的测试类型可以post(向指定的资源提交要被处理的数据)、get(从指定的资源请求数据)、put(向指定资源位置上传最新数据)或者delete(请求删除资源)等。
80.在接收到针对目标接口的测试请求后,目标服务器可以通过该目标接口返回测试响应,进而,可以基于测试响应得到针对该测试请求的测试结果。另外,还可以结合目标服务器的状态信息的期望参数值和实际参数值,得到本次对目标服务器进行测试最终的测试结果。
81.在一个实施例中,参见图4,在图3的基础上,步骤s1031可以包括以下步骤:
82.s10311:如果测试响应中携带的实际返回值与期望返回值一致,且目标服务器的状态信息的期望参数值和实际参数值一致,则确定目标服务器的测试结果为目标服务器正常。
83.s10312:如果测试响应中携带的实际返回值与期望返回值不一致,和/或,目标服务器的状态信息的期望参数值和实际参数值不一致,则确定目标服务器的测试结果为目标服务器异常。
84.其中,测试响应中携带的实际返回值可以包括:状态行、响应头部、响应体。具体的,上述状态行中可以包含协议、版本、返回码和响应原因短语等。
85.在本发明实施例中,如果测试响应中携带的实际返回值与期望返回值一致,表明针对上述测试请求的测试结果为目标服务器正常,也即,目标服务器能够正常响应业务请求。反之,如果测试响应中携带的实际返回值与期望返回值不一致,表明针对上述测试请求的测试结果为目标服务器异常,也即,目标服务器不能够正常响应业务请求。
86.如果目标服务器的状态信息的期望参数值和实际参数值一致,表明目标服务器的实际状态符合租户购买服务器时的需求,也即,目标服务器在配置上正常。反之,如果目标服务器的状态信息的期望参数值和实际参数值不一致,表明目标服务器的实际状态不符合租户购买服务器时的需求,也即,目标服务器在配置上异常。
87.进而,若目标服务器能够正常响应业务请求,且目标服务器在配置上正常,则可以确定目标服务器正常。反之,若目标服务器不能够正常响应业务请求,或者,目标服务器在配置上异常,则可以确定目标服务器异常。
88.在一个实施例中,在上述步骤s103之后,该方法还可以包括以下步骤:
89.若测试结果表示目标服务器异常,则将测试结果记录在预设日志文件中。
90.在本发明实施例中,若测试结果表示目标服务器异常,将测试结果记录在预设日志文件中,进而,可以方便测试人员通过查看日志文件,确定目标服务器的异常情况。另外,还可以将目标服务器的状态信息的实际参数值记录在预设日志文件中。
91.在一个实施例中,目标服务器可以为裸金属云服务器。
92.其中,裸金属云服务器可以为用户提供稳定、快速与弹性的计算服务。例如,可以提供通用gpu(graphics processing unit,图形处理器)加速计算,用于科学计算、深度学习、图形图像渲染以及基于gpu的音视频编解码等诸多应用场景。
93.基于相同的发明构思,本发明实施例还提供了一种服务器测试装置,参见图5,图5为本发明实施例提供的一种服务器测试装置的结构图,该装置可以包括:
94.登录信息获取模块501,用于当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息;
95.实际参数值获取模块502,用于基于所述登录信息登录所述目标服务器,并获取所述目标服务器的状态信息的实际参数值;
96.测试结果获取模块503,用于基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
97.可选的,所述目标服务器的状态信息包括以下至少一项:所述目标服务器的网络配置、所述目标服务器的系统版本、所述目标服务器所属机房的信息、所述目标服务器的内存大小、所述目标服务器的cpu的主频大小和所述目标服务器的磁盘配置。
98.可选的,所述装置还包括:
99.测试请求发送模块,用于在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之前,向所述目标服务器发送针对目标接口的测试请求;
100.测试响应接收模块,用于接收所述目标服务器发送的针对所述测试请求的测试响应;
101.所述测试结果获取模块503,具体用于基于所述测试响应、所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
102.可选的,所述测试结果获取模块503,具体用于如果所述测试响应中携带的实际返回值与期望返回值一致,且所述目标服务器的状态信息的期望参数值和所述实际参数值一致,则确定所述目标服务器的测试结果为所述目标服务器正常;
103.如果所述测试响应中携带的实际返回值与期望返回值不一致,和/或,所述目标服务器的状态信息的期望参数值和所述实际参数值不一致,则确定所述目标服务器的测试结果为所述目标服务器异常。
104.可选的,所述装置还包括:
105.记录模块,用于在所述基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果之后,若所述测试结果表示所述目标服务器异常,则将所述测试结果记录在预设日志文件中。
106.可选的,所述登录信息获取模块501,具体用于当达到预设测试时刻时,加载待测试的目标服务器的配置文档,得到所述配置文档中记录的用于登录所述目标服务器的登录信息。
107.可选的,所述目标服务器为裸金属云服务器。
108.本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
109.存储器603,用于存放计算机程序;
110.处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
111.当达到预设测试时刻时,获取用于登录待测试的目标服务器的登录信息;
112.基于所述登录信息登录所述目标服务器,并通过所述目标服务器执行状态信息查询指令,得到所述目标服务器的状态信息的实际参数值;
113.基于所述目标服务器的状态信息的期望参数值和所述实际参数值,得到所述目标服务器的测试结果。
114.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
115.通信接口用于上述电子设备与其他设备之间的通信。
116.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可
以是至少一个位于远离前述处理器的存储装置。
117.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
118.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一服务器测试方法的步骤。
119.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一服务器测试方法。
120.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
121.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
122.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
123.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1