CN108733527A - 用于测试服务器功能的系统、方法和装置 - Google Patents

用于测试服务器功能的系统、方法和装置 Download PDF

Info

Publication number
CN108733527A
CN108733527A CN201710269981.3A CN201710269981A CN108733527A CN 108733527 A CN108733527 A CN 108733527A CN 201710269981 A CN201710269981 A CN 201710269981A CN 108733527 A CN108733527 A CN 108733527A
Authority
CN
China
Prior art keywords
server
virtual objects
target
establishment data
tested
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.)
Granted
Application number
CN201710269981.3A
Other languages
English (en)
Other versions
CN108733527B (zh
Inventor
孔祥云
王少华
胡文萍
张琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710269981.3A priority Critical patent/CN108733527B/zh
Publication of CN108733527A publication Critical patent/CN108733527A/zh
Application granted granted Critical
Publication of CN108733527B publication Critical patent/CN108733527B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了用于测试服务器功能的系统、方法和装置。该系统的一具体实施方式包括:待测试服务器、主服务器和从服务器集群;主服务器,用于接收客户端发送的至少一个虚拟对象的创建数据,从从服务器集群中选取出从服务器作为目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;目标从服务器,用于基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象;待测试服务器,用于调用至少一个虚拟对象,进行功能测试。该实施方式提高了待测试服务器功能的测试成功率。

Description

用于测试服务器功能的系统、方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及测试技术领域,尤其涉及用于测试服务器功能的系统、方法和装置。
背景技术
随着企业业务的发展,用于支持企业业务运营的系统也越来越复杂。通常情况下,该系统会包括多个服务器,这些服务器之间相互依赖,以实现各个服务器的功能。
当需要测试某个服务器的功能时,需要该系统中与该服务器存在依赖关系的其他服务器的配合。因此,当与待测试服务器存在依赖关系的其他服务器正常运行时,待测试服务器的功能测试成功;当与待测试服务器存在依赖关系的其他服务器不能正常运行时,待测试服务器的功能测试失败。
然而,在测试某个服务器的功能时,与该服务器存在依赖关系的其他服务器通常是不能正常运行的,这样就导致服务器功能的测试成功率较低。
发明内容
本申请的目的在于提出一种改进的用于测试服务器功能的系统、方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种用于测试服务器功能的系统,该系统包括:待测试服务器、主服务器和从服务器集群;主服务器,用于接收客户端发送的至少一个虚拟对象的创建数据,从从服务器集群中选取出从服务器作为目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;目标从服务器,用于基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象;待测试服务器,用于调用至少一个虚拟对象,进行功能测试。
在一些实施例中,主服务器,还用于:接收客户端发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
在一些实施例中,主服务器,具体用于:轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
在一些实施例中,主服务器,具体用于:获取从服务器集群中的各个从服务器的空闲端口数量;从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
在一些实施例中,主服务器,具体用于:从从服务器集群中随机选取出从服务器作为目标从服务器。
在一些实施例中,目标从服务器,具体用于:为至少一个虚拟对象中的每个虚拟对象分配端口号;基于至少一个虚拟对象的端口号和至少一个虚拟对象的创建数据,创建至少一个虚拟对象。
在一些实施例中,目标从服务器,还用于:将至少一个虚拟对象的端口号发送至主服务器。
在一些实施例中,待测试服务器,具体用于:从主服务器获取至少一个虚拟对象的端口号;通过至少一个虚拟对象的端口号所指示的端口,远程调用至少一个虚拟对象,进行功能测试。
第二方面,本申请实施例提供了一种用于主服务器的测试服务器功能的方法,主服务器分别与客户端、待测试服务器和从服务器集群中的各个从服务器通信连接,待测试服务器与从服务器集群中的各个从服务器通信连接;该方法包括:接收客户端发送的至少一个虚拟对象的创建数据;从从服务器集群中选取出从服务器作为目标从服务器;将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象,待测试服务器调用至少一个虚拟对象,进行功能测试。
在一些实施例中,接收客户端发送的至少一个虚拟对象的创建数据之前,还包括:接收客户端发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
在一些实施例中,从从服务器集群中选取出从服务器作为目标从服务器,包括:轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
在一些实施例中,从从服务器集群中选取出从服务器作为目标从服务器,包括:获取从服务器集群中的各个从服务器的空闲端口数量;从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
在一些实施例中,从从服务器集群中选取出从服务器作为目标从服务器,包括:从从服务器集群中随机选取出从服务器作为目标从服务器。
第三方面,本申请实施例提供了一种用于主服务器的测试服务器功能的装置,主服务器分别与客户端、待测试服务器和从服务器集群中的各个从服务器通信连接,待测试服务器与从服务器集群中的各个从服务器通信连接;该装置包括:创建数据接收单元,配置用于接收客户端发送的至少一个虚拟对象的创建数据;目标从服务器选取单元,配置用于从从服务器集群中选取出从服务器作为目标从服务器;创建数据发送单元,配置用于将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象,待测试服务器调用至少一个虚拟对象,进行功能测试。
在一些实施例中,该装置还包括:创建请求接收单元,配置用于接收客户端发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;创建数据模板选取单元,配置用于对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;创建数据模板发送单元,配置用于将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
在一些实施例中,目标从服务器选取单元进一步配置用于:轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
在一些实施例中,目标从服务器选取单元进一步配置用于:获取从服务器集群中的各个从服务器的空闲端口数量;从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
在一些实施例中,目标从服务器选取单元进一步配置用于:从从服务器集群中随机选取出从服务器作为目标从服务器。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第二方面中任一实现方式描述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面中任一实现方式描述的方法。
本申请实施例提供的用于测试服务器功能的系统、方法和装置,首先,主服务器接收客户端发送的至少一个虚拟对象的创建数据;之后,主服务器从从服务器集群中选取出目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;然后,目标从服务器利用至少一个虚拟对象的创建数据创建出至少一个虚拟对象;最后,待测试服务器调用目标从服务器中的至少一个虚拟对象,以实现对待测试服务器功能的测试。通过用虚拟对象代替与待测试服务器存在依赖关系的其他服务器,进行待测试服务器功能的测试,提高了待测试服务器功能的测试成功率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请实施例的用于测试服务器功能的系统的示例性系统架构图;
图2是根据本申请的用于测试服务器功能的系统的一个实施例的时序图;
图3是根据本申请实施例的用于测试服务器功能的系统的一个应用场景的示意图;
图4是根据本申请的用于测试服务器功能的系统的又一个实施例的时序图;
图5是根据本申请的用于主服务器的测试服务器功能的方法的一个实施例的流程图;
图6是根据本申请的用于主服务器的测试服务器功能的装置的一个实施例的结构示意图;
图7是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了根据本申请实施例的用于测试服务器功能的系统的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,主服务器102,从服务器集群103,待测试服务器104和网络105、106。其中,从服务器集群103可以包括从服务器1031、1032、1033、1034。网络105用于在终端设备101和主服务器102之间提供通信链路的介质。网络106用以在主服务器102、从服务器集群103和待测试服务器104之间提供通信链路的介质。网络105、106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络105与主服务器102交互,以接收或发送消息等。终端设备101可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
主服务器102、从服务器集群103和待测试服务器104可以提供各种服务,例如主服务器102可以首先接收终端设备101发送的至少一个虚拟对象的创建数据;然后,从从服务器集群103中选取出目标从服务器(例如从服务器1031);最后将至少一个虚拟对象的创建数据发送至目标从服务器。从服务器集群103中的目标从服务器可以利用所接收到的至少一个虚拟对象的创建数据创建出至少一个虚拟对象。待测试服务器104可以调用目标从服务器中的至少一个虚拟对象,以实现对待测试服务器104的功能进行测试。
需要说明的是,本申请实施例所提供的用于主服务器的测试服务器功能的方法一般由主服务器102执行。相应地,用于主服务器的测试服务器功能的装置一般设置于主服务器102中。
应该理解,图1中的终端设备、主服务器、待测试服务器、网络和从服务器集群以及从服务器集群中的从服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、主服务器、待测试服务器、网络和从服务器集群以及从服务器集群中的从服务器。
继续参考图2,其示出了根据本申请的用于测试服务器功能的系统的一个实施例的时序200。
正如在上面描述的,本实施例中的用于测试服务器功能的系统可以包括:待测试服务器(例如图1所示的待测试服务器104)、主服务器(例如图1所示的主服务器102)和从服务器集群(例如图1所示的从服务器集群103)。其中,主服务器,用于接收客户端(例如图1所示的终端设备101)发送的至少一个虚拟对象的创建数据,从从服务器集群中选取出从服务器作为目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;目标从服务器,用于基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象;待测试服务器,用于调用至少一个虚拟对象,进行功能测试。
如图2所示,在步骤201中,主服务器接收客户端发送的至少一个虚拟对象的创建数据。
在本实施例中,主服务器(例如图1所示的主服务器102)可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101)接收至少一个虚拟对象的创建数据。
在这里,虚拟对象可以是mock对象,mock对象可以是与待测试服务器存在依赖关系的其他服务器的代替品。其可以接受待测试服务器的调用,并向待测试服务器返回结果。对于待测试服务器来说,调用mock对象后待测试服务器接收到的返回结果与调用与待测试服务器存在依赖关系的其他服务器后待测试服务器接收到的返回结果是相同的。
在这里,虚拟对象的创建数据可以用来创建虚拟对象,通常可以包括请求数据和响应数据。其中,请求数据可以是在对待测试服务器的功能进行测试的过程中,由待测试服务器发送至与待测试服务器存在依赖关系的其他服务器的请求数据。响应数据可以是在对待测试服务器的功能进行测试的过程中,由与待测试服务器存在依赖关系的其他服务器根据从待测试服务器接收到的请求数据而返回的响应数据。
在步骤202中,主服务器从从服务器集群中选取出从服务器作为目标从服务器。
在本实施例中,主服务器可以从从服务器集群(例如图1所示的服务器集群103)中选取出目标从服务器(例如图1所示的从服务器1031)。
在本实施例的一些可选的实现方式中,主服务器可以轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。其中,端口的英文是port,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,在这里,端口通常指的是虚拟端口,即TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)中的端口。端口根据其状态又可以分为占用端口和空闲端口。作为示例,主服务器可以依次询问从服务器集群中的从服务器的空闲端口数量,直至询问到空闲端口数量不小于mock对象数量的从服务器,停止询问,并将该从服务器作为目标从服务器。其中,创建一个mock对象需占用一个端口。
在本实施例的一些可选的实现方式中,主服务器可以首先获取从服务器集群中的各个从服务器的空闲端口数量;然后,从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。作为示例,主服务器可以从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出空闲端口数量最多的从服务器作为目标从服务器。
在本实施例的一些可选的实现方式中,主服务器可以从从服务器集群中随机选取出从服务器作为目标从服务器。
在步骤203中,主服务器将至少一个虚拟对象的创建数据发送至目标从服务器。
在本实施例中,基于步骤202中所选取出的目标从服务器,主服务器可以将至少一个虚拟对象的创建数据发送至目标从服务器。
在步骤204中,目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象。
在本实施例中,基于从主服务器接收到的至少一个虚拟对象的创建数据,目标从服务器可以创建出至少一个虚拟对象。
在本实施例的一些可选的实现方式中,目标从服务器可以首先为至少一个虚拟对象中的每个虚拟对象分配端口号;然后,基于至少一个虚拟对象的端口号和至少一个虚拟对象的创建数据,创建至少一个虚拟对象。作为示例,目标从服务器可以创建HTTP(HyperText Transfer Protocol,超文本传输协议)下的mock对象。对于至少一个mock对象中的每个mock对象,目标从服务器可以首先选择HTTP;然后利用该mock对象的创建数据配置出请求数据和响应数据;最后利用该mock对象的端口号为该mock对象指定端口,即创建出该mock对象。
在本实施例的一些可选的实现方式中,目标从服务器可以将至少一个虚拟对象的端口号发送至主服务器。在主服务器接收到至少一个虚拟对象的端口号之后,主服务器还可以将至少一个虚拟对象的端口号发送至客户端或者待测试服务器。
在步骤205中,待测试服务器调用至少一个虚拟对象,进行功能测试。
在本实施例中,基于步骤204中所创建出的至少一个虚拟对象,待测试服务器(例如图1所示的待测试服务器104)可以调用至少一个虚拟对象,进行功能测试。
在本实施例的一些可选的实现方式中,首先,目标从服务器可以将至少一个虚拟对象的端口号发送至主服务器;然后,待测试服务器可以从主服务器获取至少一个虚拟对象的端口号;最后,待测试服务器可以通过至少一个虚拟对象的端口号所指示的端口,远程调用至少一个虚拟对象,进行功能测试。这里,在待测试服务器接收到至少一个虚拟对象的端口号之后,可以生成对待测试服务器的功能进行测试的测试代码。其中,测试代码中可以包括至少一个虚拟对象的端口号。当待测试服务器运行该测试代码时,就会根据测试代码中的至少一个虚拟对象的端口号查找到目标从服务器的相应端口,并通过该端口远程调用至少一个虚拟对象,以实现在至少一个虚拟对象的配合下对待测试服务器的功能进行测试。
需要说明的是,本实施例对从服务器集群中的从服务器的数量不进行限定。因此,若用于测试服务器功能的系统需要同时对多个待测试服务器的功能进行测试,即需要大量的端口来创建虚拟对象,只需要相应地增加从服务器集群中的从服务器的数量即可实现对端口数量的扩展。
继续参见图3,图3是根据本申请实施例的用于测试服务器功能的系统的一个应用场景的示意图。在图3的应用场景中,首先,主服务器303接收客户端301发送的至少一个虚拟对象的创建数据302;之后,主服务器303从从服务器集群中选取出目标从服务器304,并将至少一个虚拟对象的创建数据302发送至目标从服务器304;然后,目标从服务器304基于至少一个虚拟对象的创建数据302,创建出至少一个虚拟对象305;最后待测试服务器306调用目标从服务器304中的至少一个虚拟对象305,进行功能测试。
本申请实施例提供的用于测试服务器功能的系统,首先,主服务器接收客户端发送的至少一个虚拟对象的创建数据;之后,主服务器从从服务器集群中选取出目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;然后,目标从服务器利用至少一个虚拟对象的创建数据创建出至少一个虚拟对象;最后,待测试服务器调用目标从服务器中的至少一个虚拟对象,以实现对待测试服务器功能的测试。通过用虚拟对象代替与待测试服务器存在依赖关系的其他服务器,进行待测试服务器功能的测试,提高了待测试服务器功能的测试成功率。
进一步参考图4,其示出了根据本申请的用于测试服务器功能的系统的又一个实施例的时序400。
正如在上面描述的,本实施例中的用于测试服务器功能的系统可以包括:待测试服务器(例如图1所示的待测试服务器104)、主服务器(例如图1所示的主服务器102)和从服务器集群(例如图1所示的从服务器集群103)。其中,主服务器,用于接收客户端(例如图1所示的终端设备101)发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据;接收客户端发送的至少一个虚拟对象的创建数据;从从服务器集群中选取出从服务器作为目标从服务器,并将至少一个虚拟对象的创建数据发送至目标从服务器;目标从服务器,用于基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象;待测试服务器,用于调用至少一个虚拟对象,进行功能测试。
如图4所示,在步骤401中,主服务器接收客户端发送的至少一个虚拟对象的创建请求。
在本实施例中,主服务器(例如图1所示的主服务器102)可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101)接收至少一个虚拟对象的创建请求。其中,创建请求可以包括至少一个虚拟对象中的每个虚拟对象所使用的协议。
在这里,不同的虚拟对象可以使用不同的协议。例如,虚拟对象所使用的协议可以是HTTP、SOAP(Simple Object Access Protocol,简单对象访问协议)或FTP(FileTransfer Protocol,文件传输协议)等等。
在步骤402中,对于至少一个虚拟对象中的每个虚拟对象,主服务器从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板。
在本实施例中,对于至少一个虚拟对象中的每个虚拟对象,主服务器可以根据该虚拟对象所使用的协议,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板。
在本实施例中,主服务器可以预先存储创建数据模板集合。其中,创建数据模板集合中的各个创建数据模板可以分别对应不同的协议。具体地,对于使用同一协议的各个虚拟对象来说,用于创建各个虚拟对象的创建数据除虚拟对象的名称、端口号、请求数据中的参数值和响应数据中的返回值等不相同之外,其余数据完全相同。因此,为了减少生成创建数据的工作量,主服务器可以预先存储不同协议对应的创建数据模板。
在步骤403中,主服务器将所选取出的创建数据模板发送给客户端。
在本实施例中,主服务器可以将步骤402中所选取出的创建数据模板发送至客户端。
在步骤404中,客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
在本实施例中,客户端可以对所接收到的创建数据模板进行修改,生成该虚拟对象的创建数据。具体地,客户端可以根据测试需求对所接收到的创建数据模板中的虚拟对象的名称、端口号、请求数据中的参数值和响应数据中的返回值等进行修改,生成该虚拟对象的创建数据。
在步骤405中,主服务器接收客户端发送的至少一个虚拟对象的创建数据。
在本实施例中,主服务器可以从客户端接收至少一个虚拟对象的创建数据。
在步骤406中,主服务器从从服务器集群中选取出从服务器作为目标从服务器。
在本实施例中,主服务器可以从从服务器集群(例如图1所示的服务器集群103)中选取出目标从服务器(例如图1所示的从服务器1031)。
在步骤407中,主服务器将至少一个虚拟对象的创建数据发送至目标从服务器。
在本实施例中,基于步骤406中所选取出的目标从服务器,主服务器可以将至少一个虚拟对象的创建数据发送至目标从服务器。
在步骤408中,目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象。
在本实施例中,基于从主服务器接收到的至少一个虚拟对象的创建数据,目标从服务器可以创建出至少一个虚拟对象。
在步骤409中,待测试服务器调用至少一个虚拟对象,进行功能测试。
在本实施例中,基于步骤408中所创建出的至少一个虚拟对象,待测试服务器(例如图1所示的待测试服务器104)可以调用至少一个虚拟对象,进行功能测试。
从图4中可以看出,与图2对应的实施例相比,本实施例的用于测试服务器功能的系统的时序400增加了步骤401-404。由此,本实施例描述的方案中,客户端通过对从主服务器所接收到的创建数据模板进行修改即可得到虚拟对象的创建数据,从而减少了生成虚拟对象的创建数据的工作量。
进一步参考图5,其示出了根据本申请的用于主服务器的测试服务器功能的方法的一个实施例的流程500。该用于主服务器的测试服务器功能的方法的流程500,包括以下步骤:
步骤501,接收客户端发送的至少一个虚拟对象的创建数据。
在本实施例中,主服务器(例如图1所示的主服务器102)可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101)接收至少一个虚拟对象的创建数据。
步骤502,从从服务器集群中选取出从服务器作为目标从服务器。
在本实施例中,主服务器可以从从服务器集群(例如图1所示的服务器集群103)中选取出目标从服务器(例如图1所示的从服务器1031)。
在本实施例的一些可选的实现方式中,主服务器可以轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
在本实施例的一些可选的实现方式中,主服务器可以首先获取从服务器集群中的各个从服务器的空闲端口数量;然后,从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
在本实施例的一些可选的实现方式中,主服务器可以从从服务器集群中随机选取出从服务器作为目标从服务器。
步骤503,将至少一个虚拟对象的创建数据发送至目标从服务器。
在本实施例中,基于步骤502中所选取出的目标从服务器,主服务器可以将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象,待测试服务器调用至少一个虚拟对象,进行功能测试。
在本实施例的一些可选的实现方式中,在接收客户端发送的至少一个虚拟对象的创建数据之前,主服务器可以首先接收客户端发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;然后,对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;最后,将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
本申请的实施例提供的用于主服务器的测试服务器功能的方法,首先,主服务器接收客户端发送的至少一个虚拟对象的创建数据;然后,主服务器从从服务器集群中选取出目标从服务器;最后,主服务器将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器利用至少一个虚拟对象的创建数据创建出至少一个虚拟对象,待测试服务器调用目标从服务器中的至少一个虚拟对象,从而实现对待测试服务器功能的测试。通过用虚拟对象代替与待测试服务器存在依赖关系的其他服务器,进行待测试服务器功能的测试,提高了待测试服务器功能的测试成功率。
进一步参考图6,作为对上述图5所示方法的实现,本申请提供了一种用于主服务器的测试服务器功能的装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的用于主服务器的测试服务器功能的装置600包括:创建数据接收单元601、目标从服务器选取单元602和创建数据发送单元603。其中,创建数据接收单元601,配置用于接收客户端发送的至少一个虚拟对象的创建数据;目标从服务器选取单元602,配置用于从从服务器集群中选取出从服务器作为目标从服务器;创建数据发送单元603,配置用于将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器基于至少一个虚拟对象的创建数据,创建虚拟对象,待测试服务器调用至少一个虚拟对象,进行功能测试。
在本实施例中,用于主服务器的测试服务器功能的装置600中:创建数据接收单元601、目标从服务器选取单元602和创建数据发送单元603的具体处理及其带来的有益效果可参看图5对应实施例中的步骤501、步骤502和步骤503的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,用于主服务器的测试服务器功能的装置600还可以包括:创建请求接收单元(图中未示出),配置用于接收客户端发送的至少一个虚拟对象的创建请求,其中,创建请求包括至少一个虚拟对象中的每个虚拟对象所使用的协议;创建数据模板选取单元(图中未示出),配置用于对于至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,创建数据模板集合中的各个创建数据模板分别对应不同的协议;创建数据模板发送单元(图中未示出),配置用于将所选取出的创建数据模板发送给客户端,以使客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
在本实施例的一些可选的实现方式中,目标从服务器选取单元602进一步配置用于:轮询从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
在本实施例的一些可选的实现方式中,目标从服务器选取单元602进一步配置用于:获取从服务器集群中的各个从服务器的空闲端口数量;从空闲端口数量满足创建至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
在本实施例的一些可选的实现方式中,目标从服务器选取单元602进一步配置用于:从从服务器集群中随机选取出从服务器作为目标从服务器。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括按键、触摸屏等的输入部分706;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括创建数据接收单元、目标从服务器选取单元和创建数据发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,创建数据接收单元还可以被描述为“接收客户端发送的至少一个虚拟对象的创建数据的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收客户端发送的至少一个虚拟对象的创建数据;从从服务器集群中选取出从服务器作为目标从服务器;将至少一个虚拟对象的创建数据发送至目标从服务器,以使目标从服务器基于至少一个虚拟对象的创建数据,创建至少一个虚拟对象,待测试服务器调用至少一个虚拟对象,进行功能测试。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于测试服务器功能的系统,其特征在于,所述系统包括:待测试服务器、主服务器和从服务器集群;
所述主服务器,用于接收客户端发送的至少一个虚拟对象的创建数据,从所述从服务器集群中选取出从服务器作为目标从服务器,并将所述至少一个虚拟对象的创建数据发送至所述目标从服务器;
所述目标从服务器,用于基于所述至少一个虚拟对象的创建数据,创建所述至少一个虚拟对象;
所述待测试服务器,用于调用所述至少一个虚拟对象,进行功能测试。
2.根据权利要求1所述的系统,其特征在于,所述主服务器,还用于:
接收客户端发送的至少一个虚拟对象的创建请求,其中,所述创建请求包括所述至少一个虚拟对象中的每个虚拟对象所使用的协议;
对于所述至少一个虚拟对象中的每个虚拟对象,从预先存储的创建数据模板集合中选取出与该虚拟对象所使用的协议相对应的创建数据模板,其中,所述创建数据模板集合中的各个创建数据模板分别对应不同的协议;
将所选取出的创建数据模板发送给所述客户端,以使所述客户端对所选取出的创建数据模板进行修改,生成该虚拟对象的创建数据。
3.根据权利要求1所述的系统,其特征在于,所述主服务器,具体用于:
轮询所述从服务器集群中的从服务器的空闲端口数量,直至确定出空闲端口数量满足创建所述至少一个虚拟对象的从服务器,停止轮询,并将所确定出的从服务器作为目标从服务器。
4.根据权利要求1所述的系统,其特征在于,所述主服务器,具体用于:
获取所述从服务器集群中的各个从服务器的空闲端口数量;
从空闲端口数量满足创建所述至少一个虚拟对象的从服务器中选取出从服务器作为目标从服务器。
5.根据权利要求1所述的系统,其特征在于,所述主服务器,具体用于:
从所述从服务器集群中随机选取出从服务器作为目标从服务器。
6.根据权利要求1所述的系统,其特征在于,所述目标从服务器,具体用于:
为所述至少一个虚拟对象中的每个虚拟对象分配端口号;
基于所述至少一个虚拟对象的端口号和所述至少一个虚拟对象的创建数据,创建所述至少一个虚拟对象。
7.根据权利要求6所述的系统,其特征在于,所述目标从服务器,还用于:
将所述至少一个虚拟对象的端口号发送至所述主服务器。
8.根据权利要求7所述的系统,其特征在于,所述待测试服务器,具体用于:
从所述主服务器获取所述至少一个虚拟对象的端口号;
通过所述至少一个虚拟对象的端口号所指示的端口,远程调用所述至少一个虚拟对象,进行功能测试。
9.一种用于主服务器的测试服务器功能的方法,其特征在于,所述主服务器分别与客户端、待测试服务器和从服务器集群中的各个从服务器通信连接,所述待测试服务器与所述从服务器集群中的各个从服务器通信连接;所述方法包括:
接收所述客户端发送的至少一个虚拟对象的创建数据;
从所述从服务器集群中选取出从服务器作为目标从服务器;
将所述至少一个虚拟对象的创建数据发送至所述目标从服务器,以使所述目标从服务器基于所述至少一个虚拟对象的创建数据,创建所述至少一个虚拟对象,待测试服务器调用所述至少一个虚拟对象,进行功能测试。
10.一种用于主服务器的测试服务器功能的装置,其特征在于,所述主服务器分别与客户端、待测试服务器和从服务器集群中的各个从服务器通信连接,所述待测试服务器与所述从服务器集群中的各个从服务器通信连接;所述装置包括:
创建数据接收单元,配置用于接收所述客户端发送的至少一个虚拟对象的创建数据;
目标从服务器选取单元,配置用于从所述从服务器集群中选取出从服务器作为目标从服务器;
创建数据发送单元,配置用于将所述至少一个虚拟对象的创建数据发送至所述目标从服务器,以使所述目标从服务器基于所述至少一个虚拟对象的创建数据,创建所述至少一个虚拟对象,待测试服务器调用所述至少一个虚拟对象,进行功能测试。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求9所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9所述的方法。
CN201710269981.3A 2017-04-24 2017-04-24 用于测试服务器功能的系统、方法和装置 Active CN108733527B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710269981.3A CN108733527B (zh) 2017-04-24 2017-04-24 用于测试服务器功能的系统、方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710269981.3A CN108733527B (zh) 2017-04-24 2017-04-24 用于测试服务器功能的系统、方法和装置

Publications (2)

Publication Number Publication Date
CN108733527A true CN108733527A (zh) 2018-11-02
CN108733527B CN108733527B (zh) 2021-10-01

Family

ID=63934283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710269981.3A Active CN108733527B (zh) 2017-04-24 2017-04-24 用于测试服务器功能的系统、方法和装置

Country Status (1)

Country Link
CN (1) CN108733527B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109769100A (zh) * 2019-01-17 2019-05-17 苏州科达科技股份有限公司 视频会议测试方法、装置及存储介质
CN109857656A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 基于测试的适配方法、装置、计算机设备及存储介质
CN112087474A (zh) * 2019-06-13 2020-12-15 北京东土科技股份有限公司 一种基于集群的端口信息的获取方法及装置
CN112131095A (zh) * 2019-06-25 2020-12-25 北京京东振世信息技术有限公司 压力测试方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899142A (zh) * 2015-06-10 2015-09-09 北京嘀嘀无限科技发展有限公司 一种远程mock测试方法及装置
US20160070640A1 (en) * 2014-09-04 2016-03-10 Home Box Office, Inc. Mock object generation
CN105487965A (zh) * 2015-12-28 2016-04-13 北京畅游天下网络技术有限公司 一种通用的服务器压力测试方法及装置
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070640A1 (en) * 2014-09-04 2016-03-10 Home Box Office, Inc. Mock object generation
CN104899142A (zh) * 2015-06-10 2015-09-09 北京嘀嘀无限科技发展有限公司 一种远程mock测试方法及装置
CN105487965A (zh) * 2015-12-28 2016-04-13 北京畅游天下网络技术有限公司 一种通用的服务器压力测试方法及装置
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109769100A (zh) * 2019-01-17 2019-05-17 苏州科达科技股份有限公司 视频会议测试方法、装置及存储介质
CN109857656A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 基于测试的适配方法、装置、计算机设备及存储介质
CN112087474A (zh) * 2019-06-13 2020-12-15 北京东土科技股份有限公司 一种基于集群的端口信息的获取方法及装置
CN112087474B (zh) * 2019-06-13 2022-09-20 北京东土科技股份有限公司 一种基于集群的端口信息的获取方法及装置
CN112131095A (zh) * 2019-06-25 2020-12-25 北京京东振世信息技术有限公司 压力测试方法和装置
CN112131095B (zh) * 2019-06-25 2023-09-01 北京京东振世信息技术有限公司 压力测试方法和装置

Also Published As

Publication number Publication date
CN108733527B (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN108182111A (zh) 任务调度系统、方法和装置
CN109981619A (zh) 数据获取方法、装置、介质及电子设备
CN108632101A (zh) 用于更新配置对象的方法和装置
CN109697075A (zh) 文件更新方法、系统和装置
CN109995877A (zh) 信息推送方法和装置
CN108733527A (zh) 用于测试服务器功能的系统、方法和装置
CN109408205A (zh) 基于hadoop集群的任务调度方法和装置
CN107247629A (zh) 云计算系统及用于控制服务器的云计算方法和装置
CN109255337A (zh) 人脸关键点检测方法和装置
CN109992732A (zh) 信息分享方法、装置、电子设备及存储介质
CN108337314A (zh) 分布式系统、用于主服务器的信息处理方法和装置
CN109510881A (zh) 文件分享的方法、装置、电子设备及可读存储介质
CN109766148A (zh) 用于处理接口方法调用的方法和装置
CN110007936A (zh) 数据处理方法和装置
CN110209315A (zh) 用户界面中字符的显示方法、装置、电子设备及存储介质
CN110391938A (zh) 用于部署服务的方法和装置
CN110377440A (zh) 信息处理方法和装置
CN107329834A (zh) 用于执行计算任务的方法和装置
CN109240802A (zh) 请求处理方法和装置
CN110324185A (zh) 超参数调优方法、装置、服务器、客户端及介质
CN109688086A (zh) 用于终端设备的权限控制方法和装置
CN108052377A (zh) 基于云的输入处理方法、装置、服务器和存储介质
CN109462491A (zh) 用于测试服务器功能的系统、方法和装置
CN109684059A (zh) 用于监控数据的方法及装置
CN110113176A (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
GR01 Patent grant
GR01 Patent grant