CN112765030A - 测试方法、装置、电子设备及计算机存储介质 - Google Patents
测试方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112765030A CN112765030A CN202110090370.9A CN202110090370A CN112765030A CN 112765030 A CN112765030 A CN 112765030A CN 202110090370 A CN202110090370 A CN 202110090370A CN 112765030 A CN112765030 A CN 112765030A
- Authority
- CN
- China
- Prior art keywords
- service
- baffle
- micro
- test
- routing information
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 188
- 238000010998 test method Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 230000004888 barrier function Effects 0.000 description 23
- 238000011161 development Methods 0.000 description 20
- 230000018109 developmental process Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013024 troubleshooting Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例涉及测试技术领域,公开了一种测试方法、装置、电子设备及计算机存储介质,其中,测试方法包括:接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;接着,获取任一微服务包括的每个服务节点的路由信息;接着,基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。本申请实施例的方法,通过指针的方式标记服务节点,实现了零侵入、可插拨的挡板,同时可以像游标一样左右自由调节。
Description
技术领域
本申请实施例涉及测试领域,具体而言,本申请涉及一种测试方法、装置、电子设备及计算机存储介质。
背景技术
在互联网分布式技术领域中,微服务的架构模式已经逐步占据主流地位。在将应用模块拆分成微服务后,服务之间的依赖与协作网络变的错综复杂,如何提高存在外部依赖的微服务的可测性,这将直接影响到软件交付的周期与质量。
在现有的微服务测试技术中,常采用开发接口挡板程序的方式来解决外部的依赖问题。例如,在对接口进行测试时,经常采用mock测试来模拟实际工作环境,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。设置一个mock挡板实现mock测试的开关,当需要开启mock测试功能时,则开启mock挡板,反之,则关闭该挡板。
然而,本申请发明人在具体实例过程中发现:使用挡板程序本身存在很大的局限性。首先,挡板程序本身不够灵活,每有一个需要mock的服务都需要单独编写挡板,且调用挡板程序返回的结果是静态结果,无法根据不同输入返回特定应答。第二,当被测微服务的接口发生变化时,挡板程序需要做针对性的修改升级,在开发初期,接口的改动频率是很高的。第三,挡板程序需要单独部署,需要占用硬件资源。第四,挡板的植入,可能需要修改代码配置文件中的调用地址,对服务代码有侵入,挡板的拔除,同样需要手动去拔除。
发明内容
本申请实施例的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
一方面,提供了一种测试方法,包括:
接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;
获取任一微服务包括的每个服务节点的路由信息;
基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,获取任一微服务包括的每个服务节点的路由信息,包括:
向微服务注册中心发送查询任一微服务包括的每个服务节点的路由信息的查询请求,微服务注册中心是用于注册服务网关、服务节点、挡板中控及挡板服务的,挡板中控用于控制将测试请求转到真实服务或挡板服务;
接收微服务注册中心返回的任一微服务包括的每个服务节点的路由信息。
在一种可能的实现方式中,在接收客户发送的针对任一微服务的测试请求之前,还包括:
将服务网关、服务节点、挡板中控及挡板服务注册至微服务注册中心。
在一种可能的实现方式中,基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果,包括:
向挡板中控发送任一微服务包括的每个服务节点的路由信息,以使得挡板中控基于预先设置情况,根据任一微服务包括的每个服务节点的路由信息,将测试请求转发到相应的真实服务或挡板服务,并通过真实服务或挡板服务对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,挡板服务以指针的方式作用于每个服务节点,且挡板服务支持设置断言,断言用于判断输入参数和/或输出参数是否符合预期,并得到相应的断言结果。
在一种可能的实现方式中,在在接收客户发送的针对任一微服务的测试请求之前,还包括:
通过总控对挡板指针进行注册和统一管理,以及根据挡板逻辑生成挡板服务。
一方面,提供了一种测试装置,包括:
接收模块,用于接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;
获取模块,用于获取任一微服务包括的每个服务节点的路由信息;
测试模块,用于基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,获取模块具体用于:
向微服务注册中心发送查询任一微服务包括的每个服务节点的路由信息的查询请求,微服务注册中心是用于注册服务网关、服务节点、挡板中控及挡板服务的,挡板中控用于控制将测试请求转到真实服务或挡板服务;
接收微服务注册中心返回的任一微服务包括的每个服务节点的路由信息。
在一种可能的实现方式中,该装置还包括注册模块;
注册模块,用于将服务网关、服务节点、挡板中控及挡板服务注册至微服务注册中心。
在一种可能的实现方式中,测试模块具体用于:
向挡板中控发送任一微服务包括的每个服务节点的路由信息,以使得挡板中控基于预先设置情况,根据任一微服务包括的每个服务节点的路由信息,将测试请求转发到相应的真实服务或挡板服务,并通过真实服务或挡板服务对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,挡板服务以指针的方式作用于每个服务节点,且挡板服务支持设置断言,断言用于判断输入参数和/或输出参数是否符合预期,并得到相应的断言结果。
在一种可能的实现方式中,该装置还包括处理模块;
处理模块,用于通过总控对挡板指针进行注册和统一管理,以及根据挡板逻辑生成挡板服务。
一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的测试方法。
一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的测试方法。
本申请实施例提供的测试方法,一方面,通过挡板指针的方式标记服务节点,可以准确确定测试链路中需要组合为真实服务的服务节点,以及将挡板指针标记的服务节点之外的服务节点确定为需要被mock的挡板服务,使得测试链路中的任意多个相邻服务节点在不依赖于其他服务节点的情况下即可组合,并对外提供稳定测试环境;另一方面,通过挡板指针实现了零侵入、可插拨的挡板服务,挡板即插即用,同时可以像游标一样左右自由调节,使得在链路开发过程中,开发进度快的服务节点先测试,开发进度慢的服务节点后测试,相互之间互不影响,实现了链路开发的分段排查。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的测试方法的流程示意图;
图2为本申请实施例的测试方法的过程示意图;
图3为本申请实施例的测试装置的基本结构示意图;
图4为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请实施例的主要目的是提供长链路自动化测试场景下,以指针的方式分割链路并对分割出来的链路单独测试的测试方法。主要解决的问题如下:1、长链路中有多个服务节点,开发进度不一致,无法统一测试;2、在长链路系统中,如果生产出现问题,那么排查问题将会是一个非常繁琐的过程,可以使用本申请实施例的对线上故障进行分段排查;3、总控配置,实现了挡板统一控制,可随时插拔。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请一个实施例提供了一种测试方法,该方法由计算机设备执行,该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该方法包括:
步骤S110,接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括所述测试链路中除通过挡板指针方式标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;步骤S120,获取任一微服务包括的每个服务节点的路由信息;步骤S130,基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。
mock测试(挡板测试)就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。例如,在一些跨系统的性能测试项目中,往往由于客观因素的限制(测试硬件资源有限、多系统之间的协调等),无法搭建一个完整的测试环境来完成测试工作。此时,可以搭建出被测系统,然后采用软件程序来模拟其他相关系统的功能。该软件程序一般被称为挡板。
在mock测试中,mock工具或mock平台会根据调用方(即需要获取mock对象的一方)的特定调用参数,来决定返回的预期结果。预期结果为预先设置的明确mock对象执行是会发生什么,例如返回特定的值、抛出一个异常及触发一个事件等。
在一个示例中,用户可以通过用户终端,也可以是用户终端中安装的客户端,来控制挡板指针标记测试链路中的服务节点,该测试链路中有多个服务节点,即测试链路由多个服务节点组成。其中,可以将测试链路中通过挡板指针标记的服务节点组成的服务记作真实服务,而将测试链路中除通过挡板指针标记的服务节点外的服务节点组成的服务记作挡板服务。相当于,通过指针的方式标记服务节点,来确定长链路(即测试链路)中哪些服务节点需要组合,在指针标记之外的服务节点则是需要被mock的服务,从而实现了以指针的方式分割链路并可以对分割出来的链路单独测试。
其中,在通过挡板指针标记服务节点的过程中,可以根据测试需求,灵活确定挡板指针指向的服务节点,挡板指针指向了一个服务节点(例如服务节点A1),该即服务节点(例如服务节点A1)即为挡板指针标记的服务节点,从而挡板指针可以向游标一样左右自由调节来标记服务节点,实现了真实服务和挡板服务之间的自由切换。
本申请实施例的方法是假定被测系统位于同一个微服务集群中的,其中,微服务集群中是包括服务网关、服务节点、挡板中控以及挡板的。在实际测试过程中,首先,服务网关接收用户通过客户端发送的针对真实服务和/或挡板服务的测试请求,其中,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针方式标记的服务节点之外的服务节点的服务,该测试链路中包括多个服务节点;接着,服务网关在接收到该测试请求后,获取真实服务和/或挡板服务中包括的每个服务节点的路由信息,接着,基于获取到的真实服务和/或挡板服务中包括的每个服务节点的路由信息,对测试请求进行测试,并返回相应的测试结果。
本申请实施例提供的测试方法,一方面,通过挡板指针的方式标记服务节点,可以准确确定测试链路中需要组合为真实服务的服务节点,以及将挡板指针标记的服务节点之外的服务节点确定为需要被mock的挡板服务,使得测试链路中的任意多个相邻服务节点在不依赖于其他服务节点的情况下即可组合,并对外提供稳定测试环境;另一方面,通过挡板指针实现了零侵入、可插拨的挡板服务,挡板即插即用,同时可以像游标一样左右自由调节,使得在链路开发过程中,开发进度快的服务节点先测试,开发进度慢的服务节点后测试,相互之间互不影响,实现了链路开发的分段排查。
下面,对本申请实施例进行具体介绍:
在一种可能的实现方式中,获取任一微服务包括的每个服务节点的路由信息,包括:
向微服务注册中心发送查询任一微服务包括的每个服务节点的路由信息的查询请求,微服务注册中心是用于注册服务网关、服务节点、挡板中控及挡板服务的,挡板中控用于控制将测试请求转到真实服务或挡板服务;
接收微服务注册中心返回的任一微服务包括的每个服务节点的路由信息。
其中,在接收客户发送的针对任一微服务的测试请求之前,还包括:
将服务网关、服务节点、挡板中控及挡板服务注册至微服务注册中心。
具体地,用户通过客户端发起对后端任一微服务的测试请求时,在微服务架构中,对后端任一微服务的测试请求都是通过服务网关进行转发的。其中,服务网关接收到客户端针对后端任一微服务的测试请求后,需要从微服务注册中心查询该任一微服务中的每个服务节点的路由信息,其中,微服务注册中心存储有测试链路中各个服务节点的路由信息。在一个示例中,服务网关可以通过向微服务注册中心发送查询该任一微服务包括的每个服务节点的路由信息的查询请求的方式,来从微服务注册中心获取该任一微服务中的每个服务节点的路由信息。
微服务注册中心接收到查询请求后,查找相应的路由信息返回给服务网关,即服务网关接收微服务注册中心返回的任一微服务包括的每个服务节点的路由信息。
需要说明的是,使用本申请实施例的方法的前提是被测系统需要位于同一微服务集群中,所以,需要预先将微服务用到的服务网关、服务节点、挡板中控及挡板服务全部注册至微服务注册中心。
在一种可能的实现方式中,基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果,包括:
向挡板中控发送任一微服务包括的每个服务节点的路由信息,以使得挡板中控基于预先设置情况,根据任一微服务包括的每个服务节点的路由信息,将测试请求转发到相应的真实服务或挡板服务,并通过真实服务或挡板服务对测试请求进行测试并返回相应的测试结果。
具体地,服务网关在从微服务注册中心获取到该任一微服务包括的每个服务节点的路由信息后,将该任一微服务包括的每个服务节点的路由信息转发至挡板中控,由挡板中控控制转发方向,即由挡板中控根据预先设置情况判断将针对该任一微服务的测试请求转发到真实服务还是挡板服务,以通过真实服务或者挡板服务对该任一微服务的测试请求进行测试并返回相应的测试结果。
在实际应用中,挡板服务以指针的方式作用于每个服务节点,且挡板服务支持设置断言,该断言可以对输入参数、输出参数、输入参数和输出参数等进行判断,以确定其是否符合预期。随后,可以将断言结果返回给挡板中控,由挡板中控进行统一分析和显示。
本申请实施例还引入了总控的概念,总控可以实现指针的注册、统一管理以及生成挡板逻辑等,同时,总控还可以根据用户在客户端的页面配置,根据挡板逻辑自动生成挡板服务,实现真实服务和挡板服务之间的自动切换。此外,还可以在挡板指针中植入断言、复杂逻辑等,从而可以对挡板服务的输入、输出进行精准断言。
需要说明的是,本申请实施例主要针对长链路的自动化测试中,实现链路中任意多个相邻服务节点能够组合并且不依赖其他节点而能对外提供稳定测试环境的场景。
图2给出本申请实施例的测试方法的过程示意图,在图2中,挡板以指针的方式作用于各个服务节点,在针对标记的区间将链路分离出来单独测试。图2中的各个步骤具体如下:
1、将微服务用到的服务网关、服务节点、挡板中控以及挡板全部注册到微服务注册中心,由于使用本申请实施例的方法的前提是被测系统需要位于同一个微服务集群中,所以,需要将微服务用到的服务网关、服务节点、挡板中控以及挡板全部注册到微服务注册中心。
2、客户端发起对后端任一微服务的请求(测试请求),在微服务架构中,对后端任一服务的请求都是通过服务网关进行转发的;
3、服务网关如果想按客户端需求将请求转发到对应的服务节点上的话,需要向微服务注册中心查询各个服务节点的路由信息,这一步就是在向注册中心查询服务节点的路由信息;
4、微服务注册中心响应服务网关的查询请求,返回服务路由信息;
5、服务网关将路由信息转发给挡板中控,由挡板中控控制转发方向;
6、挡板中控根据设置情况判断将请求转发到真实服务还是挡板服务;
7、挡板服务支持设置断言,可以对输入参数和输出参数进行断言,以判断其是否符合预期,然后将断言结果返回给挡板中控进行统一分析、显示;
8、实服务节或挡板服务处理客户端的请求,并返回请求响应。
综上,本申请实施例与传统挡板技术的不同之处在于引入了指针和总控的概念,其中,指针可实现零侵入、可插拔的挡板,同时可以像游标一样左右自由调节,总控可实现指针的注册、统一管理以及挡板逻辑,总控可以根据页面配置自动生成挡板服务,实现真实服务和mock服务(即挡板服务)之间的自动切换。此外,还可以在指针中植入断言、复杂逻辑等,从而可以针对挡板的输入输出进行精准断言。
此外,本申请实施例的方法在长链路系统开发过程中,实现了开发进度快的先测试,开发进度慢的后测试,相互不影响,而且在长链路系统测试过程中,实现了可插拔式的自动化挡板,挡板即插即用。
图3为本申请又一实施例提供的一种测试装置的结构示意图,如图3所示,该装置300可以包括接收模块301、获取模块302及测试模块303,其中:
接收模块301,用于接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;
获取模块302,用于获取任一微服务包括的每个服务节点的路由信息;
测试模块303,用于基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,获取模块具体用于:
向微服务注册中心发送查询任一微服务包括的每个服务节点的路由信息的查询请求,微服务注册中心是用于注册服务网关、服务节点、挡板中控及挡板服务的,挡板中控用于控制将测试请求转到真实服务或挡板服务;
接收微服务注册中心返回的任一微服务包括的每个服务节点的路由信息。
在一种可能的实现方式中,该装置还包括注册模块;
注册模块,用于将服务网关、服务节点、挡板中控及挡板服务注册至微服务注册中心。
在一种可能的实现方式中,测试模块具体用于:
向挡板中控发送任一微服务包括的每个服务节点的路由信息,以使得挡板中控基于预先设置情况,根据任一微服务包括的每个服务节点的路由信息,将测试请求转发到相应的真实服务或挡板服务,并通过真实服务或挡板服务对测试请求进行测试并返回相应的测试结果。
在一种可能的实现方式中,挡板服务以指针的方式作用于每个服务节点,且挡板服务支持设置断言,断言用于判断输入参数和/或输出参数是否符合预期,并得到相应的断言结果。
在一种可能的实现方式中,该装置还包括处理模块;
处理模块,用于通过总控对挡板指针进行注册和统一管理,以及根据挡板逻辑生成挡板服务。
本申请实施例提供的装置,一方面,通过挡板指针的方式标记服务节点,可以准确确定测试链路中需要组合为真实服务的服务节点,以及将挡板指针标记的服务节点之外的服务节点确定为需要被mock的挡板服务,使得测试链路中的任意多个相邻服务节点在不依赖于其他服务节点的情况下即可组合,并对外提供稳定测试环境;另一方面,通过挡板指针实现了零侵入、可插拨的挡板服务,挡板即插即用,同时可以像游标一样左右自由调节,使得在链路开发过程中,开发进度快的服务节点先测试,开发进度慢的服务节点后测试,相互之间互不影响,实现了链路开发的分段排查。
需要说明的是,本实施例为与上述的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。
本申请另一实施例提供了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。进一步地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
其中,处理器401应用于本申请实施例中,用于实现图3所示的接收模块、获取模块及测试模块的功能。收发器404包括接收机和发射机。
处理器401可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI总线或EISA总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器403可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现图3所示实施例提供的测试装置的动作。
本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:接收客户端发送的针对任一微服务的测试请求,任一微服务为真实服务和/或挡板服务,真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,挡板服务包括测试链路中除通过挡板指针标记的服务节点之外的服务节点的服务,测试链路中包括多个服务节点;接着,获取任一微服务包括的每个服务节点的路由信息;接着,基于任一微服务包括的每个服务节点的路由信息,对测试请求进行测试并返回相应的测试结果。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所示的方法。一方面,通过挡板指针的方式标记服务节点,可以准确确定测试链路中需要组合为真实服务的服务节点,以及将挡板指针标记的服务节点之外的服务节点确定为需要被mock的挡板服务,使得测试链路中的任意多个相邻服务节点在不依赖于其他服务节点的情况下即可组合,并对外提供稳定测试环境;另一方面,通过挡板指针实现了零侵入、可插拨的挡板服务,挡板即插即用,同时可以像游标一样左右自由调节,使得在链路开发过程中,开发进度快的服务节点先测试,开发进度慢的服务节点后测试,相互之间互不影响,实现了链路开发的分段排查。
本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种测试方法,其特征在于,应用于服务网关,包括:
接收客户端发送的针对任一微服务的测试请求,所述任一微服务为真实服务和/或挡板服务,所述真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,所述挡板服务包括所述测试链路中除所述通过挡板指针标记的服务节点之外的服务节点的服务,所述测试链路中包括多个服务节点;
获取所述任一微服务包括的每个服务节点的路由信息;
基于所述任一微服务包括的每个服务节点的路由信息,对所述测试请求进行测试并返回相应的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述任一微服务包括的每个服务节点的路由信息,包括:
向微服务注册中心发送查询所述任一微服务包括的每个服务节点的路由信息的查询请求,所述微服务注册中心是用于注册所述服务网关、所述服务节点、挡板中控及所述挡板服务的,所述挡板中控用于控制将测试请求转到真实服务或挡板服务;
接收所述微服务注册中心返回的所述任一微服务包括的每个服务节点的路由信息。
3.根据权利要求2所述的方法,其特征在于,在所述接收客户发送的针对任一微服务的测试请求之前,还包括:
将所述服务网关、所述服务节点、所述挡板中控及所述挡板服务注册至所述微服务注册中心。
4.根据权利要求1所述的方法,其特征在于,所述基于所述任一微服务包括的每个服务节点的路由信息,对所述测试请求进行测试并返回相应的测试结果,包括:
向挡板中控发送所述任一微服务包括的每个服务节点的路由信息,以使得所述挡板中控基于预先设置情况,根据所述任一微服务包括的每个服务节点的路由信息,将所述测试请求转发到相应的真实服务或挡板服务,并通过所述真实服务或挡板服务对所述测试请求进行测试并返回相应的测试结果。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述挡板服务以指针的方式作用于每个服务节点,且所述挡板服务支持设置断言,所述断言用于判断输入参数和/或输出参数是否符合预期,并得到相应的断言结果。
6.根据权利要求1-4任一项所述的方法,其特征在于,在在所述接收客户发送的针对任一微服务的测试请求之前,还包括:
通过总控对所述挡板指针进行注册和统一管理,以及根据挡板逻辑生成所述挡板服务。
7.一种测试装置,其特征在于,包括:
接收模块,用于接收客户端发送的针对任一微服务的测试请求,所述任一微服务为真实服务和/或挡板服务,所述真实服务是包括测试链路中通过挡板指针标记的服务节点的服务,所述挡板服务包括所述测试链路中除所述通过挡板指针标记的服务节点之外的服务节点的服务,所述测试链路中包括多个服务节点;
获取模块,用于获取所述任一微服务包括的每个服务节点的路由信息;
测试模块,用于基于所述任一微服务包括的每个服务节点的路由信息,对所述测试请求进行测试并返回相应的测试结果。
8.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
向微服务注册中心发送查询所述任一微服务包括的每个服务节点的路由信息的查询请求,所述微服务注册中心是用于注册所述服务网关、所述服务节点、挡板中控及所述挡板服务的;
接收所述微服务注册中心返回的所述任一微服务包括的每个服务节点的路由信息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110090370.9A CN112765030A (zh) | 2021-01-22 | 2021-01-22 | 测试方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110090370.9A CN112765030A (zh) | 2021-01-22 | 2021-01-22 | 测试方法、装置、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765030A true CN112765030A (zh) | 2021-05-07 |
Family
ID=75706717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110090370.9A Pending CN112765030A (zh) | 2021-01-22 | 2021-01-22 | 测试方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765030A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411234A (zh) * | 2021-06-17 | 2021-09-17 | 杭州遥望网络科技有限公司 | 一种接口测试方法、系统及计算机可读存储介质 |
CN113849361A (zh) * | 2021-09-28 | 2021-12-28 | 北京百度网讯科技有限公司 | 测试服务节点的方法、装置、设备以及存储介质 |
CN114710542A (zh) * | 2022-03-23 | 2022-07-05 | 中国工商银行股份有限公司 | 一种基于rpc的泛化路由mock方法及装置 |
WO2023124314A1 (zh) * | 2021-12-31 | 2023-07-06 | 广东浪潮智慧计算技术有限公司 | 混合cpu架构设备的微服务测试方法、系统及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156199A1 (en) * | 2017-11-20 | 2019-05-23 | International Business Machines Corporation | Method for automated integration testing with mock microservices |
CN110147326A (zh) * | 2019-05-23 | 2019-08-20 | 四川新网银行股份有限公司 | 基于Redis数据库的微服务自动化测试方法 |
CN111026672A (zh) * | 2019-12-16 | 2020-04-17 | 广州品唯软件有限公司 | 测试方法、终端设备以及mock服务器 |
CN112134922A (zh) * | 2020-08-14 | 2020-12-25 | 中信银行股份有限公司 | 一种基于微服务的服务调用方法、装置及存储介质 |
-
2021
- 2021-01-22 CN CN202110090370.9A patent/CN112765030A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156199A1 (en) * | 2017-11-20 | 2019-05-23 | International Business Machines Corporation | Method for automated integration testing with mock microservices |
CN110147326A (zh) * | 2019-05-23 | 2019-08-20 | 四川新网银行股份有限公司 | 基于Redis数据库的微服务自动化测试方法 |
CN111026672A (zh) * | 2019-12-16 | 2020-04-17 | 广州品唯软件有限公司 | 测试方法、终端设备以及mock服务器 |
CN112134922A (zh) * | 2020-08-14 | 2020-12-25 | 中信银行股份有限公司 | 一种基于微服务的服务调用方法、装置及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411234A (zh) * | 2021-06-17 | 2021-09-17 | 杭州遥望网络科技有限公司 | 一种接口测试方法、系统及计算机可读存储介质 |
CN113411234B (zh) * | 2021-06-17 | 2022-08-16 | 杭州遥望网络科技有限公司 | 一种接口测试方法、系统及计算机可读存储介质 |
CN113849361A (zh) * | 2021-09-28 | 2021-12-28 | 北京百度网讯科技有限公司 | 测试服务节点的方法、装置、设备以及存储介质 |
CN113849361B (zh) * | 2021-09-28 | 2023-08-08 | 北京百度网讯科技有限公司 | 测试服务节点的方法、装置、设备以及存储介质 |
WO2023124314A1 (zh) * | 2021-12-31 | 2023-07-06 | 广东浪潮智慧计算技术有限公司 | 混合cpu架构设备的微服务测试方法、系统及相关装置 |
CN114710542A (zh) * | 2022-03-23 | 2022-07-05 | 中国工商银行股份有限公司 | 一种基于rpc的泛化路由mock方法及装置 |
CN114710542B (zh) * | 2022-03-23 | 2023-12-26 | 中国工商银行股份有限公司 | 一种基于rpc的泛化路由mock方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112765030A (zh) | 测试方法、装置、电子设备及计算机存储介质 | |
US9348771B1 (en) | Cloud-based instrument driver system | |
EP1949595B1 (en) | Method for the construction and execution of a distributed workflow in a communication system | |
CN110765024A (zh) | 模拟测试方法、装置、电子设备和计算机可读存储介质 | |
US10592312B2 (en) | Message oriented middleware with integrated rules engine | |
CN107203465B (zh) | 系统接口测试方法及装置 | |
CN110515855B (zh) | 一种应用程序的模拟控制方法、服务器及系统 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
CN112115337B (zh) | 展示数据的方法及装置、电子设备、计算机可读存储介质 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN115657553A (zh) | Pcie拓扑和pcie设备模拟方法、装置、设备及介质 | |
CN110955715A (zh) | Erp系统和目标平台的数据转换方法、装置以及电子设备 | |
CN113141405A (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
US20170085673A1 (en) | Attribute Operating Method and Apparatus | |
CN112765029A (zh) | 测试方法、装置、电子设备及计算机存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN112311585A (zh) | 选择管理节点的方法和装置、设备及其存储介质 | |
CN113900925A (zh) | 测试环境搭建利用方法、装置、设备和存储介质 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
EP1895417A1 (en) | Data storage system and method for testing new applications | |
CN114461337A (zh) | 一种云仿真系统、方法、电子设备及存储介质 | |
CN109814871B (zh) | 基于dds总线的节点管理方法及系统 | |
CN112527453A (zh) | 虚拟化信息仿真系统、方法及计算机可读存储介质 | |
CN110830274A (zh) | 一种通信设备仿真方法和装置 | |
CN115297012B (zh) | Sdn控制器的离线测试方法、装置、控制器及介质 |
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 |