CN112445700A - 测试方法和装置 - Google Patents

测试方法和装置 Download PDF

Info

Publication number
CN112445700A
CN112445700A CN201910838896.3A CN201910838896A CN112445700A CN 112445700 A CN112445700 A CN 112445700A CN 201910838896 A CN201910838896 A CN 201910838896A CN 112445700 A CN112445700 A CN 112445700A
Authority
CN
China
Prior art keywords
test
request
predefined
target
content
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
CN201910838896.3A
Other languages
English (en)
Other versions
CN112445700B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910838896.3A priority Critical patent/CN112445700B/zh
Publication of CN112445700A publication Critical patent/CN112445700A/zh
Application granted granted Critical
Publication of CN112445700B publication Critical patent/CN112445700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种测试方法和装置;本发明实施例可以接收客户端的测试请求,其中,测试请求包括请求来源信息、待测请求内容;根据请求来源信息查询目标测试环境;当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,该预定义映射关系集合包括至少一个预定义映射关系,预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;向客户端发送目标响应内容,以便客户端显示目标响应内容。在本发明实施例中,不同来源的测试请求可以对应其独有的测试环境,由此,该方案可以同时处理不同来源的测试请求,从而提升测试效率。

Description

测试方法和装置
技术领域
本发明涉及计算机领域,具体涉及一种测试方法和装置。
背景技术
软件测试(Software Testing)是一种用来测试软件质量的过程。通常,软件测试的方法是通过比较实际输出与预测输出之间的差别,来确定该软件的质量。比如,当需要测试软件中某些不容易构造或者不容易获取的对象时,Mock测试(一种软件测试方法)可以通过虚拟该对象来模拟该对象的行为。
目前,软件的功能越来越复杂,对一个软件进行Mock测试时往往需要测试团队分工合作,来对该软件的每个功能进行多次测试。然而,目前的测试效率低下。
发明内容
本发明实施例提供一种测试方法和装置,可以提升测试效率。
本发明实施例提供一种测试方法,包括:
接收客户端的测试请求,所述测试请求包括请求来源信息、待测请求内容;
根据所述请求来源信息查询目标测试环境;
当存在所述目标测试环境时,获取所述目标测试环境对应的预定义映射关系集合,所述预定义映射关系集合包括至少一个预定义映射关系,所述预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
基于所述目标测试环境对应的预定义映射关系集合确定所述待测请求内容对应的目标响应内容;
向客户端发送所述目标响应内容,以便客户端显示所述目标响应内容。
对应的,本发明实施例提供一种测试装置,包括:
接收单元,用于接收客户端的测试请求,所述测试请求包括请求来源信息、待测请求内容;
环境单元,用于根据所述请求来源信息查询目标测试环境;
预定义映射关系单元,用于当存在所述目标测试环境时,获取所述目标测试环境对应的预定义映射关系集合,所述预定义映射关系集合包括至少一个预定义映射关系,所述预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
响应单元,用于基于所述目标测试环境对应的预定义映射关系集合确定所述待测请求内容对应的目标响应内容;
发送单元,用于向客户端发送所述目标响应内容,以便客户端显示所述目标响应内容。
本发明实施例还提供一种测试方法,包括:
显示测试页面;
基于用户针对所述测试页面的请求编辑操作,得到待测请求内容;
获取身份信息;
根据所述身份信息以及所述待测请求内容生成测试请求;
向服务端发送所述测试请求,以便服务端根据所述身份信息生成所述待测请求内容对应的响应内容;
接收并显示服务端返回的响应内容。
本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载存储器存储的指令实现本发明实施例中的任一测试方法。
本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例中的任一测试方法。
本发明实施例可以接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;根据请求来源信息查询目标测试环境;当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;向客户端发送目标响应内容,以便客户端显示目标响应内容。
在本发明实施例中,通过请求来源信息来确定目标测试环境,并采用该目标测试环境来生成该测试请求对应的目标响应内容,从而可以同时处理不同来源的测试请求,生成不同来源测试请求所对应的响应内容。由此,该方案可以支持测试团队进行多人同时测试,且每个测试互不影响,从而在保证测试互不干扰的情况下,提升测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的测试***的结构示意图;
图1b是本发明实施例提供的测试方法的第一种流程示意图;
图1c是本发明实施例提供的预定义映射关系集合结构示意图;
图1d是本发明实施例提供的预定义信息和测试环境之间的关系示意图;
图1e是本发明实施例提供的测试环境集合的第一种结构示意图;
图1f是本发明实施例提供的测试环境集合的第二种结构示意图;
图2a是本发明实施例提供的测试方法的第二种流程示意图;
图2b是本发明实施例提供的测试页面的第一种页面示意图;
图2c是本发明实施例提供的测试页面的第二种页面示意图;
图3a是本发明实施例提供的测试***的层架构示意图;
图3b是本发明实施例提供的测试***中服务端与多客户端的信息收发示意图;
图3c是本发明实施例提供的测试***中服务端Mock测试过程示意图;
图4是本发明实施例提供的测试装置的第一种结构示意图;
图5是本发明实施例提供的测试装置的第二种结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种测试方法、装置、电子设备和存储介质。
本发明实施例提供了一种测试***,包括:本发明实施例提供的适用于客户端的测试设备,以及适用于服务端的测试设备等。
其中,服务端可以是服务器。比如,单一服务器、由多个服务器组成的服务器集群。
其中,客户端可以为终端。比如,手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑(Personal Computer,PC)等设备。
比如,参考图1a所示的测试***的结构示意图,测试***可以包括服务端和客户端,以下进行介绍:
服务端:服务端可以接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;根据请求来源信息查询目标测试环境;当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;向客户端发送目标响应内容,以便客户端显示目标响应内容。
客户端:客户端可以显示测试页面;基于用户针对测试页面的请求编辑操作,得到待测请求内容;获取身份信息;根据身份信息以及待测请求内容生成测试请求;向服务端发送测试请求,以便服务端根据身份信息生成待测请求内容对应的响应内容;接收并显示服务端返回的响应内容。
具体地,当需要进行测试时,客户端可以显示测试页面,并基于用户针对测试页面的请求编辑操作,得到待测请求内容,以及,客户端可以获取身份信息,并根据身份信息以及待测请求内容生成测试请求,最后向服务端发送测试请求;当服务端接收到客户端发来的测试请求时,服务端可以根据请求来源信息查询目标测试环境,并当存在目标测试环境时,服务端可以获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;然后,服务端可以基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;最后,服务端可以向客户端发送目标响应内容;当客户端接收到服务端发送的目标响应内容时,客户端可以该响应内容。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在本实施例中,将从测试装置的角度进行描述,该测试装置具体可以集成在服务端中,用于对客户端发送的测试请求进行Mock测试,得到响应内容。
其中,Mock测试是指对于一些不容易构造、获取的对象,通过创建其Mock对象来模拟该对象的行为,即,通过预先假设某一请求所对应的特定响应,使得每次客户端向服务端发送该请求时,服务端可以将该预先假设好的响应发送给客户端,使得客户端接收到该预先假设的响应,从而模拟出根据某一请求生成真实响应的行为。
其中,该服务端可以为电子设备,比如,服务器、终端等设备。比如,该服务端可以是服务器,例如单一服务器、服务器集群,等等。再比如,该终端可以是手机、笔记本电脑、个人电脑,等等。
如图1b所示,该测试方法的具体流程可以如下:
101、接收客户端的测试请求,其中,该测试请求可以包括请求来源信息、待测请求内容。
其中,测试请求是指客户端向服务端发起的一种请求,该请求用于请求进行软件测试。该测试请求可以包括请求来源信息和待测请求内容。
其中,请求来源信息是指发起该请求的客户端或用户的来源信息。请求来源信息种类多样,比如,请求来源信息可以是发起该测试请求的客户端的网络地址、身份标识、客户端地理定位信息等等,也可以是发起测试请求的用户用于登陆客户端的用户账号信息、用户身份信息,等等。
其中,待测请求内容是指测试请求中具体用于生成测试响应的内容,该测试请求内容中可以包括待测软件的软件信息、待测软件的待测功能模块信息、用户上传的自定义程序,等等。
接收客户端的测试请求的方式具有多种,比如,可以通过无线网络接收客户端发送的测试请求,也可以通过通信介质接收客户端发送的测试请求,比如,通过网线、U盘、光盘等接收客户端发送的测试请求,等等。
在一些实施例中,可以提前构建测试环境,用于之后为不同来源的测试请求提供测试环境,故在执行步骤101之前,还可以包括以下步骤:
a.获取预定义信息,其中,预定义信息可以包括预定义来源信息以及预定义内容;
b.查询预定义来源信息对应的测试环境;
c.当存在预定义来源信息对应的测试环境时,根据预定义内容更新测试环境对应的预定义映射关系集合;
d.当不存在预定义来源信息对应的测试环境时,根据预定义内容生成测试环境对应的预定义映射关系集合。
其中,预定义信息为预定义测试环境的信息,可以包括来源信息以及预定义内容。来源信息用于表示该预定义信息的来源,预定义内容可以用于生成或更新该测试环境对应的预定义映射关系集合。
其中,预定义来源信息可以种类多样,比如,预定义来源信息可以是进行预定义的客户端的网络地址、身份标识、客户端地理定位信息等等,也可以是用户进行预定义时用于登陆客户端的用户账号信息、用户身份信息,等等。
其中,预定义映射关系集合中可以包括至少一个预定义映射关系,该预定义映射关系为用户预定义的请求内容与用户预定义的响应内容之间的映射关系,该预定义请求内容、预定义响应内容及其映射关系都可以由预定义信息携带。比如,参考图1c,每个测试环境对应一个预定义映射关系集合,其中,预定义映射关系集合中预定义请求内容和预定义响应内容之间的映射关系可以是一一对应,也可以是一对多、多对一、多对多,等等,在此不作要求。
具体地,该预定义请求内容、预定义响应内容及其映射关系可以由用户设置,从而预先假设某一请求所对应的特定响应。
获取预定义信息的方法具有多种,比如,用户可以在客户端上设置预定义信息,服务器端可以通过接收客户端发送的预定义信息来获得;再比如,服务器端可以与网络服务器通信获得;再比如,通过读取本地内存中的预定义信息获得,等等。
其中,预定义来源信息和测试环境之间可以存在预定义映射关系,通过查询与预定义来源信息有预定义映射关系的测试环境即可确定是否存在预定义来源信息对应的测试环境,比如,通过预定义来源信息,如发送该预定义信息的客户端的网络地址,来查询该网络地址对应的测试环境的名称、编号、标识,等等。
当查询到存在预定义来源信息对应的测试环境时,可以根据预定义内容更新测试环境对应的预定义映射关系集合;当不存在预定义来源信息对应的测试环境时,可以根据预定义内容生成测试环境对应的预定义映射关系集合,比如,新建一个测试环境,将其名称、编号、标识等进行命名,以及,将该测试环境的名称、编号、标识等与预定义来源信息,如客户端的网络地址,建立关联。
比如,参考图1d,获取预定义信息C,其中,预定义信息C可以包括预定义来源信息(即网络地址C)以及预定义内容C。服务器可以通过在本地内存或在数据库中根据网络地址C查询与该网络地址C有关联的测试环境名称。
例如,当不存在预定义来源信息对应的测试环境时,生成测试环境并将其命名为测试环境C,,将测试环境C与网络地址C之间生成映射关系,并根据预定义内容C生成测试环境C对应的预定义映射关系集合c。其中,具体的命名规则具有多种,在此不做赘述。
再例如,当存在与该网络地址C对应的测试环境C时,根据预定义内容C更新该测试环境C对应的预定义映射关系集合c,将该预定义映射关系集合c更新为预定义映射关系集合c’。
需要注意的是,预定义信息中可以包括至少一对预定义来源信息和预定义内容,每对预定义来源信息和预定义内容都可以更新或生成一测试环境。例如,参考参考表1,预定义信息可以包括预定义来源信息和预定义内容,预定义内容可以携带预定义请求内容、预定义响应内容,以及该预定义请求内容和预定义响应内容之间的映射关系:
Figure BDA0002193055760000081
表1
需要注意的时,请求内容可以包括至少一个具体的请求数据,响应内容也可以包括至少一个具体的响应数据。比如,如表1中,请求a可以和响应a1、响应a2之间具有预定义映射关系。
在一些实施例中,为了支持多种网络协议、提高适用性,步骤101具体可以包括以下步骤:
a.接收客户端的测试请求数据包,其中,该测试请求数据包可以包括传输协议类型信息;
b.查询传输协议类型信息对应的数据包解析器,得到数据包解析器;
c.采用数据包解析器对测试请求数据包进行解析,得到请求来源信息、请求内容。
传输协议类型信息为携带了传输协议类型的数据信息。其中,传输协议(Communications Protocol)也称为通信协议,是指在任何物理介质中允许两个或多个在传输***中的终端之间传播信息的***标准。传输协议的类型具有多种,比如,TCP/IP协议类型(Transmission Control Protocol/Internet Protocol)、UDP协议类型(UserDatagram Protocol)、IPX/SPX协议类型(Internet work Packet Exchange)、以及,用户自定义的传输协议类型等等。
比如,传输协议类型可以包括HTTP(一种使用TCP进行传输的协议)类型、svrkit(一种使用TCP或UDP进行传输的协议)类型、logicsvr(一种使用HTTP进行传输的协议)类型,等等。
其中,数据包解析器是一种用于解析采用传输协议封装加密的数据包,不同的传输协议可以对应其专有的数据包解析器。
该数据包解析器可以理解为一段算法代码,用于解密采用传输协议加密的数据包,比如,参考表2所示的TCP/IP协议加密的数据包,TCP/IP传输协议对应的数据包解析器可以从该数据包中提取得到请求来源信息(比如,客户端地址)、请求目的地信息(比如,服务端地址)、报文类型序号(比如,请求类型序号为0x01)、确认号、头长度、报文内容(比如,待测请求内容),等等。
Figure BDA0002193055760000091
表2
102、根据请求来源信息查询目标测试环境。
具体地,步骤102可以包括以下步骤:
(1)获取测试环境集合,其中,该测试环境集合中可以包括至少一个虚拟测试环境。
(2)遍历测试环境集合中的虚拟测试环境。
(3)当测试环境集合中存在请求来源信息对应的虚拟测试环境时,将请求来源信息对应的虚拟测试环境确定为目标测试环境。
参考图1e,测试环境集合中可以包括虚拟测试环境1、虚拟测试环境2、虚拟测试环境3,每个虚拟测试环境都有其对应的请求来源信息,每当要根据请求来源信息查询目标测试环境时,则首先遍历测试环境集合中的虚拟测试环境,将请求来源信息与请求来源信息1、请求来源信息2、请求来源信息3分别比对,将具有相同请求来源信息的虚拟测试环境确定为目标测试环境。
在一些实施例中,为了同时对待测软件的不同功能模块在互不干扰的情况下进行同时mock测试,从而进一步提升测试效率,参考图1f,测试请求可以包括待测试模块信息,目标测试环境可以包括至少一个模块测试子环境,预定义映射关系集合可以包括至少一个预定义映射关系子集合,步骤102之后,还可以包括以下步骤:
根据待测试模块信息在模块测试子环境中确定目标模块测试子环境。
其中,待测试模块信息为待测软件的待测模块的信息,每个模块可以包括至少一个接口的接口信息。接口可以声明使用该模块的标识符,用于指明模块的功能,即模块能做什么。
比如,传输模块可以包括接收接口、解析接口、封装接口和发送接口等。
在一些实施例中,为了防止没有合适的虚拟服务环境造成测试停滞,在无法查询到合适的虚拟服务环境时,可以转向采用真实的测试环境进行测试,从而进一步提高测试效率,测试环境还可以包括至少一个真实测试环境,步骤“遍历测试环境集合中的虚拟测试环境”之后,还可以包括以下步骤:
a.当测试环境集合中不存在请求来源信息对应的虚拟测试环境时,遍历测试环境集合中的真实测试环境;
b.当测试环境集合中存在请求来源信息对应的真实测试环境时,采用真实测试环境对待测请求内容进行测试,得到真实响应内容;
c.将真实响应内容发送给客户端,以便客户端显示真实响应内容。
其中,采用真实测试环境对待测请求内容进行测试,得到真实响应内容的方式具有多种,比如,在服务端中提供真实测试服务,采用真实测试服务对测试请求作出响应,得到真实响应内容;再比如,网络服务器可以提供真实测试服务,当测试环境集合中存在请求来源信息对应的真实测试环境时,将测试请求发往该真实测试环境的网络服务器地址,以使网络服务器在真实测试环境中提供真实测试服务,再从该网络服务器获取其返回的响应,得到真实响应内容。
103、当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系。
获取目标测试环境对应的预定义映射关系集合的方法具有多种,比如,通过读取本地内存来获得、通过与网络服务器通信获得、从数据库中查询获得、由用户录入获得,等等。
在一些实施例中,为了同时对待测软件的不同功能模块在互不干扰的情况下进行同时mock测试,从而进一步提升测试效率,在步骤102中可以根据待测试模块信息在模块测试子环境中确定目标模块测试子环境,故步骤103具体可以包括以下步骤:
当存在目标模块测试子环境时,获取目标模块测试子环境对应的预定义映射关系子集合。
104、基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容。
具体地,步骤104可以包括以下步骤:
a.遍历目标测试环境对应的预定义映射关系集合中所有的请求内容;
b.确定目标测试环境对应的预定义映射关系集合中与待测请求内容相同的请求内容;
c.获取该与待测请求内容相同的请求内容对应的响应内容,并将其确定为目标响应内容。
在一些实施例中,为了同时对待测软件的不同功能模块在互不干扰的情况下进行同时mock测试,从而进一步提升测试效率,在步骤103中可以获取目标模块测试子环境对应的预定义映射关系子集合,故步骤104具体可以包括以下步骤:
基于目标模块测试子环境对应的预定义映射关系子集合确定待测请求内容对应的目标响应内容。
105、向客户端发送目标响应内容,以便客户端显示目标响应内容。
在一些实施例中,为了提高适用性,在步骤101时已经获取了携带传输协议类型信息的测试请求数据包,故步骤105具体可以包括以下步骤:
a.查询传输协议类型信息对应的数据包封装器,得到数据包封装器;
b.采用数据包封装器对目标响应内容进行封装,得到携带目标响应内容的测试响应数据包;
c.向客户端发送测试响应数据包。
其中,数据包封装器可以理解为一段算法代码,用于采用传输协议对待加密内容进行加密,生成加密后数据包。不同的传输协议可以对应其专有的数据包封装器。比如,TCP/IP协议对应TCP/IP数据包封装器。
在一些实施例中,为了便于用户查询测试历史,该测试方法还可以包括以下步骤:
a.接收客户端的日志查询请求;
b.基于日志查询请求在日志数据库中获取日志数据;
c.向客户端发送日志数据,以便客户端显示日志数据;
其中,日志数据可以包括客户端在历史时刻发送的测试请求以及接收到的响应内容等信息。
比如,日志查询请求中可以包括发送该日志查询请求的客户端网络地址信息,基于该客户端网络地址信息可以在日志数据库中查询到该客户端在所有历史时刻发送的测试请求以及接收到的响应内容等信息。
在一些实施例中,每完成一次测试则可以将这次测试的数据保存到日志数据库中,以便用户查询,故向客户端发送目标响应内容之后,还包括:
基于测试请求和目标响应内容生成日志数据,以及将日志数据保存到日志数据库中。
由上可知,本发明实施例可以接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;根据请求来源信息查询目标测试环境;当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;向客户端发送目标响应内容,以便客户端显示目标响应内容。由此,在本发明实施例中,不同来源的测试请求可以对应其独有的测试环境,采用该独有的测试环境可以生成该测试请求对应的测试响应。该方案可以同时处理不同来源的测试请求,从而提升测试效率。
在本实施例中,将从测试装置的角度进行描述,该测试装置具体可以集成在客户端中,用于生成并向服务端发送测试请求,以及接收并显示服务端返回的响应内容。
如图2a所示,该测试方法的具体流程可以如下:
201、显示测试页面。
其中,测试页面可以包括请求区域和响应区域,客户端可以获取用户在请求区域内编辑的待测请求内容,并将该待测请求内容发送给服务端,以及,从服务端获取响应内容,并将该响应内容在响应区域进行显示。
202、基于用户针对测试页面的请求编辑操作,得到待测请求内容。
其中,基于用户针对测试页面的请求编辑操作,得到待测请求内容的方式具有多种,比如,可以通过用户上传携带测试请求的脚本(Script)来获得待测请求内容,也可以通过用户在预设的测试请求中选取待测请求,得到待测请求内容,等等。
比如,参考图2b,请求区域可以包括新增请求控件、已增请求的请求编辑控件、请求删除控件、请求发送控件,等等。用户可以通过点击新增请求控件来创建一个已增请求,并通过点击请求编辑控件来显示请求编辑页面,在该请求编辑页面中,用户可以上传携带测试请求的脚本,使得客户端可以得到待测请求内容。
在一些实施例中,测试页面还可以包括预定义区域,比如,参考图2c,该预定义区域可以包括新增预定义控件、已增预定义的预定义编辑控件、预定义删除控件,等等。用户可以通过点击新增预定义控件来创建一个已增预定义,在预定义编辑控件中用户可以导入或输入预定义信息,客户端可以将该预定义信息发送给服务端。
203、获取身份信息。
其中,身份信息可以客户端的身份信息、用户登陆该用户端时的身份信息,等等。
比如,身份信息可以是客户端的网络地址,也可以是用户登陆该用户端时的账号、昵称,等等。
204、根据身份信息以及待测请求内容生成测试请求。
客户端可以生成一个携带身份信息和待测请求内容的测试请求。
在一些实施例中,为了提高安全性,在传输待测请求内容之前可以对其进行加密,测试请求可以被加密后的测试请求数据包携带,步骤304具体可以包括以下步骤:
a.获取传输协议类型信息,以及传输协议类型信息对应的数据包封装器;
b.根据数据包封装器对身份信息、待测请求内容、传输协议类型信息进行封装,得到测试请求数据包;
c.向服务端发送测试请求数据包。
其中,具体的传输协议类型信息,以及传输协议类型信息对应的数据包封装器可以参考步骤101和步骤105,在此不做赘述。
205、向服务端发送测试请求,以便服务端根据身份信息生成待测请求内容对应的响应内容。
206、接收并显示服务端返回的响应内容。
接收到服务端返回的响应内容后,客户端可以在响应区域进行显示。
在一些实施例中,服务端返回的是加密后的测试响应数据包,需要进行解析后才能得到响应内容,故步骤206具体可以包括以下步骤:
a.接收服务端返回的测试响应数据包;
b.获取传输协议类型信息对应的数据包解析器;
c.采用数据包解析器对测试响应数据包进行解析,得到响应内容;
d.显示响应内容。
传输协议类型信息对应的数据包解析器可以参考步骤101,在此不做赘述。
由上可知,本发明实施例可以显示测试页面;基于用户针对测试页面的请求编辑操作,得到待测请求内容;获取身份信息;根据身份信息以及待测请求内容生成测试请求;向服务端发送测试请求,以便服务端根据身份信息生成待测请求内容对应的响应内容;接收并显示服务端返回的响应内容。在本方案中,多个客户端可以互不干扰地同时将携带其身份信息的测试请求发送给客户端,以使客户端可以同时处理这些测试请求,从而提升测试效率。
本发明实施例提供的测试方法可以具体应用在各种测试场景中,比如,本方案可以应用在对待测软件进行Mock测试(一种测试方法)的团队测试场景中。
在本实施例中,将以测试团队对待测软件进行Mock测试为例,对本方案进行详细说明。
如图3a所示,本方案提供一种测试***,该测试***包括客户端和服务端,在该测试***架构中,客户端包括展现层和前端逻辑层,服务端包括后端逻辑层和存储层。其中,展现层中可以包括多个页面显示功能,比如,测试页面和日志查询页面等页面显示功能;逻辑层包括前端逻辑层和后端逻辑层,其中,前端逻辑层中可以包括数据文件管理、接口管理、预定义管理、日志查询等逻辑程序,后端逻辑层中可以包括初始化、日志存储、解析请求、预定义信息获取、预定义信息匹配、生成响应等逻辑程序;存储层中可以包括数据库、本地内存等存储介质。
该方案流程如下:
(一)客户端显示测试页面,并根据用户针对测试页面的操作生成测试请求数据包。
在本实施例中,用户可以点击测试页面的新增请求控件来生成测试请求,并通过点击请求编辑控件来编辑待测请求内容。
客户端获取待测请求内容后,可以根据自身预设的传输协议对应的数据包封装器,将该待测请求内容、客户端自身的网络地址封装为一个测试请求数据包。
例如,采用数据包封装器,客户端可以通过自定义协议对应的封装方法来加密测试请求数据包。
(二)客户端向服务器发送测试请求数据包,服务端接收并解析测试请求数据包。
其中,服务端可以根据服务端自身预设的传输协议获取对应的数据包解析器,并通过该数据包解析器解析测试请求数据包,得到请求来源信息(即客户端网络地址)、待测请求内容。
例如,数据包解析器可以用于解析自定义协议类型加密的测试请求数据包,比如,应用服务(app server)类型、逻辑服务(logic server)类型,等等。
(三)服务端根据客户端网络地址查询目标测试环境。
具体地,参考图3b,服务端可以根据客户端网络地址来区分该请求的Mock测试环境。Mock服务器中可以定义多套Mock测试环境,各套环境间相互隔离。
需要注意的是,同一个来源的请求只能对应一个Mock测试环境,但是不同的来源的请求可以对应同一个Mock测试环境。
每当服务端根据客户端网络地址查询到了客户端网络地址对应的Mock测试环境,则启用该Mock测试环境,将其作为目标测试环境。
当服务端根据客户端网络地址无法查询到该客户端网络地址对应的Mock测试环境时,即无法进行Mock测试时,则服务端可以将客户端发送的测试请求数据包转发到待测应用的真实应用服务器,以进行应用测试。
比如,参考图3c,测试请求数据包中可以携带客户端网络地址,服务端可以遍历所有Mock测试环境对应的预设网络地址,例如,当该客户端网络地址为网络地址A、Mock测试环境1对应的预设网络地址也为网络地址A时,则开启Mock测试环境1,并将其确定为目标测试环境。
(四)服务端获取客户端的预定义信息,并生成或更新预定义映射关系表。
在本方案中,用户可以在客户端的测试页面上对预定义请求、预定义响应,及其之间的映射关系进行配置,客户端将这些配置好的数据发送给服务端后,服务端可以将这些数据与该客户端的网络地址建立映射关系,用于对该客户端发送的测试请求进行Mock测试。
比如,参考图3c,当服务端获取客户端的预定义信息后,可以根据预定义信息生成或更新本地内存中的预定义映射关系表,该预定义映射关系表中可以包括用户预先定义的预定义请求内容、预定义响应内容,及其之间的映射关系等信息。
例如,预定义映射关系表中可以包括预定义请求x以及与其对应的预定义响应X、预定义请求y以及与其对应的预定义响应Y、预定义请求z以及与其对应的预定义响应Z,等等。
(五)服务端根据预定义映射关系表对待测请求内容进行匹配,得到目标响应内容。
在本方案中,服务端可以遍历预定义映射关系表中所有的预定义请求内容,并与待测请求内容进行对比,以找出与待测请求内容相同的预定义请求内容,及其对应的预定义响应,并将该预定义响应作为目标响应内容。
比如,参考图3c,服务端可以将待测请求内容分别于预定义请求x、预定义请求y、预定义请求z对比,当待测请求内容和预定义请求x相同时,则将预定义响应X作为目标响应内容。
(六)服务端将目标响应内容封装为测试响应数据包,并将其发送给客户端,以使客户端接收并解析该测试响应数据包后在测试页面显示目标响应内容。
服务端将目标响应内容封装为测试响应数据包的方式可以类似于客户端生成测试请求数据包的方式;客户端接收到测试响应数据包的方式可以类似于服务端接收到客户端发送的测试请求数据包的方式。
客户端解析该测试响应数据包后可以获得目标响应内容,并在测试页面的响应区域进行显示。
除此之外,本实施例中,每经过一次完整的Mock测试,服务端都可以将此次Mock测试的发生时间、客户端信息、待测请求内容、目标响应内容等信息作为日志数据保存在日志数据库中,用户可以通过客户端日志查询页面来从日志数据库中获取这些日志数据。
由上可知,本实施例中客户端可以显示测试页面,并根据用户针对测试页面的操作生成测试请求数据包;客户端向服务器发送测试请求数据包,服务端接收并解析测试请求数据包;服务端根据客户端网络地址查询目标测试环境;服务端获取客户端的预定义信息,并生成或更新预定义映射关系表;服务端根据预定义映射关系表对待测请求内容进行匹配,得到目标响应内容;服务端将目标响应内容封装为测试响应数据包,并将其发送给客户端,以使客户端接收并解析该测试响应数据包后在测试页面显示目标响应内容。由此,本方案可以由多个用户同时对某应用软件进行测试,且互不干扰,提高了测试的安全性、效率,以及准确度。用户还可以在测试页面配置预定义信息,提高了测试的适用性和灵活度。此外,本方案还支持多种传输协议类型,以及支持自定义传输协议类型,进一步提升了适用性。
为了更好地实施以上方法,本发明实施例提供了一种测试装置,适用于服务端,该测试装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。
比如,在本实施例中,将从测试装置的角度进行描述,以该测试装置具体集成在服务端中为例,对本发明实施例的方法进行详细说明。
如图4所示,该测试装置可以包括接收单元401、环境单元402、映射关系单元403、响应单元404以及发送单元405,如下:
(一)接收单元401。
接收单元401,用于接收客户端的测试请求。
其中,该测试请求可以包括请求来源信息、待测请求内容。
在一些实施例中,接收单元401在接收客户端的测试请求之前,还可以用于:
a.获取预定义信息,其中,该预定义信息包括预定义来源信息以及预定义内容;
b.查询预定义来源信息对应的测试环境;
c.当存在预定义来源信息对应的测试环境时,根据预定义内容更新测试环境对应的预定义映射关系集合;
d.当不存在预定义来源信息对应的测试环境时,根据预定义内容生成测试环境对应的预定义映射关系集合。
在一些实施例中,接收单元401具体可以用于:
a.接收客户端的测试请求数据包,其中,该测试请求数据包包括传输协议类型信息;
b.查询传输协议类型信息对应的数据包解析器,得到数据包解析器;
c.采用数据包解析器对测试请求数据包进行解析,得到请求来源信息、请求内容。
(二)环境单元402。
环境单元402,用于根据请求来源信息查询目标测试环境。
在一些实施例中,环境单元402可以包括环境子单元、虚拟子单元和目标环境子单元,如下:
(1)环境子单元。
环境子单元,用于获取测试环境集合,其中,该测试环境集合可以包括至少一个虚拟测试环境。
(2)虚拟子单元。
虚拟子单元,用于遍历测试环境集合中的虚拟测试环境。
在一些实施例中,测试环境还可以包括至少一个真实测试环境,虚拟子单元在遍历测试环境集合中的虚拟测试环境之后,具体还可以用于:
a.当测试环境集合中不存在请求来源信息对应的虚拟测试环境时,遍历测试环境集合中的真实测试环境;
b.当测试环境集合中存在请求来源信息对应的真实测试环境时,采用真实测试环境对待测请求内容进行测试,得到真实响应内容;
c.将真实响应内容发送给客户端,以便客户端显示真实响应内容。
在一些实施例中,测试请求可以包括待测试模块信息,目标测试环境可以包括至少一个模块测试子环境,预定义映射关系集合可以包括至少一个预定义映射关系子集合。
(3)目标环境子单元。
目标环境子单元,用于当测试环境集合中存在请求来源信息对应的虚拟测试环境时,将请求来源信息对应的虚拟测试环境确定为目标测试环境。
在一些实施例中,环境单元402在根据请求来源信息查询目标测试环境之后,还可以用于:
根据待测试模块信息在模块测试子环境中确定目标模块测试子环境。
(三)预定义映射关系单元403。
预定义映射关系单元403,用于当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系。
在一些实施例中,预定义映射关系单元403具体可以用于:
当存在目标模块测试子环境时,获取目标模块测试子环境对应的预定义映射关系子集合;
(四)响应单元404。
响应单元404,用于基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容。
在一些实施例中,目标测试环境可以包括至少一个模块测试子环境,预定义映射关系集合可以包括至少一个预定义映射关系子集合,响应单元404可以用于:
基于目标模块测试子环境对应的预定义映射关系子集合确定待测请求内容对应的目标响应内容。
(五)发送单元405。
发送单元405,用于向客户端发送目标响应内容,以便客户端显示目标响应内容。
在一些实施例中,发送单元405具体可以用于:
a.查询传输协议类型信息对应的数据包封装器,得到数据包封装器;
b.采用数据包封装器对目标响应内容进行封装,得到携带目标响应内容的测试响应数据包;
c.向客户端发送测试响应数据包。
在一些实施例中,该测试装置还可以包括日志单元,该日志单元可以用于:
a.接收客户端的日志查询请求;
b.基于日志查询请求在日志数据库中获取日志数据;
c.向客户端发送日志数据,以便客户端显示日志数据;
在一些实施例中,发送单元405可以在向客户端发送目标响应内容之后用于:
基于测试请求和目标响应内容生成日志数据,以及将日志数据保存到日志数据库中。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的测试装置由接收单元接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;由环境单元根据请求来源信息查询目标测试环境;由映射关系单元当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;由响应单元基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;由发送单元向客户端发送目标响应内容,以便客户端显示目标响应内容。该方案可以提升测试效率。
为了更好地实施以上方法,本发明实施例还对应地提供了一种测试装置,适用于客户端,该测试装置具体可以集成在电子设备中,该电子设备可以为终端,例如手机、笔记本电脑、平板电脑、个人电脑等。
比如,在本实施例中,将以该测试装置集成在服笔记本电脑中为例,对本发明实施例的方法进行详细说明。
如图5所示,该测试装置可以包括页面单元501、编辑单元502、获取单元503、生成单元504、请求单元505以及显示单元506如下:
(一)页面单元501。
页面单元501,用于显示测试页面。
(二)编辑单元502。
编辑单元502,用于基于用户针对测试页面的请求编辑操作,得到待测请求内容。
(三)获取单元503。
获取单元503,用于获取身份信息。
(四)生成单元504。
生成单元504,用于根据身份信息以及待测请求内容生成测试请求。
其中,测试请求可以包括测试请求数据包,生成单元504具体可以用于:
获取传输协议类型信息,以及传输协议类型信息对应的数据包封装器;
根据数据包封装器对身份信息、待测请求内容、传输协议类型信息进行封装,得到测试请求数据包;
向服务端发送测试请求数据包。
(五)请求单元505。
请求单元505,用于向服务端发送测试请求,以便服务端根据身份信息生成待测请求内容对应的响应内容。
(六)显示单元506。
显示单元506,用于接收并显示服务端返回的响应内容。
其中,显示单元506具体可以用于:
接收服务端返回的测试响应数据包;
获取传输协议类型信息对应的数据包解析器;
采用数据包解析器对测试响应数据包进行解析,得到响应内容;
显示响应内容。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的测试装置由页面显示测试页面;由编辑单元基于用户针对测试页面的请求编辑操作,得到待测请求内容;由获取单元获取身份信息;由生成单元根据身份信息以及待测请求内容生成测试请求;由请求单元向服务端发送测试请求,以便服务端根据身份信息生成待测请求内容对应的响应内容;由显示单元接收并显示服务端返回的响应内容。该方案可以提升测试效率。
本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。
比如,终端可以是手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,比如,如图6所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603、输入模块604以及通信模块605等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器601可包括一个或多个处理核心;在一些实施例中,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户页面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
服务器还包括给各个部件供电的电源603,在一些实施例中,电源603可以通过电源管理***与处理器601逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入模块604,该输入模块604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括通信模块605,在一些实施例中通信模块605可以包括无线模块,服务器可以通过该通信模块605的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块605可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;
根据请求来源信息查询目标测试环境;
当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;
向客户端发送目标响应内容,以便客户端显示目标响应内容。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本发明实施例接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;根据请求来源信息查询目标测试环境;当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;向客户端发送目标响应内容,以便客户端显示目标响应内容。本方案可以提升测试效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测试方法中的步骤。例如,该指令可以执行如下步骤:
接收客户端的测试请求,其中,该测试请求包括请求来源信息、待测请求内容;
根据请求来源信息查询目标测试环境;
当存在目标测试环境时,获取目标测试环境对应的预定义映射关系集合,其中,该预定义映射关系集合包括至少一个预定义映射关系,该预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
基于目标测试环境对应的预定义映射关系集合确定待测请求内容对应的目标响应内容;
向客户端发送目标响应内容,以便客户端显示目标响应内容。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种测试方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种测试方法,其特征在于,包括:
接收客户端的测试请求,所述测试请求包括请求来源信息、待测请求内容;
根据所述请求来源信息查询目标测试环境;
当存在所述目标测试环境时,获取所述目标测试环境对应的预定义映射关系集合,所述预定义映射关系集合包括至少一个预定义映射关系,所述预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
基于所述目标测试环境对应的预定义映射关系集合确定所述待测请求内容对应的目标响应内容;
向客户端发送所述目标响应内容,以便客户端显示所述目标响应内容。
2.如权利要求1所述的测试方法,其特征在于,所述根据所述请求来源信息查询目标测试环境,包括:
获取测试环境集合,所述测试环境集合包括至少一个虚拟测试环境;
遍历所述测试环境集合中的虚拟测试环境;
当所述测试环境集合中存在所述请求来源信息对应的虚拟测试环境时,将所述请求来源信息对应的虚拟测试环境确定为目标测试环境。
3.如权利要求2所述的测试方法,其特征在于,所述测试环境还包括至少一个真实测试环境,遍历所述测试环境集合中的虚拟测试环境之后,还包括:
当所述测试环境集合中不存在所述请求来源信息对应的虚拟测试环境时,遍历所述测试环境集合中的真实测试环境;
当所述测试环境集合中存在所述请求来源信息对应的真实测试环境时,采用所述真实测试环境对所述待测请求内容进行测试,得到真实响应内容;
将所述真实响应内容发送给客户端,以便客户端显示所述真实响应内容。
4.如权利要求1所述的测试方法,其特征在于,接收客户端的测试请求,包括:
接收客户端的测试请求数据包,所述测试请求数据包包括传输协议类型信息;
查询所述传输协议类型信息对应的数据包解析器,得到所述数据包解析器;
采用所述数据包解析器对所述测试请求数据包进行解析,得到请求来源信息、请求内容;
所述向客户端发送所述目标响应内容,包括:
查询所述传输协议类型信息对应的数据包封装器,得到所述数据包封装器;
采用所述数据包封装器对所述目标响应内容进行封装,得到携带所述目标响应内容的测试响应数据包;
所述向客户端发送所述测试响应数据包。
5.如权利要求1所述的测试方法,其特征在于,所述测试请求包括待测试模块信息,所述目标测试环境包括至少一个模块测试子环境,所述预定义映射关系集合包括至少一个预定义映射关系子集合;
所述根据所述请求来源信息查询目标测试环境之后,还包括:
所述根据所述待测试模块信息在所述模块测试子环境中确定目标模块测试子环境;
所述当存在所述目标测试环境时,获取所述目标测试环境对应的预定义映射关系集合,包括:
当存在所述目标模块测试子环境时,获取所述目标模块测试子环境对应的预定义映射关系子集合;
所述基于所述目标测试环境对应的预定义映射关系集合确定所述待测请求内容对应的目标响应内容,包括:
基于所述目标模块测试子环境对应的预定义映射关系子集合确定所述待测请求内容对应的目标响应内容。
6.如权利要求1所述的测试方法,其特征在于,接收客户端的测试请求之前,还包括:
获取预定义信息,所述预定义信息包括预定义来源信息以及预定义内容;
查询所述预定义来源信息对应的测试环境;
当存在所述预定义来源信息对应的测试环境时,根据所述预定义内容更新所述测试环境对应的预定义映射关系集合;
当不存在所述预定义来源信息对应的测试环境时,根据所述预定义内容生成所述测试环境对应的预定义映射关系集合。
7.如权利要求1所述的测试方法,其特征在于,还包括:
接收客户端的日志查询请求;
基于所述日志查询请求在日志数据库中获取日志数据;
向客户端发送所述日志数据,以便客户端显示所述日志数据;
所述向客户端发送所述目标响应内容之后,还包括:
基于所述测试请求和目标响应内容生成日志数据,以及将所述日志数据保存到日志数据库中。
8.一种测试装置,其特征在于,包括:
接收单元,用于接收客户端的测试请求,所述测试请求包括请求来源信息、待测请求内容;
环境单元,用于根据所述请求来源信息查询目标测试环境;
预定义映射关系单元,用于当存在所述目标测试环境时,获取所述目标测试环境对应的预定义映射关系集合,所述预定义映射关系集合包括至少一个预定义映射关系,所述预定义映射关系为预定义请求内容和预定义响应内容之间的映射关系;
响应单元,用于基于所述目标测试环境对应的预定义映射关系集合确定所述待测请求内容对应的目标响应内容;
发送单元,用于向客户端发送所述目标响应内容,以便客户端显示所述目标响应内容。
CN201910838896.3A 2019-09-05 2019-09-05 测试方法和装置 Active CN112445700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910838896.3A CN112445700B (zh) 2019-09-05 2019-09-05 测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910838896.3A CN112445700B (zh) 2019-09-05 2019-09-05 测试方法和装置

Publications (2)

Publication Number Publication Date
CN112445700A true CN112445700A (zh) 2021-03-05
CN112445700B CN112445700B (zh) 2023-10-13

Family

ID=74733366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910838896.3A Active CN112445700B (zh) 2019-09-05 2019-09-05 测试方法和装置

Country Status (1)

Country Link
CN (1) CN112445700B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051159A (zh) * 2021-03-18 2021-06-29 中国工商银行股份有限公司 移动端应用测试方法和装置
CN113608994A (zh) * 2021-06-30 2021-11-05 天津五八到家货运服务有限公司 请求处理方法及***
CN114238099A (zh) * 2021-12-09 2022-03-25 北京五八信息技术有限公司 灰度测试的方法、装置、电子设备以及可读介质
CN116701470A (zh) * 2023-08-07 2023-09-05 舟谱数据技术南京有限公司 中台架构下客户问题的复现方法、装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683386A (zh) * 2013-11-26 2015-06-03 腾讯科技(深圳)有限公司 可定制响应的桩服务实现方法及装置
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和***
CN107122292A (zh) * 2016-10-21 2017-09-01 北京小度信息科技有限公司 一种模拟服务的方法及***
CN107580080A (zh) * 2017-09-15 2018-01-12 北京奇艺世纪科技有限公司 一种测试环境的连接方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683386A (zh) * 2013-11-26 2015-06-03 腾讯科技(深圳)有限公司 可定制响应的桩服务实现方法及装置
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和***
CN107122292A (zh) * 2016-10-21 2017-09-01 北京小度信息科技有限公司 一种模拟服务的方法及***
CN107580080A (zh) * 2017-09-15 2018-01-12 北京奇艺世纪科技有限公司 一种测试环境的连接方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051159A (zh) * 2021-03-18 2021-06-29 中国工商银行股份有限公司 移动端应用测试方法和装置
CN113608994A (zh) * 2021-06-30 2021-11-05 天津五八到家货运服务有限公司 请求处理方法及***
CN114238099A (zh) * 2021-12-09 2022-03-25 北京五八信息技术有限公司 灰度测试的方法、装置、电子设备以及可读介质
CN116701470A (zh) * 2023-08-07 2023-09-05 舟谱数据技术南京有限公司 中台架构下客户问题的复现方法、装置、电子设备及介质
CN116701470B (zh) * 2023-08-07 2023-10-13 舟谱数据技术南京有限公司 中台架构下客户问题的复现方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN112445700B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN112445700B (zh) 测试方法和装置
US20220294850A1 (en) Cloud storage methods and systems
CN110247784B (zh) 确定网络拓扑结构的方法和装置
CN107426335B (zh) 一种可自动生成云环境配置文件的***及使用方法
CN108370379A (zh) 带有隧道的设备管理
WO2020048453A1 (zh) 网元管理方法、装置、***及存储介质
US20170289243A1 (en) Domain name resolution method and electronic device
CN112367684B (zh) 流量控制方法、装置、存储介质及计算机设备
CN111490908B (zh) 一种网络测速方法、装置、设备、介质及测速***
CN109379742A (zh) 一种无线局域网的接入方法、装置和存储介质
WO2021023149A1 (zh) 一种动态返回报文的方法和装置
CN110557284A (zh) 基于客户端网关的数据聚合方法及装置
CN106453349B (zh) 账号登录方法及装置
CN104506450A (zh) 媒体资源反馈方法及装置
CN110933170A (zh) 一种ZigBee网关的多设备联动控制方法、设备及存储介质
CN111585786A (zh) 一种大数据集群免密搭建方法的实现
US9350738B2 (en) Template representation of security resources
CN104052679A (zh) 网络流量的负载均衡方法和装置
US9769332B1 (en) Camera intercept device
CN103491153A (zh) 一种数据共享的方法、设备及对等网络***
US20150039917A1 (en) Information processing device, activation method, and computer program product
CN112738019B (zh) 设备信息的显示方法、装置、存储介质以及电子装置
CN114025009A (zh) 转发请求的方法、***、代理服务器和装置
TWI735633B (zh) 資料傳輸的方法、設備、裝置及系統
CN110943962B (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