CN109840211A - 应用测试方法、系统、装置和存储介质 - Google Patents

应用测试方法、系统、装置和存储介质 Download PDF

Info

Publication number
CN109840211A
CN109840211A CN201910117713.9A CN201910117713A CN109840211A CN 109840211 A CN109840211 A CN 109840211A CN 201910117713 A CN201910117713 A CN 201910117713A CN 109840211 A CN109840211 A CN 109840211A
Authority
CN
China
Prior art keywords
service
test environment
test
server
chaining
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.)
Pending
Application number
CN201910117713.9A
Other languages
English (en)
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 Dami Technology Co Ltd
Original Assignee
Beijing Dami 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 Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN201910117713.9A priority Critical patent/CN109840211A/zh
Publication of CN109840211A publication Critical patent/CN109840211A/zh
Priority to PCT/CN2019/120295 priority patent/WO2020164289A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Abstract

本申请公开了一种应用测试方法、系统、装置和存储介质,在需要利用一个或多个服务对目标应用进行测试时,在多个测试环境中检索所需的服务,实现在多个测试环境之间调用服务对目标应用进行测试,这样不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。

Description

应用测试方法、系统、装置和存储介质
技术领域
本申请涉及测试领域,尤其涉及一种应用测试方法、系统、装置和存储介质。
背景技术
应用测试是一种评估应用的正确性、完整性、安全性和质量的过程,换句话说,软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。为了实现应用不同功能的测试,需要构建不同的测试环境,利用不同的测试环境对应用进行测试。测试环境中包括测试服务,测试服务为测试过程中的操作单元,如:实现具体功能的程序、进程、线程等,测试服务利用预先配置的测试实例对应用进行测试,在指定功能的测试中,需要调用测试环境中的多个测试服务来完成。在目前的测试环境架构中,为了实现应用不同功能的测试,需要构建不同的测试环境,各个测试环境中的容量都非常大,部署这些测试环境和维护这些测试环境需要成本会很高。
发明内容
为解决上述的技术问题,本申请提供一种应用测试方法、系统、相关装置和存储介质,能实现在不同的测试环境中调用服务对软件进行测试,不同的测试环境之间的服务可以进行共享,减少了不同服务器上测试环境中服务类型的冗余,从而降低了部署了测试环境的部署成本和维护成本。
第一方面,本申请提供了一种应用测试方法,包括:
根据服务链信息确定第一服务对应的第二服务,其中,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第二服务为所述第一服务的下一个服务,所述第一服务部署在第一测试环境中。
若在所述第一测试环境中未检索到所述第二服务,向第二测试环境发送第一调用请求,其中,所述第一服务调用请求用于指示在第二测试环境中检索所述第二服务。
在一种可能的设计中,根据服务链信息确定第一服务对应的第二服务之前,还包括:
接收来对目标应用的测试请求,其中,所述测试请求携带所述第一测试环境的域名、所述服务链信息和的部署第一测试环境的服务器的网络地址中的一种或多种。
在一种可能的设计中,所述方法还包括:
若在所述第一测试环境中检索到所述第二服务,在所述第一测试环境中运行所述第二服务;和/或根据所述服务链信息确定所述第二服务是所述服务链中的最后一个服务,向所述代理服务器发送测试完成消息,其中,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
在一种可能的设计中,所述方法还包括:
根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务,其中,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第一测试环境中检索到所述第三服务时,在所述第一测试环境中运行所述第三服务;和/或,若在所述第一测试环境中未检索到所述第三服务,向所述第二测试环境发送第二调用请求,所述第二调用请求用于指示在所述第二测试环境中检索所述第三服务。
在一种可能的设计中,还包括:
根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务;和/或,若在所述第二测试环境中未检索到所述第三服务,向所述第一测试环境发送第二调用请求,所述第二调用请求用于指示在所述第一测试环境中检索所述第三服务。
在一种可能的设计中,还包括:
接收来自第二测试环境的第三调用请求,所述第三调用请求包括第四服务的标识;
在所述第一测试环境中检索到所述第四服务;
向代理服务器发送所述第四服务的运行结果。
在一种可能的设计中,所述第一测试环境为全量测试环境,所述第二测试环境为目标应用的专用测试环境;或所述第一测试环境为目标应用的专用测试环境,所述第二测试环境为全量测试环境或其他专用测试环境。专用测试环境表示测试目标应用的专属的服务。
第二方面,本申请提供了一种应用测试方法,包括:
接收来自第一测试环境的第一调用请求,所述第一调用请求携带第二服务的标识;
在部署的第二测试环境中检索到所述第二服务;
在所述第二测试环境中运行所述第二服务,发送所述第二服务的运行结果。
在一种可能的设计中,所述第二服务器发送第二服务的运行结果包括:
根据服务链信息确定第二服务是服务链中的最后一个服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务;
发送测试完成消息;其中,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
在一种可能的设计中,所述方法还包括:
根据服务链信息确定所述第二服务对应的第三服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第三服务为所述服务链中所述第二服务的下一个服务;
若在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务,发送所述第三服务的运行结果。
在一种可能的设计中,所述方法还包括:
若在所述第二测试环境中未检索到所述第三服务时,所述第二服务器向所述第一服务器发送第三调用请求,所述第三调用请求用于指示在第一测试环境中检索所述第三服务。
第三方面,本申请提供了一种应用测试系统,包括:通信连接的第一服务器和第二服务器,其中,所述第一服务器,根据服务链信息确定第一服务的第二服务;其中,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第二服务为所述服务链中所述第一服务的下一个服务,所述第一服务器部署有第一测试环境,所述第一测试环境包括所述第一服务;并且,当在所述第一测试环境中未检索到所述第二服务,第一服务器向第二服务器发送第一调用请求;
所述第二服务器,部署有第二测试环境,第二测试环境包括第二服务;第二服务器根据所述第一调用请求,在所述第二测试环境中运行服务器所述第二服务。
在一种可能的设计中,还包括:服务器与所述第二服务器通信连接的第三服务器,接收第二服务器发送的第二服务的运行结果。
本申请又一方面提供了一种装置,可以实现上述第一方面或第二方面的应用测试方法方法。例如所述装置可以是芯片(如基带芯片,或通信芯片等)或者服务器。可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。
在一种可能的实现方式中,所述装置的结构中包括处理器、存储器;所述处理器被配置为支持所述装置执行上述应用测试方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和/或数据。可选的,所述装置还可以包括通信接口用于支持所述装置与其他网元之间的通信。
在另一种可能的实现方式中,所述装置,可以包括执行上述方法中相应动作的单元模块。
在又一种可能的实现方式中,包括处理器和收发装置,所述处理器与所述收发装置耦合,所述处理器用于执行计算机程序或指令,以控制所述收发装置进行信息的接收和发送;当所述处理器执行所述计算机程序或指令时,所述处理器还用于实现上述方法。其中,所述收发装置可以为收发器、收发电路或输入输出接口。当所述装置为芯片时,所述收发装置为收发电路或输入输出接口。
当所述装置为芯片时,发送单元可以是输出单元,比如输出电路或者通信接口;接收单元可以是输入单元,比如输入电路或者通信接口。当所述装置为网络设备时,发送单元可以是发射器或发射机;接收单元可以是接收器或接收机。
本申请又一方面提供了一种装置,该装置包括:存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行各方面所述的方法。
本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
根据以上的实施例,在需要对目标应用进行测试时,在不同的测试环境中依次执行对目标应用进行测试的多个服务,实现了跨测试环境的服务调用,不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的应用测试系统的网络结构图;
图2是本申请实施例提供的应用测试系统的网络架构图;
图3是本申请实施例提供的应用测试方法的流程示意图;
图4是本申请实施例提供的应用测试方法的另一流程示意图;
图5是本申请实施例提供的应用测试方法的另一流程示意图;
图6是本申请实施例提供的应用测试方法的另一流程示意图;
图7A是本申请实施例提供的应用测试系统的另一网络架构图;
图7B是本申请实施例提供的应用测试方法的交互示意图;
图8A是本申请实施例提供的应用测试系统的另一网络架构图;
图8B是本申请实施例提供的应用测试方法的另一交互示意图;
图9A是本申请实施例提供的应用测试系统的另一网络架构图;
图9B是本申请实施例提供的应用测试方法的另一交互示意图;
图10A是本申请实施例提供的应用测试系统的另一网络架构图;
图10B是本申请实施例提供的应用测试方法的另一交互示意图;
图11是本申请实施例提供的一种装置的结构示意图;
图12是本申请实施例提供的一种装置的另一结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参见图1,为现有技术提供的一种应用测试系统的网络架构图,在该应用测试系统包括代理服务器、服务器11、服务器12和服务器1n,n为大于或等于1的整数。为了实现对目标应用的不同功能的测试,针对不同的功能测试分别在不同的服务器上部署测试环境。参见图1所示,服务器11上部署测试环境111、服务器12上部署测试环境121、…、服务器1n上部署测试环境1n1。不同的测试环境中部署有大量的服务,例如:测试环境111中包括服务A1、服务B1、服务C1、服务D1、服务E1和服务F1;测试环境121中包括服务A2、服务B2、服务C2、服务D2、服务E2和服务F2,测试环境1n1中包括服务An、服务Bn、服务Cn、服务Dn、服务En和服务Fn。在对目标应用需要测试的功能数量非常多是,需要部署的测试环境的数量,以及服务的数量急剧增长迅速,测试环境的部署成本和维护成本居高不下。
为了解决现有技术中测试环境的数量和服务的数量巨大造成部署成本和维护成功高的问题,本申请实施例提供的一种测试系统的网络架构图,其中一个示例可参见图2,本申请实施例的测试系统包括代理服务器20、第一服务器21和第二服务器22,代理服务器20分别与第一服务器21和第二服务器22之间设置有相互通信的通信接口,且第一服务器21和第二服务器22之间设置有相互通信的通信接口。第一服务器21部署有第一测试环境211,第二服务器22部署有第二测试环境221。第一测试环境211中包括一个或多个服务,第二测试环境221中包括一个或多个服务。第一测试环境211和第二测试环境221中的服务类型可以不相同,以图2所示为例,第一测试环境211包括服务A、服务B、服务C、服务D、服务E和服务F,第二测试环境221包括服务A2和服务B2。本申请实施例中的服务表示对目标应用进行特定测试的应用,特定测试包括功能测试、完整性测试、压力测试等。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。其中,服务器上可部署一个或多个测试环境,不同的测试环境实现对目标应用的不同功能的测试。服务器可以专门用作测试使用,也可以在提供测试功能的同时支持其他功能。
图2仅给出了一个示例,在其他实施例中,系统除了包括第一服务器21、第二服务器22之外,还可以包括:第三服务器23、…、第m服务器2m,每个服务器都可以配置有相应的测试环境。在某些实施例中,一个测试环境可以由多个服务器来实现,如:第一服务器21、第二服务器22、第三服务器23所组成的服务器群共同支撑实现第一测试环境211,即某个或某些测试环境由多台服务器所组成的服务器群来实现。在其他实施例中,某些服务器还可以配置1个或多个测试环境,如:第一服务器21、第二服务器22、第三服务器23等配置有多个不同的测试环境。在某些实施例中,配置有多个测试环境的不同服务器中,可以配置有若干个相同的测试环境,如配置有5个测试环境的第一服务器21与配置与3个测试环境的第二服务器22可以有2个相同的测试环境。本申请并不限制系统中服务器、测试环境的配置对应关系,上述实施例及组合均落入本申请的保护范围之内。
代理服务器20上可预存储或预配置有测试环境的域名和服务器的网络地址(如IP地址)之间的映射关系,代理服务器根据测试请求中携带的测试环境的域名,检索映射关系确定域名对应的网络地址(如IP地址),根据网络地址(如IP地址)向对应的服务器发送测试请求。
本申请中的服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该服务器1可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图3,图3是本申请实施例提供的测试方法的流程示意图,在本申请实施例中,所述方法包括:
S301、根据服务链信息确定第一服务对应的第二服务。
具体的,第一服务器可以根据外部的测试请求和/或服务链确定服务链信息,也可以接收外部的服务链信息,第一服务器还可以预存储或预配置有服务链信息,服务链信息和目标应用以及目标应用测试的功能有关,服务链信息表示服务链中包含的多个服务的调用顺序,多个服务用于对目标应用的特定功能进行测试。第一服务和第二服务为服务链中的服务,第二服务为服务链中第一服务的下一个服务。本申请实施例的第一服务是服务链中的任意一个服务且该服务不为服务链中的最后一个服务。第一服务器根据服务链信息确定服务链中多个服务,以及各个服务之间的调用顺序,由此可以确定第一服务所对应的第二服务。
举例来说:需要对目标应用APP1的功能1进行测试,第一服务器根据外部请求确定出目标应用APP1的功能1关联的服务链信息,该服务链信息表示的服务链为:服务A→服务B1→服务C1→服务D1→服务E,该服务链表示依次运行服务A、服务B1、服务C1、服务D1和服务E对目标应用APP1的功能1进行测试。假设第一服务为服务A,那么第一服务器根据服务链信息确定服务A的下一个服务为服务B1。
又举例来说,需要对目标应用APP1的功能2进行测试,第一服务器预存储或预配置有目标应用APP1的功能2关联的服务链信息,该服务链信息表示的服务链为:服务A1→服务B1→服务C→服务D→服务E1。假设第一服务为服务C,第一服务器根据服务链信息确定服务C的下一个服务为服务E1。
S302、若第一测试环境中未检索到第二服务,向第二测试环境发送第一调用请求。
具体的,可由第一服务器部署有第一测试环境,第一测试环境包括一个或多个服务,可由第一服务器执行检索处理,在第一测试环境中检索是否存在第二服务,若为否,则向第二测试环境发送第一调用请求,第一调用请求用于指示在部署的第二测试环境中检索第二服务,第一调用请求可以携带第二服务的标识。
在实现时,第二测试环境可以部署在与第一服务器不同的其他服务器,如:第二服务器或第二服务器组成的集群,由此,通过第一服务器与第二服务器或第二服务器集群之间的通信传递信息,如第一服务器将第一调用请求发送给第二服务器或第二服务器集群。第二测试环境也可以部署在第一服务器,如利用虚拟机技术,由第一服务器运行多个不同的测试环境,此时,利用虚拟机通信能够实现第一测试环境与第二测试环境之间的通信,如向第二测试环境发送第一调用请求。
对于测试环境的部署而言,可以将测试环境分类为专属测试环境、全量测试环境,专属测试环境面向特定的目标应用和/或功能的测试,全量测试环境则可以面向全系统的目标应用和/或功能的测试。在一种可能的实施方式中,第一测试环境为专属测试环境,专属测试环境包括为实现特定目标应用的测试所需的全部服务或部分服务,第二测试环境为全量测试环境,即包括实现多个特定目标应用的测试所需的全部服务,在这种情况下,第一测试环境(即专属测试环境)所包含的服务是第二测试环境(即全量测试环境)的子集。
举例来说,第一测试环境包含服务A、C、D,而第二测试环境包含服务A、B、C、D、D、F、G,测试目标应用1需要调用服务A、C,测试目标应用2需要调用服务A、B、C、D,测试目标应用3需要调用服务A、C、D、F。可以知道,第二测试环境可以独自满足目标应用1-3的测试,而第一测试环境仅可独自满足目标应用1的测试。但根据系统需要,如:为了提高效率,避免将测试压力都集中在测试环境,测试目标应用1可以只在第一测试环境中完成服务调用;而测试目标应用2时,也可以在第一测试环境(专属测试环境)先调用服务A,但由于无法检索到服务B,可以向第二测试环境(全量测试环境)发送调用服务B的请求;同理,测试目标应用3时,调用服务F时,可以向第二测试环境发送调用服务F的请求。
在其他可能的实施方式中,第一测试环境和第二测试环境均可以专属测试环境,且第一测试环境和第二测试环境中分别部署有不同的服务,能够减少两个测试环境之间服务的冗余。举例来说,第一测试环境包括服务A1、服务B1和服务C1,第二测试环境中部署有服务A、服务B、服务C、服务D、服务E和服务F,第一服务为服务C1,第二服务为服务D,第一服务器在第一测试环境中未检索到服务D,可以向所述第二测试环境发送第二调用请求,第二调用请求携带服务D的标识。
在其他的实施方式中,针对特定的某个或某些目标应用,需要测试不同的功能,此时,专属测试环境可以包括目标应用的特定功能测试所需的服务,全量测试环境包括为目标应用的完备功能测试所需的服务。例如:目标应用需要测试的完备功能包括:功能1、功能2和功能3,那么全量测试环境包括具有对功能1~功能3进行测试的服务,而功能1的专属测试环境可以仅包括具有对功能1进行测试的服务,专属测试环境无法单独满足功能2和功能3的测试。
此外,全量测试环境还可以集中多个目标应用或目标应用的功能的“重型”服务,其中,“重型”服务可以为执行时间较长、所需处理能力较高的服务,而专属测试环境可以仅提供特定目标应用或目标应用的功能测试所需的“轻型”服务,“轻型”服务可以为执行时间短、消耗处理资源少的服务,等。
以上仅是对测试环境的示例说明,本申请对测试环境的类型、所包括的服务并不做限定。
实施本申请实施例,在多个测试环境中调用服务对目标应用进行测试,实现了跨测试环境的服务调用,不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。
参见图4,为本申请实施例提供的一种应用测试方法的另一流程示意图,在本申请实施例中,所述方法包括:
S401、接收测试请求。
具体的,可由第一服务器接收来对目标应用的测试请求。代理服务器根据用户触发的测试指令生成测试请求,测试指令包括目标应用的标识和/或目标应用的待测试功能的标识、测试环境的域名中的一种或多种,例如:用户通过点击代理服务器上显示的图形界面上的测试按钮,生成测试指令。目标应用的标识指示目标应用的身份,目标应用的待测试的功能的标识表示目标应用需要测试的功能的身份。代理服务器预存储或预配置有第一映射关系,第一映射关系标识应用的标识和/或应用的功能标识和服务链信息之间的映射关系,代理服务器根据第一映射关系确定目标应用和/或目标应用的功能对应的服务链。另外,代理服务器预存储或预配置有第二映射关系,第二映射关系标识测试环境的域名和服务器的部署第一测试环境的服务器的网络地址之间的映射关系,代理服务器根据测试环境的域名确定对应的测试环境的部署第一测试环境的服务器的网络地址,代理服务器将测试请求发送给该部署第一测试环境的服务器的网络地址对应的第一服务器和/或测试环境。
举例来说,用户触发的测试指令用于对目标应用APP2的功能3进行测试,代理服务器跟第一映射关系确定目标应用APP2的功能3关联的服务链信息表示的服务链为:服务A1→服务B1→服务C→服务D→服务E1。测试指令中携带测试环境2的域名:http://qa5-t-ep-1.vip.com,代理服务器根据预存储或预配置的第二映射关系,确定该域名关联的IP地址为:10.32.16.19(如果相关联的IP地址为多个,即存在多台服务器配置有测试环境2,则可以从中选择特定的一台服务器作为第一服务器,如根据调度算法、各服务器的负荷状态等)。代理服务器向该IP地址对应的第一服务器发送测试请求,测试请求携带服务链信息和IP地址。
S402、根据服务链信息确定第一服务对应的第二服务。
具体的,服务链信息表示服务链中包含的多个服务的调用顺序,多个服务用于对目标应用的特定功能进行测试。第一服务和第二服务为服务链中的服务,第二服务为服务链中第一个服务的下一个服务。本申请实施例中的第一服务是服务链中的任意一个服务且该服务不是服务链中的最后一个服务。可由第一服务器根据服务链信息确定服务链中的多个服务,以及各个服务之间的调用顺序,由此可以确定第一服务对应的第二服务。
举例来说,需要对目标应用APP1的功能1进行测试,第一服务器预存储或预配置有目标应用APP1的功能2关联的服务链信息,该服务链信息表示的服务链为:服务A→服务B1→服务C1→服务D1→服务E,该服务链表示依次运行服务A、服务B1、服务C1、服务D1和服务E,服务A的输出结果输入到服务B1中进行运行,服务B1的输出结果输入到服务C1中进行运行,服务C1的输出结果输入到服务D1中进行运行,服务C1的输出结果输入到服务E中进行运行。假设第一服务为服务B1,第一服务器根据服务链信息确定第一服务B1的下一个服务为服务C1。
又举例来说,需要对目标应用APP2的功能2进行测试,第一服务器预存储或预配置有目标应用APP2的功能3关联的服务链信息,该服务链信息表示的服务链为服务A1→服务B→服务C→服务D→服务E1。假设第一服务为服务D,第一服务器根据服务链信息确定服务D的下一个服务为服务E1。
S403、判断是否在第一测试环境中检索到第二服务。
具体的,第一测试环境部署有第一测试环境,第一测试环境包括一个或多个服务,可由第一服务器在第一测试环境中检索第二服务的标识对应的第二服务,例如:采用查找算法(如折半查找、Hash算法)等,或者采用遍历等检索方式。
举例来说,第一测试环境包括服务A1、服务B1和服务C1,第二测试环境中部署有服务A、服务B、服务C、服务D、服务E和服务F,第一服务为服务C1,第二服务为服务D,第一服务器在第一测试环境中检索不到服务D。
又举例来说,第一测试环境部署有服务A、服务B、服务C、服务D、服务E和服务F,第二测试环境部署有服务A1、服务B1和服务C1,第一服务为服务C,第二服务为服务D,第一服务器在第一测试环境中检索到服务D。
S404、在第一测试环境中运行第二服务。
具体的,第一服务器在第一测试环境中检索到第二服务时,在第一测试环境中调用、运行第二服务,如果第二服务不是服务链的最后一个服务,则继续往下检索下一个服务。根据测试的执行逻辑,还可以将第二服务的运行结果作为第二服务的下一个服务的输入数据。
S405、向代理服务器发送第二服务的运行结果。
具体的,本步骤为可选的步骤,第二服务不是服务链的最后一个服务的情况下,第二服务的运行结果为测试的中间结果,将第二服务的运行结果发送给代理服务器,根据测试的执行逻辑,还可以将第二服务的运行结果作为第二服务的下一个服务的输入数据。
S406、向第二测试环境发送第一调用请求。
具体的在第一测试环境中未检索到第二服务时,则向第二测试环境发送调用请求,如:第一测试服务器向部署第二测试环境的第二测试服务器发送第一调用请求,第一调用请求用于请求第二测试服务器在第二测试环境中检索第二服务,第一调用请求可携带第二服务的标识。
S407、判断第二服务是否为服务链中的最后一个服务。
具体的,可由第一服务器(当在第一服务器中执行完第二服务后)或第二服务器(当在第二服务器中执行完第二服务后)根据服务链确定第二服务是否为最后一个服务,若为是,执行S408,若为否,执行S409。
S408、确定第二服务对应的第三服务,并转向执行S410。
具体的,确定第二服务不是服务链中的最后一个服务,则继续确定下一个服务,如:由第一服务器(当在第一服务器中执行完第二服务后)或第二服务器(当在第二服务器中执行完第二服务后)确定第二服务对应的第三服务,第三服务为第二服务的下一个服务。
S409、向代理服务器发送测试完成消息。
具体的,根据服务链信息确定第二服务是服务链中的最后一个服务,第一服务器(当在第一服务器中执行完第二服务后)或第二服务器(当在第二服务器中执行完第二服务后)向代理服务器发送测试完成消息,测试完成消息表示完成对目标应用的测试,测试完成消息携带第二服务的运行结果。
S410、判断是否在第一测试环境中检索到第三服务。
具体的,可由第一服务器在第一测试环境中检索第三服务,若检索到第三服务,执行S411,若未检索到第三服务,转向执行S412。
S411、在第一测试环境中运行第三服务。
具体的,在第一测试环境中检索到第三服务,在第一测试环境中运行第三服务。可选的,第一服务器将第三服务的运行结果发送给代理服务器。
S412、向第二测试环境发送第一调用请求。
其中,第三调用请求中携带第三服务的标识,第三调用请求用于指示第二服务器在部署的第二测试环境中检索第三服务。
实施本申请实施例,在多个测试环境中调用服务对目标应用进行测试,实现了跨测试环境的服务调用,不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。
参见图5,为本申请实施例提的一种应用测试方法的另一流程示意图,在本申请实施例中,所述方法包括:
S501、接收来自第一测试环境的第一调用请求。
具体的,第一调用请求中携带第二服务的标识,如:第一服务器部署有第一测试环境,第二服务器部署有第二测试环境,第一测试环境和第二测试环境合并设置有对目标应用的特定功能进行测试的服务,第一测试环境和第二测试环境中的服务类型不相同。第一调用请求是第一测试环境中的第一服务生成的,第一服务和第二服务都属于对目标应用的特定功能进行测试的服务链。
举例来说,第二服务器预存储或预配置有服务链信息,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务。服务链信息表示对目标应用APP1的功能1进行测试的服务链为:服务A→服务B1→服务C1→服务D→服务E→服务F,第一测试环境部署有服务A、服务B、服务C、服务D、服务E和服务F,第二测试环境部署有服务A1、服务B1和服务C1,假设第一服务为服务A,第二服务为服务B1,第一服务器在第一测试环境中未检索到服务B1,第一服务器向第二测试环境发送第一调用请求,第二服务器接收来自第一测试环境的第一调用请求,第一调用请求携带服务B1的标识。
S502、在第二测试环境中检索到第二服务。
例如,目标应用进行测试的多个服务可以合并部署在第一测试环境和第二测试环境中,或者第二测试环境为全量测试环境,即对于该多个服务中的任意一个服务来说,如果该服务不在第一测试环境中,那么该服务在第二测试环境中。
S503、在第二测试环境中运行第二服务,以及发送第二服务的运行结果。
具体的,可以由第二服务器在第二测试环境中运行第二服务,第二服务器将第二服务的运行结果发送给代理服务器,若第二服务不是服务链中的最后一个应用的话,根据测试的执行逻辑,可将第二服务的运行结果作为第二服务的下一个服务的输入数据。例如:第二服务B1的下一个服务为服务C1,将第二服务B1的运行结果作为服务C1的输入数据。
在一种可能的实施方式中,第一测试环境为目标应用的专属测试环境,第二测试环境为全量测试环境或其他专属测试环境。
实施本申请实施例,在多个测试环境中调用服务对目标应用进行测试,实现了跨测试环境的服务调用,不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。
参见图6,为本申请实施例提供的一种应用测试方法的另一流程示意图,在本申请实施例中,所述方法包括:
S601、接收服务链信息。
具体的,可由第二服务器接收服务调信息,服务链信息和目标应用以及目标应用的需要测试的功能有关,服务链信息表示服务链中包含的多个服务的调用顺序,多个服务用于对目标应用的特定功能进行测试。所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务。
S602、接收来自第一测试环境的第一调用请求。
例如,第一调用请求中携带第二服务的标识,第一服务器部署有第一测试环境,第二服务器部署有第二测试环境,第一测试环境和第二测试环境合并设置有对目标应用的特定功能进行测试的服务,第一测试环境和第二测试环境中的服务类型不相同。第一调用请求是第一测试环境中的第一服务生成的,第一服务和第二服务都属于对目标应用的特定功能进行测试的服务链。当第一服务器同时配置第一测试环境和第二测试环境时的情形与之类似。
举例来说,服务链信息表示对目标应用APP1的功能1进行测试的服务链为:服务A→服务B1→服务C1→服务D→服务E→服务F,第一测试环境部署有服务A、服务B、服务C、服务D、服务E和服务F,第二测试环境部署有服务A1、服务B1和服务C1,假设第一服务为服务A,第二服务为服务B1,第一服务器在第一测试环境中未检索到服务B1,第一服务器向第二测试环境发送第一调用请求,第二服务器接收来自第一测试环境的第一调用请求,第一调用请求携带服务B1的标识。
S603、在第二测试环境中检索到第二服务,在第二测试环境中运行第二服务。
S604、第二服务是否为服务链中的最后一个服务。
具体的,根据服务链信息确定第二服务是否为服务链中的最后一个服务,若为是,执行S605,若为否,执行S606。
S605、向代理服务器发送测试完成消息。
具体的,测试完成消息表示完成对目标应用的特定功能的测试,测试完成消息携带第二服务的运行结果。
S606、确定第二服务对应的第三服务。
具体的,根据服务链信息中多个服务的调用顺序,确定第二服务的下一个服务,第二服务的下一个服务即本申请的第三服务。
S607、判断是否在第二测试环境中检索到第三服务。
具体的,第二服务器在第二测试环境中遍历检索第三服务,若检索到第三服务,执行S608,若未检索到第三服务,执行S609。
S608、在第二测试环境中运行第三服务。
具体的,利用第二测试环境提供的硬件资源和软件资源运行第三服务,将第三服务的运行结果发送给代理服务器,根据测试的执行逻辑,第三服务的输入数据可以为第二服务的运行结果。
S609、向第一测试环境发送第二调用请求。
具体的,第二调用请求用于请求第一服务器在部署的第一测试环境检索第三服务,第二调用请求携带第三服务的标识。
实施本申请实施例,在多个测试环境中调用服务对目标应用进行测试,实现了跨测试环境的服务调用,不同的测试环境之间的服务以共享的方式提供给不同的测试需求,减少了不同测试环境中服务的冗余,从而降低了测试环境的部署成本和维护成本。
下面就几个具体的实施例对本申请的应用测试方法的过程进行详细说明。
参见图7A所示的应用测试系统,应用测试系统包括第一服务器11、第二服务器12和代理服务器(未画出),第一服务器部署有第一测试环境111,第一测试环境111包括服务A、服务B、服务C、服务D、服务E和服务F。第二测试环境121包括服务A2和服务B2。本申请实施例的服务链为:服务A2→服务B2→服务C→服务D。
基于图7A的网络架构图,参见图7B为本申请实施例提供的一种应用测试方法的交互示意图,在本申请实施例中,所述方法包括:
S701、代理服务器向第一服务器11发送测试请求,第一服务器11接收来自代理服务器发送的测试请求。
其中,测试请求包括服务链信息,服务链信息表示的服务链如图7A所示。
S702、第一服务器11根据服务链信息确定对目标应用进行测试的服务链中首个服务为服务A2。
S703、第一服务器11在第一测试环境111中检索到服务A2,在第一测试环境111中运行服务A2。
其中,第一服务器11将服务A2的运行结果作为服务A2的下一个服务B3的输入数据,同时,第一服务器11可以将服务A2的运行结果发送给代理服务器。
S704、第一服务器11确定服务链中服务A2的下一个服务为服务B3。
S705、第一服务器11在第一测试环境中检索到服务B3,在第一测试环境中运行服务B3。根据测试的执行逻辑,第一测试服务器11可将服务B3的运行结果作为服务C的输入数据,同时还可以将服务B3的运行结果发送给代理服务器。
S706、第一服务器11确定服务链中服务B3的下一个服务为服务C。
S707、第一服务器11在第一测试环境中为检索到服务C。
S708、第一服务器11向第二服务器12发送第一调用请求,第二测试服务器12接收来自第一服务器11的第一调用请求。
S709、第二服务器12在第二测试环境中检索到服务C,在第二测试环境中运行服务C。根据测试的执行逻辑,第二服务器12可将服务C的运行结果作为下一个服务的输入数据,同时还可以将服务C的运行结果发送给代理服务器。
S710、第二服务器12确定服务链中服务C的下一个服务为服务D。
S711、第二服务器12在第二测试环境中检索到服务D,在第二测试环境中运行服务D。
S712、第二服务器12确定服务链中服务D为服务链中最后一个服务。
S713、第二服务器12向代理服务器发送测试完成消息,代理服务器接收来自第二服务器12的测试完成消息。测试完成消息携带服务D的运行结果。
参见图8A,为本申请实施例提供的一种应用测试系统的网络架构图,该应用测试系统包括第一服务器11、第二服务器12和代理服务器(图中为画出)。第一服务器11部署有第一测试环境111,第一测试环境111包括服务A3、服务B3、服务E3和服务F3。第二服务器12部署有第二测试环境121,第二测试环境121包括服务A3和C3。本申请实施例中的服务链为:服务A3→服务B→服务C3。
基于图8A的网络架构,图8B提供了一种应用测试方法的交互示意图,在本申请实施例中,所述方法包括:
S801、代理服务器向第一服务器11发送测试请求,第一服务器11接收来对目标应用的测试请求。其中,测试请求中携带服务链信息,服务链信息表示的服务链参见图8A所示。代理服务器向专用测试环境发送测试请求,专用测试环境与目标应用关联。
S802、第一服务器11根据服务链信息确定对目标应用进行测试的服务链中首个服务为服务A3。
S802、第一服务器11在第一测试环境中检索到服务A3,在第一测试环境中运行服务A3。
S803、第一服务器11在第一测试环境中检索到服务A3,在第一测试环境中运行服务A3。
S804、第一服务器11确定服务链中服务A3的下一个服务为服务B。
S805、第一服务器11在第一测试环境中为检索到服务B。
S806、第一服务器11向第二服务器12发送第一调用请求,第二服务器12接收来自第一服务器11的第一调用请求,第一调用请求携带服务B的标识。
S807、第二服务器12在第二测试环境中检索到服务B,在第二测试环境中运行服务B。
S808、第二服务器12确定服务链中服务B的下一个服务为服务C3。
S809、第二服务器12在第二测试环境中未检索到服务C3。
S810、第二服务器12向第一服务器11发送第二调用请求,第一服务器11接收来自第二服务器12的第二调用请求。其中,第二调用请求携带服务C3的标识。
S811、第一服务器11在第一测试环境中检索到服务C3,运行服务C3。
S812、第一服务器11确定服务C3为服务链中的最后一个服务。
S813、第一服务器11代理服务器发送测试完成消息,代理服务器接收来自第一服务器11的测试完成消息。
参见图9A,为本申请实施例提的应用测试系统的网络架构,该应用测试系统包括第一服务器11、第二服务器12和代理服务器(未画出),第一服务器11部署有第一测试环境111,第一测试环境111包括服务A、服务B、服务C、服务D、服务E和服务F。第二服务器12部署有第二测试环境121,第二测试环境121包括服务A1、服务A2、服务B2、服务B4和服务C4。本申请实施例的服务链为:服务A→服务B4→服务C4→服务D。
基于图9A的网络架构,图9B提供了一种应用测试方法的交互示意图,在本申请实施例中,所述方法包括:
S901、代理服务器向第一服务器11发送测试请求,第一服务器11接收来对目标应用的测试请求。
S902、第一服务器11根据服务链信息确定对目标应用进行测试的服务链中首个服务为服务A。
S903、第一服务器11在第一测试环境中检索到服务A,在第一测试环境中运行服务A。
S904、第一服务器11确定服务链中服务A的下一个服务为服务B4。
S905、第一服务器11在第一测试环境中未检索到服务B4。
S906、第一服务器11向第二服务器12发送第一调用请求,第二服务器12接收来自第一服务器11的第一调用请求。
S907、第二服务器12在第二测试环境中检索到服务B4,在第二测试环境中运行服务B4。
S908、第二服务器12确定服务链中服务B4的下一个服务为服务C4。
S909、第二服务器12在第二测试环境中检索到服务C4,在第二测试环境中运行服务C4。
S910、第二服务器12确定服务C4的下一个服务为服务D。
S911、第二服务器12未在第二测试环境中检索到服务D。
S912、第二服务器12向第一服务器11发送第二调用请求,第一服务器11接收来自第二服务器12的第二调用请求。
S913、第一服务器11在第一测试环境中检索到服务D,在第一测试环境中运行服务D。
S914、第一服务器11确定服务D为服务链中的最后一个服务。
S915、第一服务器11向代理服务器发送测试完成消息,代理服务器接收来自第一服务器11的测试完成消息。
参见图10A,为本申请实施例提供的一种应用测试系统的网络架构图,该应用测试系统包括第一服务器11、第二服务器12和代理服务器(未画出)。第一服务器11部署有第一测试环境111,第一测试环境111包括服务A、服务B、服务C、服务D、服务E和服务F。第二服务器12部署有第二测试环境121,第二测试环境121包括服务B2和服务D2。本申请实施例的服务链为:服务A→服务B2→服务C→服务D2。
基于图10A的网络架构,图10B提供了一种应用测试方法的交互示意图,在该申请实施例中,所述方法包括:
S1001、代理服务器向第一服务器11发送测试请求,第一服务器11接收来对目标应用的测试请求。
S1002、第一服务器11根据服务链信息确定对目标应用进行测试的服务链中首个服务为服务A。
S1003、第一服务器11在第一测试环境中检索到服务A,在第一测试环境中运行服务A。
S1004、第一服务器11确定服务链中服务A的下一个服务为服务B2。
S1005、第一服务器11在第一测试环境中未检索到服务B2。
S1006、第一服务器11向第二服务器12发送第一调用请求,第二服务器12接收来自第一服务器11的第一调用请求。
S1007、第二服务器12在第二测试环境中检索到服务B2,运行服务B2。
S1008、第二服务器12确定服务链中服务B2的下一个服务为服务C。
S1009、第二服务器12在第二测试环境中未检索到服务C。
S1010、第二服务器12向第一服务器11发送第二调用请求,第一服务器11接收来自第二服务器12的第二调用请求。
S1011、第一服务器11在第一测试环境中检索到服务C,在第一测试环境中运行服务C。
S1012、第一服务器11确定服务C的下一个服务为服务D2。
S1013、第一服务器11在第一测试环境中未检索到服务D2。
S1014、第一服务器11向第二服务器12发送第三调用请求,第二服务器12接收来自第一服务器11的第三调用请求。
S1015、第二服务器12在第二测试环境中检索到服务D,在第二测试环境中运行服务D。
S1016、第二服务器12确定服务D为服务链中的最后一个服务。
S1017、第二服务器12向第一服务器11发送测试完成消息,第一服务器接收来自第二服务器12的测试完成消息。
上述图3至图10B详细阐述了应用测试方法。相应的本申请实施例的一种装置的结构示意图。
请参见图11,图11是本申请实施例提供的一种装置11的结构示意图,该装置11可以包括收发单元1101和处理单元1102。
实施例一:
处理单元1101,用于根据服务链信息确定第一服务对应的第二服务;其中,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第二服务为所述服务链中所述第一服务的下一个服务,所述第一服务部署在第一测试环境中;
收发单元1102,用于若处理单元1101在所述第一测试环境中未检索到所述第二服务,向第二测试环境发送第一调用请求;其中,所述第一调用请求用于指示在所述第二测试环境中检索所述第二服务。
可选的,还包括:
收发单元1101,还用于接收对所述目标应用的测试请求;其中,所述测试请求携带所述第一测试环境的域名、部署第一测试环境的服务器的网络地址和所述服务链信息中的一种或多种。
可选的,若处理单元1102在所述第一测试环境中检索到所述第二服务,在所述第一测试环境中运行所述第二服务;和/或根据所述服务链信息确定所述第二服务是所述服务链中的最后一个服务,收发单元1101发送测试完成消息;其中,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
可选的,处理单元1102根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务;其中,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第一测试环境中检索到所述第三服务时,在所述第一测试环境中运行所述第三服务;和/或,若在所述第一测试环境中未检索到所述第三服务,收发单元1101向所述第二测试环境发送第二调用请求;其中,所述第二调用请求用于指示在所述第二测试环境中检索所述第三服务。
可选的,处理单元1102根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务;其中,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务;和/或,若在所述第二测试环境中未检索到所述第三服务,收发单元1101向所述第一测试环境发送第二调用请求;其中,所述第二调用请求用于指示在所述第一测试环境中检索所述第三服务。
可选的,所述第一测试环境为全量测试环境,所述第二测试环境为目标应用的专用测试环境;或所述第一测试环境为所述目标应用的专用测试环境,所述第二测试环境为全量测试环境或其他专用测试环境。
本申请实施例和图3和图4的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图3和图4的方法实施例的描述,此处不再赘述。
实施例二:
收发单元1101,用于接收来自第一测试环境的第一调用请求;其中,所述第一调用请求携带第二服务的标识信息;
处理单元1102,用于在第二测试环境中检索到所述第二服务;
处理单元1102,还用于在所述第二测试环境中运行所述第二服务,指示收发单元1101发送所述第二服务的运行结果。
可选的,收发单元1101发送第二服务的运行结果包括:
处理单元1102根据服务链信息确定第二服务是服务链中的最后一个服务;其中,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务;
发送测试完成消息;其中,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
可选的,处理单元1101根据服务链信息确定所述第二服务对应的第三服务;其中,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第三服务为所述服务链中所述第二服务的下一个服务;
若在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务,收发单元1101发送所述第三服务的运行结果。
可选的,若处理单元1102在所述第二测试环境中未检索到所述第三服务时,收发单元1101向所述第一测试环境发送第二调用请求;其中,所述第二调用请求用于指示所述第一测试环境中检索所述第三服务。
本申请实施例和图5和图6的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图5和图6的方法实施例的描述,此处不再赘述。
装置11可以是服务器,所述装置11也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,系统芯片(system on chip,SoC),中央处理器(central processorunit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controllerunit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
图12为本申请实施例提供的一种装置结构示意图,以下简称装置12,装置12可以集成于前述的第一服务器或第二服务器,如图12所示,该装置包括:存储器1202、处理器1201以及收发器1203。
存储器1202可以是独立的物理单元,与处理器1201、收发器1203可以通过总线连接。存储器1202、处理器1201、收发器1203也可以集成在一起,通过硬件实现等。
存储器1202用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器1201调用该程序,执行以上方法实施例的操作。
可选地,当上述实施例的基于应用测试方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(networkprocessor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
上述实施例中,发送单元或发射器执行上述各个方法实施例发送的步骤,接收单元或接收器执行上述各个方法实施例接收的步骤,其它步骤由其他模块或处理器执行。发送单元和接收单元可以组成收发单元,接收器和发射器可以组成收发器。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的应用测试方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的应用测试方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

Claims (14)

1.一种应用测试方法,其特征在于,包括:
根据服务链信息确定第一服务对应的第二服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第二服务为所述服务链中所述第一服务的下一个服务,所述第一服务部署在第一测试环境中;
若在所述第一测试环境中未检索到所述第二服务,向第二测试环境发送第一调用请求,所述第一调用请求用于指示在所述第二测试环境中检索所述第二服务。
2.根据权利要求1所述的方法,其特征在于,所述根据服务链信息确定第一服务对应的第二服务之前,还包括:
接收对所述目标应用的测试请求,其中,所述测试请求携带所述第一测试环境的域名、部署第一测试环境的服务器的网络地址和所述服务链信息中的一种或多种。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
若在所述第一测试环境中检索到所述第二服务,在所述第一测试环境中运行所述第二服务;和/或根据所述服务链信息确定所述第二服务是所述服务链中的最后一个服务,发送测试完成消息,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
4.根据权利要求3所述的方法,其特征在于,还包括:
根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务,其中,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第一测试环境中检索到所述第三服务时,在所述第一测试环境中运行所述第三服务;和/或,若在所述第一测试环境中未检索到所述第三服务,向所述第二测试环境发送第二调用请求,所述第二调用请求用于指示在所述第二测试环境中检索所述第三服务。
5.根据权利要求3任意一项所述的方法,其特征在于,还包括:
根据所述服务链信息确定所述第二服务不是所述服务链中的最后一个服务,确定所述第二服务对应的第三服务,其中,所述第三服务为所述服务链中所述第二服务的下一个服务;
在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务;和/或,若在所述第二测试环境中未检索到所述第三服务,向所述第一测试环境发送第二调用请求,所述第二调用请求用于指示在所述第一测试环境中检索所述第三服务。
6.根据权利要求1或2或4或5所述的方法,其特征在于,所述第一测试环境为全量测试环境,所述第二测试环境为目标应用的专用测试环境;或所述第一测试环境为所述目标应用的专用测试环境,所述第二测试环境为全量测试环境或其他专用测试环境。
7.一种应用测试方法,其特征在于,包括:
接收来自第一测试环境的第一调用请求,所述第一调用请求携带第二服务的标识信息;
在第二测试环境中检索到所述第二服务;
在所述第二测试环境中运行所述第二服务,发送所述第二服务的运行结果。
8.根据权利要求7所述的方法,其特征在于,所述发送第二服务的运行结果包括:
根据服务链信息确定第二服务是服务链中的最后一个服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务;
发送测试完成消息,所述测试完成消息表示完成对所述目标应用的测试,所述测试完成消息携带所述第二服务的运行结果。
9.根据权利要求7所述的方法,其特征在于,还包括:
根据服务链信息确定所述第二服务对应的第三服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第三服务为所述服务链中所述第二服务的下一个服务;
若在所述第二测试环境中检索到所述第三服务时,在所述第二测试环境中运行所述第三服务,发送所述第三服务的运行结果。
10.根据权利要求9所述的方法,其特征在于,还包括:
若在所述第二测试环境中未检索到所述第三服务时,向所述第一测试环境发送第二调用请求,所述第二调用请求用于指示所述第一测试环境中检索所述第三服务。
11.一种应用测试系统,其特征在于,包括:通信连接的第一服务器和第二服务器,其中,
所述第一服务器,根据服务链信息确定第一服务对应的第二服务,所述服务链信息表示服务链中多个服务的调用顺序,所述服务链包括对目标应用进行测试所需调用的多个服务,所述第二服务为所述服务链中所述第一服务的下一个服务,所述第一服务器部署有第一测试环境,所述第一测试环境包括所述第一服务;并且,当在所述第一测试环境中未检索到所述第二服务,第一服务器向第二测试环境发送第一调用请求;
所述第二服务器,部署有第二测试环境,第二测试环境包括第二服务;第二服务器根据所述第一调用请求,在所述第二测试环境中运行服务器所述第二服务。
12.根据权利要求11所述的系统,其特征在于,还包括:服务器与所述第二服务器通信连接的第三服务器,接收第二服务器发送的第二服务的运行结果。
13.一种计算机设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求1-10任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-10任一项所述的方法。
CN201910117713.9A 2019-02-15 2019-02-15 应用测试方法、系统、装置和存储介质 Pending CN109840211A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910117713.9A CN109840211A (zh) 2019-02-15 2019-02-15 应用测试方法、系统、装置和存储介质
PCT/CN2019/120295 WO2020164289A1 (zh) 2019-02-15 2019-11-22 应用测试方法、系统、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910117713.9A CN109840211A (zh) 2019-02-15 2019-02-15 应用测试方法、系统、装置和存储介质

Publications (1)

Publication Number Publication Date
CN109840211A true CN109840211A (zh) 2019-06-04

Family

ID=66884645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910117713.9A Pending CN109840211A (zh) 2019-02-15 2019-02-15 应用测试方法、系统、装置和存储介质

Country Status (2)

Country Link
CN (1) CN109840211A (zh)
WO (1) WO2020164289A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380930A (zh) * 2019-07-16 2019-10-25 腾讯科技(深圳)有限公司 一种测试方法、装置及服务器、计算机存储介质
CN111090587A (zh) * 2019-12-11 2020-05-01 中国建设银行股份有限公司 投产点服务测试方法、装置、设备及存储介质
WO2020164289A1 (zh) * 2019-02-15 2020-08-20 北京大米科技有限公司 应用测试方法、系统、装置和存储介质
CN113342595A (zh) * 2021-05-26 2021-09-03 北京奇艺世纪科技有限公司 灰度验证方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243862B1 (en) * 1998-01-23 2001-06-05 Unisys Corporation Methods and apparatus for testing components of a distributed transaction processing system
CN107979508A (zh) * 2017-11-24 2018-05-01 深圳乐信软件技术有限公司 微服务测试方法及装置
CN108965375A (zh) * 2018-05-21 2018-12-07 阿里巴巴集团控股有限公司 服务调用代理控制系统、方法、服务器及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035896B (zh) * 2010-12-31 2012-12-05 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
US10491465B2 (en) * 2017-05-12 2019-11-26 Dell Products L.P. System and method for dynamic and extensible management of device nodes
CN107506303A (zh) * 2017-08-24 2017-12-22 航天中认软件测评科技(北京)有限责任公司 用于自动化测试的方法、装置及系统
CN108388521A (zh) * 2018-03-28 2018-08-10 四川长虹电器股份有限公司 浏览器兼容性测试系统与方法
CN109840211A (zh) * 2019-02-15 2019-06-04 北京大米科技有限公司 应用测试方法、系统、装置和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243862B1 (en) * 1998-01-23 2001-06-05 Unisys Corporation Methods and apparatus for testing components of a distributed transaction processing system
CN107979508A (zh) * 2017-11-24 2018-05-01 深圳乐信软件技术有限公司 微服务测试方法及装置
CN108965375A (zh) * 2018-05-21 2018-12-07 阿里巴巴集团控股有限公司 服务调用代理控制系统、方法、服务器及可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020164289A1 (zh) * 2019-02-15 2020-08-20 北京大米科技有限公司 应用测试方法、系统、装置和存储介质
CN110380930A (zh) * 2019-07-16 2019-10-25 腾讯科技(深圳)有限公司 一种测试方法、装置及服务器、计算机存储介质
CN111090587A (zh) * 2019-12-11 2020-05-01 中国建设银行股份有限公司 投产点服务测试方法、装置、设备及存储介质
CN113342595A (zh) * 2021-05-26 2021-09-03 北京奇艺世纪科技有限公司 灰度验证方法、装置、设备及存储介质
CN113342595B (zh) * 2021-05-26 2023-07-25 北京奇艺世纪科技有限公司 灰度验证方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2020164289A1 (zh) 2020-08-20

Similar Documents

Publication Publication Date Title
CN109840211A (zh) 应用测试方法、系统、装置和存储介质
CN112119374B (zh) 使用替代服务器名称选择性地提供相互传输层安全
US11782818B2 (en) Providing debug information on production containers using debug containers
EP2342628B1 (en) Integration of an internal cloud infrastructure with existing enterprise services and systems
US7970852B2 (en) Method for moving operating systems between computer electronic complexes without loss of service
KR20210042854A (ko) 칩을 테스트하는 방법, 전자 기기, 저장 매체, 프로그램 및 상응한 칩
US10992780B1 (en) Microservices as a microservice
US10534680B1 (en) Systems and methods for simulation-based replay of integrated devices
US20180324046A1 (en) Filesystem share auto-detect
US20210286798A1 (en) Method and System for Graph-Based Problem Diagnosis and Root Cause Analysis for IT Operation
US20170249126A1 (en) Easy storm topology design and execution
CN107193681A (zh) 数据校验方法及装置
CN109542781A (zh) 区块链共识算法测试方法、装置、计算装置和存储介质
CN115604144A (zh) 测试方法及装置、电子设备和存储介质
US9417942B1 (en) Event-based in-band host registration
US9417896B2 (en) Allocating hypervisor resources
US10884888B2 (en) Facilitating communication among storage controllers
US10880360B2 (en) File transmission in a cluster
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
CN114844904B (zh) 用于跨区块链交互的系统及方法
US20190166094A1 (en) Filtering of authenticated synthetic transactions
CN115983997A (zh) 基于区块链的藏品管理方法、区块链节点和系统
US20180246844A1 (en) Virtualizing tcp/ip services with shared memory transport
US11379468B1 (en) Control flow graph refining via execution data
CN106294146B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190604