CN111782519A - 测试方法、装置和电子设备 - Google Patents
测试方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111782519A CN111782519A CN202010603179.5A CN202010603179A CN111782519A CN 111782519 A CN111782519 A CN 111782519A CN 202010603179 A CN202010603179 A CN 202010603179A CN 111782519 A CN111782519 A CN 111782519A
- Authority
- CN
- China
- Prior art keywords
- test
- microservice
- environment
- version
- equipment
- 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
Links
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 494
- 238000011161 development Methods 0.000 claims abstract description 73
- 230000002159 abnormal effect Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013100 final test Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect 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/3664—Environments for testing or debugging software
-
- 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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
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)
Abstract
本说明书实施例公开了一种测试方法、装置和电子设备。所述方法包括:获得测试用例;在集成开发环境中配置测试环境标识;对在所述集成开发环境中开发的微服务的测试版本进行部署;对所述测试环境标识进行注册;调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;接收测试设备反馈的异常测试结果及其对应的解决方案。本说明书实施例可以快速地对微服务进行测试。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种测试方法、装置和电子设备。
背景技术
随着信息技术的快速发展,应用程序架构发生了巨大变化,传统的整体式架构转变为新型的微服务架构。根据微服务架构,一个应用程序被拆分为一个或多个可以独立开发、运行、以及维护的微服务。各个微服务之间是松耦合的。每个微服务作为一个小应用,仅关注于完成一件任务并很好地完成该任务。并且,当技术人员对该微服务进行更新时,经常需要对该该微服务进行测试,以保证更新后的微服务能够与其它的微服务正常配合使用。
如何快速地对微服务进行测试,是当前亟需解决的技术问题。
发明内容
本说明书实施例提供一种测试方法、装置和电子设备。本说明书实施例的技术方案如下。
本说明书实施例的第一方面,提供了一种测试方法,包括:获得测试用例;在集成开发环境中配置测试环境标识;对在所述集成开发环境中开发的微服务的测试版本进行部署;对所述测试环境标识进行注册;调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;接收测试设备反馈的异常测试结果及其对应的解决方案。
本说明书实施例的第二方面,提供了一种测试方法,包括:接收开发设备发来的测试用例和测试环境标识;根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应;发送所述测试请求,以便对微服务的测试版本进行测试;接收与所述测试请求相对应的测试结果;若所述测试结果为异常测试结果,向存储设备发送所述异常测试结果;接收存储设备反馈的与所述异常测试结果相对应的解决方案;向开发设备反馈所述异常测试结果以及所述解决方案。
本说明书实施例的第三方面,提供了一种测试装置,包括:获得单元,用于获得测试用例;配置单元,用于在集成开发环境中配置测试环境标识;部署单元,用于对在所述集成开发环境中开发的微服务的测试版本进行部署;注册单元,用于对所述测试环境标识进行注册;调用单元,用于调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;接收单元,用于接收测试设备反馈的异常测试结果及其对应的解决方案。
本说明书实施例的第四方面,提供了一种测试装置,包括:第一接收单元,用于接收开发设备发来的测试用例和测试环境标识;构建单元,用于根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应;第一发送单元,用于发送所述测试请求,以便对微服务的测试版本进行测试;第二接收单元,用于接收与所述测试请求相对应的测试结果;第二发送单元,用于若所述测试结果为异常测试结果,向存储设备发送异常测试结果;第三接收单元,用于接收存储设备反馈的与所述异常测试结果相对应的解决方案;反馈单元,用于向开发设备反馈所述异常测试结果以及所述解决方案。
本说明书实施例的第五方面,提供了一种电子设备,包括:至少一个处理器;存储有程序指令的存储器;其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第一方面、或第二方面所述方法的指令。
本说明书实施例提供的技术方案,通过在集成开发环境中配置测试环境标识,进而发送包含所述测试环境标识的测试请求,可以快速地对微服务的测试版本进行测试。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中测试方法的流程示意图;
图2为本说明书实施例中测试方法的流程示意图;
图3为本说明书实施例中场景示例的示意图;
图4为本说明书实施例中测试方法的流程示意图;
图5为本说明书实施例中测试方法的流程示意图;
图6为本说明书实施例中测试装置的功能结构示意图;
图7为本说明书实施例中测试装置的功能结构示意图;
图8为本说明书实施例中电子设备的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
微服务架构为一种软件架构,能够将应用程序按功能拆分为更加细粒度的一个或多个微服务。这些微服务的粒度足够小,可以独立运行部署并开发维护,实现独立的一个功能(例如订单管理、用户管理等)。应用程序的各个微服务之间是松耦合的,可以通过一些轻量级的通信机制进行通信,例如通过REST API(Representational State TransferApplicationProgramming Interface,表现层状态转移应用程序接口)或者RPC(RemoteProcedure Call,远程过程调用)的方式进行通信。
本说明书实施例提供一种基于微服务架构的测试系统。所述测试系统可以包括一个或多个开发设备、存储设备、一个或多个微服务设备、测试设备、以及注册中心。所述开发设备、所述存储设备、所述微服务设备、所述测试设备、以及所述注册中心均可以为一个服务器或者包括多个服务器的服务器集群。所述开发设备可以分别与所述存储设备、所述微服务设备、所述测试设备、以及所述注册中心进行通信。所述存储设备可以与所述测试设备进行通信。所述微服务设备可以分别与所述测试设备、以及所述注册中心进行通信。
所述开发设备可以为面向开发人员的设备,用于供开发人员开发微服务。经由开发人员开发的微服务可以部署在微服务设备上。不同的微服务可以部署在不同的微服务设备上,同一微服务的不同版本(例如公共版本、测试版本)可以部署在相同或不同的微服务设备上。所述存储设备用于存储测试用例和解决方案。所述测试设备用于发起测试调用。所述注册中心用于存储微服务的地址信息,以便各个微服务之间能够基于所述地址信息进行通信。所述地址信息可以包括微服务设备的通信地址(例如IP地址)、微服务的调用接口(例如接口名称、接口请求参数信息、接口返回结果信息)等。
上文中详细描述了本说明书实施例的测试系统。下面将结合图1,详细描述本说明书实施例的测试方法。所述测试方法以开发设备为执行主体,可以包括以下步骤。
步骤S101:获得测试用例。
在一些实施例中,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实应用是否满足某个特定需求。具体地,所述开发设备可以向存储设备发送测试用例获取请求。所述存储设备可以存储有预先经过编排的至少一个测试用例。如此所述存储设备可以接收所述测试用例获取请求;可以向所述开发设备发送测试用例。所述开发设备可以接收测试用例。
进一步地,应用程序的每个微服务可以对应一个微服务标识,所述微服务标识可以用于标识该微服务。值得说明的是,微服务的不同版本可以对应相同的微服务标识。
所述存储设备中的测试用例可以对应有微服务标识。如此所述开发设备可以向所述存储设备发送测试用例获取请求。所述测试用例获取请求中可以包括所述微服务标识。所述存储设备可以接收所述测试用例获取请求;可以获取与所述微服务标识相匹配的测试用例;可以向所述开发设备发送所述测试用例。所述开发设备可以接收测试用例。
例如,所述存储设备可以向所述开发设备提供测试用例选取界面。开发人员可以在所述测试用例选取界面输入微服务标识。所述开发设备可以向所述存储设备发送测试用例获取请求。所述测试用例获取请求中可以包括所述微服务标识。所述存储设备可以接收所述测试用例获取请求;可以获取与所述微服务标识相匹配的测试用例;可以向所述开发设备发送所述测试用例。所述开发设备可以接收所述测试用例。
步骤S103:在集成开发环境中配置测试环境标识。
在一些实施例中,所述集成开发环境(IDE,Integrated DevelopmentEnvironment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++Builder、Delphi系列等。
在一些实施例中,在公共环境下可以部署有应用程序的全量的微服务。所述公共环境可以理解为应用程序的基础环境,所述公共环境可以对应有公共环境标识。为了便于描述,以下将在所述公共环境下部署的微服务版本称为公共版本,微服务的公共版本可以与所述公共环境标识相对应。例如,某一应用程序可以包括A、B、C、D、E等5个微服务。所述公共环境标识可以为V0。微服务A的公共版本A_V0可以与所述公共环境标识V0相对应,微服务B的公共版本B_V0可以与所述公共环境标识V0相对应,微服务C的公共版本C_V0可以与所述公共环境标识V0相对应,微服务D的公共版本D_V0可以与所述公共环境标识V0相对应,微服务E的公共版本E_V0可以与所述公共环境标识V0相对应。
在一些实施例中,所述测试环境标识可以用于标识测试环境。所述测试环境可以理解为为了测试微服务的新版本而建立的环境。在测试环境下可以部署有应用程序的部分或全量的微服务。为了便于描述,以下将在测试环境下部署的微服务版本称为测试版本。微服务的测试版本可以与所述测试环境标识相对应。具体地,开发人员可以在开发设备输入测试环境标识。所述开发设备可以接收所述测试环境标识;可以在集成开发环境中配置所述测试环境标识。延续前面的例子,所述测试环境标识可以为V1。开发人员可以在所述集成开发环境中开发微服务B的测试版本B_V1。微服务B的测试版本B_V1可以与所述测试环境标识V1相对应。
步骤S105:对在所述集成开发环境中开发的微服务的测试版本进行部署。
在一些实施例中,开发人员可以在所述集成开发环境中输入微服务的测试版本的源代码。开发设备可以接收所述源代码;可以对所述源代码进行编译,得到微服务的测试版本的可执行文件;可以将所述可执行文件部署在微服务设备上。
在实际应用中,开发人员可以在所述集成开发环境中配置微服务设备的通信地址。这样所述开发设备可以根据所述通信地址将所述可执行文件部署在所述微服务设备上。
步骤S107:对所述测试环境标识进行注册。
在一些实施例中,开发设备可以将所述测试环境标识注册至注册中心。具体地,开发设备可以将微服务的测试版本的地址信息和测试环境标识对应注册至所述注册中心,以便能够根据所述测试环境标识来查找所述地址信息。所述地址信息例如可以包括微服务设备的通信地址和微服务的测试版本的调用接口。
步骤S109:调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据测试环境标识对微服务的测试版本进行测试。
在一些实施例中,所述开发设备可以调用所述测试设备,以向所述测试设备发送测试用例和测试环境标识。所述测试设备可以接收所述测试用例和所述测试环境标识;可以根据所述测试用例构建包含所述测试环境标识的测试请求;可以根据所述测试请求发起测试调用。其中,所述测试请求可以用于优先从测试环境中调用微服务的测试版本;如果测试环境中不存在微服务的测试版本,则再从公共环境中调用微服务的公共版本。
所述测试设备可以知晓应用程序的入口微服务;可以向注册中心发送入口微服务的微服务标识和所述测试环境标识。所述注册中心可以接收所述微服务标识和所述测试环境标识;可以查找是否存在同时与所述微服务标识和所述测试环境标识相对应的地址信息;若存在,则向所述测试设备反馈同时与所述微服务标识和所述测试环境标识相对应的地址信息;若不存在,则向所述测试设备反馈同时与所述微服务标识和所述公共环境标识相对应的地址信息。所述测试设备可以接收注册中心发来的地址信息;可以根据所述地址信息,调用所述入口微服务。此处调用入口微服务,具体可以是向部署有所述入口微服务的微服务设备(以下称为入口微服务设备)发送调用请求,以使所述入口微服务设备运行所述入口微服务。
这样,所述测试设备可以优先在所述测试环境中判断是否存在所述入口微服务的测试版本;如果在所述测试环境中存在所述入口微服务的测试版本,则可以从所述测试环境中调用所述入口微服务的测试版本;如果在所述测试环境中不存在所述入口微服务的测试版本,则可以从所述公共环境中调用所述入口微服务的公共版本。
步骤S111:接收测试设备反馈的异常测试结果及其对应的解决方案。
在一些实施例中,若想对待测微服务的测试版本进行测试,则需要调用应用程序中与所述待测微服务相关联的其它微服务,才能够实现对所述待测微服务的测试版本进行测试。为此所述入口微服务设备可以与其它微服务设备进行通信,以调用部署在其它微服务设备中的微服务。最终的测试结果由其它微服务设备按照调用顺序原路返回给所述入口微服务设备。
例如,某一应用程序可以包括A、B、C、D、E等5个微服务。部署有微服务A的微服务设备可以与部署有微服务B的微服务设备进行通信,以调用微服务B。部署有微服务B的微服务设备可以与部署有微服务C的微服务设备进行通信,以调用微服务C。部署有微服务C的微服务设备可以与部署有微服务D的微服务设备进行通信,以调用微服务D。部署有微服务D的微服务设备可以与部署有微服务E的微服务设备进行通信,以调用微服务E。那么,最终的测试结果可以按照部署有微服务E的微服务设备、部署有微服务D的微服务设备、部署有微服务C的微服务设备、部署有微服务B的微服务设备、以及部署有微服务A的微服务设备的顺序返回。使得部署有微服务A的微服务设备可以获得最终的测试结果。
在获得所述测试结果以后,所述入口微服务设备可以向所述测试设备发送所述测试结果。所述测试设备可以接收所述测试结果;可以向所述开发设备发送所述测试结果。所述开发设备可以接收所述测试结果;可以对所述测试结果进行分析。若所述测试结果为异常测试结果,所述测试设备可以向所述存储设备发送所述异常测试结果。所述存储设备可以接收所述异常测试结果;可以获取与所述异常测试结果相匹配的解决方案;可以向所述测试设备发送所述解决方案。所述测试设备可以接收所述解决方案;可以向所述开发设备反馈所述异常测试结果和所述解决方案。所述开发设备可以接收所述异常测试结果和所述解决方案;可以在所述集成开发环境展示所述异常测试结果和所述解决方案。这样在测试出现异常时开发人员便能够直接获得解决方案,提高了用户体验。若所述测试结果为正常测试结果,所述测试设备可以向所述开发设备反馈所述正常测试结果。所述开发设备可以接收所述正常测试结果;可以在所述集成开发环境展示所述正常测试结果。
本说明书实施例的测试方法,通过在集成开发环境中配置测试环境标识,进而发送包含所述测试环境标识的测试请求,可以快速地对微服务的测试版本进行测试。另外,利用所述测试环境标识,本说明书实施例可以优先从测试环境中调用微服务的测试版本;如果测试环境中不存在微服务的测试版本,则再从公共环境中调用微服务的公共版本。这样避免了公共环境和测试环境的隔离,进而避免了将全量的微服务部署至测试环境中,节省了计算机资源。
上文中详细描述了本说明书实施例的测试系统。下面将结合图2,详细描述本说明书另一个实施例的测试方法。所述测试方法以调用方为执行主体。所述调用方可以为微服务设备。所述测试方法可以包括以下步骤。
步骤S21:获得调用请求,所述调用请求包括测试环境标识。
在一些实施例中,所述调用请求还可以包括微服务标识。所述微服务标识用于标识部署在所述调用方中的微服务。部署在所述调用方中的微服务具体可以是微服务的测试版本,或者,还可以是微服务的公共版本。
在一些实施例中,所述调用方可以是入口微服务设备。相应地,所述调用请求可以是开发设备发来的。或者,所述调用方还可以是除所述入口微服务设备以外的其它微服务设备。相应地,所述调用请求还可以是微服务设备发来的。
步骤S23:响应于所述调用请求,对部署的微服务进行测试。
在一些实施例中,所述调用方可以运行部署在本地的微服务,以对部署在本地的微服务进行测试。具体地,所述调用方可以运行微服务的测试版本,以对微服务的测试版本进行测试。或者,所述调用方还可以运行微服务的公共版本,以对微服务的公共版本进行测试。
步骤S25:向注册中心发送所述测试环境标识和待调用微服务的微服务标识。
在一些实施例中,部署在所述调用方中的微服务可以知晓自身需要调用哪个微服务。因而所述调用方可以向注册中心发送所述测试环境标识和待调用微服务的微服务标识。
步骤S27:接收注册中心反馈的地址信息。
步骤S29:根据所述地址信息调用所述待调用微服务,以对所述待调用微服务进行测试。
在一些实施例中,所述注册中心可以接收微服务标识和测试环境标识;可以查找是否存在同时与所述微服务标识和所述测试环境标识相对应的地址信息。
若存在,所述注册中心可以向所述调用方反馈同时与所述微服务标识和所述测试环境标识相对应的地址信息。所述地址信息可以与待调用微服务的测试版本相对应。如此所述调用方可以接收所述地址信息;可以根据所述地址信息调用所述待调用微服务的测试版本,以对所述待调用微服务的测试版本进行测试。此处调用所述待调用微服务的测试版本,具体可以是向部署有所述测试版本的微服务设备发送调用请求,以使部署有所述测试版本的微服务设备运行所述测试版本。
若不存在,所述注册中心可以向所述调用方反馈同时与所述微服务标识和所述公共环境标识相对应的地址信息。所述地址信息可以与待调用微服务的公共版本相对应。如此所述调用方可以接收所述地址信息;可以根据所述地址信息调用所述待调用微服务的公共版本,以对所述待调用微服务的公共版本进行测试。此处调用所述待调用微服务的公共版本,具体可以是向部署有所述公共版本的微服务设备发送调用请求,以使部署有所述公共版本的微服务设备运行所述公共版本。
这样,调用方在获得调用请求以后,可以优先在测试环境中判断是否存在待调用微服务的测试版本;如果在测试环境中存在待调用微服务的测试版本,则从测试环境中调用所述待调用微服务的测试版本,实现对待调用微服务的测试版本进行测试;如果在测试环境中不存在待调用微服务的测试版本,则从公共环境中调用所述待调用微服务的公共版本,实现对待调用微服务的公共版本进行测试。
在一些场景示例中,请参阅图3。应用程序可以包括A、B、C、D、E等5个微服务。在公共环境中部署有全量的微服务。具体地,所述公共环境的公共环境标识可以为V0。在所述公共环境中,部署有微服务A的公共版本A_V0、微服务B的公共版本B_V0、微服务C的公共版本C_V0、微服务D的公共版本D_V0、微服务E的公共版本E_V0。对于公开环境V0,微服务间的调用关系为:A_V0→B_V0→C_V0→D_V0→E_V0。
在一些情况下需要变更微服务A和微服务C,因而可以构建测试环境1。测试环境1的测试环境标识可以为V1。在测试环境1中,部署有微服务A的测试版本A_V1、微服务C的测试版本C_V1。对于测试环境1,微服务间的调用关系为:A_V1→B_V0→C_V1→D_V0→E_V0。
在另一些情况下需要变更微服务A、微服务B和微服务E,因而可以构建测试环境2。测试环境2的测试环境标识可以为V2。在测试环境2中,部署有微服务A的测试版本A_V2、微服务B的测试版本V2、以及微服务E的测试版本E_V2。对于测试环境2,微服务间的调用关系为:A_V2→B_V2→C_V0→D_V0→E_V2。
本说明书实施例的测试方法,通过在集成开发环境中配置测试环境标识,进而发送包含所述测试环境标识的测试请求,可以快速地对微服务的测试版本进行测试。另外,利用所述测试环境标识,本说明书实施例可以优先从测试环境中调用微服务的测试版本;如果测试环境中不存在微服务的测试版本,则再从公共环境中调用微服务的公共版本。这样避免了公共环境和测试环境的隔离,进而避免了将全量的微服务部署至测试环境中,节省了计算机资源。
上文中详细描述了本说明书实施例的测试系统。下面将结合图4,详细描述本说明书另一个实施例的测试方法。所述测试方法以注册中心为执行主体。所述注册中心存储有环境标识和地址信息之间的对应关系。进一步地,所述注册中心可以存储有环境标识、微服务标识、以及地址信息之间的对应关系。所述测试方法可以包括以下步骤。
步骤S41:接收测试环境标识和微服务标识。
在一些实施例中,所述测试环境标识和所述微服务标识可以是开发设备发来的;或者,还可以是微服务设备发来的。
步骤S43:查找是否存在同时与所述测试环境标识和所述微服务标识相对应的地址信息。
步骤S45:若存在,反馈同时与所述测试环境标识和所述微服务标识相对应的地址信息。
在一些实施例中,所述注册中心可以查找是否存在同时与测试环境标识和微服务标识相对应的地址信息。若存在,所述注册中心可以反馈同时与所述测试环境标识和所述微服务标识相对应的地址信息。微服务的测试版本同时与所述微服务标识和所述测试环境标识相对应。这样可以对微服务的测试版本进行测试。若不存在,所述注册中心可以反馈同时与所述公共环境标识和所述微服务标识相对应的地址信息。微服务的公共版本同时与所述微服务标识和与所述公共环境标识相对应。这样可以便对微服务的公共版本进行测试。
本说明书实施例的测试方法,通过在集成开发环境中配置测试环境标识,进而发送包含所述测试环境标识的测试请求,可以快速地对微服务的测试版本进行测试。另外,利用所述测试环境标识,本说明书实施例可以优先从测试环境中调用微服务的测试版本;如果测试环境中不存在微服务的测试版本,则再从公共环境中调用微服务的公共版本。这样避免了公共环境和测试环境的隔离,进而避免了将全量的微服务部署至测试环境中,节省了计算机资源。
上文中详细描述了本说明书实施例的测试系统。下面将结合图5,详细描述本说明书另一个实施例的测试方法。所述测试方法以测试设备为执行主体,可以包括以下步骤。
步骤S501:接收开发设备发来的测试用例和测试环境标识。
步骤S503:根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应。
在一些实施例中,所述测试请求中还可以包括其它信息,例如待测微服务的微服务标识。
步骤S505:发送所述测试请求,以便对微服务的测试版本进行测试。
步骤S507:接收与所述测试请求相对应的测试结果。
步骤S509:若所述测试结果为异常测试结果,向存储设备发送所述异常测试结果。
步骤S511:接收存储设备反馈的与所述异常测试结果相对应的解决方案。
步骤S513:向开发设备反馈所述异常测试结果以及所述解决方案。
具体过程可以参见前面的步骤S109-步骤S111。
本说明书实施例的测试方法,通过在集成开发环境中配置测试环境标识,进而发送包含所述测试环境标识的测试请求,可以快速地对微服务的测试版本进行测试。另外,利用所述测试环境标识,本说明书实施例可以优先从测试环境中调用微服务的测试版本;如果测试环境中不存在微服务的测试版本,则再从公共环境中调用微服务的公共版本。这样避免了公共环境和测试环境的隔离,进而避免了将全量的微服务部署至测试环境中,节省了计算机资源。
下面将结合图6和图7,详细描述本说明书实施例中的测试装置。
请参阅图6。本说明书提供测试装置的一个实施例。所述测试装置可以应用于开发端。所述测试装置具体可以包括以下模块单元。
获得单元601,用于获得测试用例;
配置单元603,用于在集成开发环境中配置测试环境标识;
部署单元605,用于对在所述集成开发环境中开发的微服务的测试版本进行部署;
注册单元607,用于对所述测试环境标识进行注册;
调用单元609,用于调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;
接收单元611,用于接收测试设备反馈的异常测试结果及其对应的解决方案。
请参阅图7。本说明书提供测试装置的一个实施例。所述测试装置可以应用于存储设备。所述测试装置具体可以包括以下模块单元。
第一接收单元701,用于接收开发设备发来的测试用例和测试环境标识;
构建单元703,用于根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应;
第一发送单元705,用于发送所述测试请求,以便对微服务的测试版本进行测试;
第二接收单元707,用于接收与所述测试请求相对应的测试结果;
第二发送单元709,用于若所述测试结果为异常测试结果,向存储设备发送异常测试结果;
第三接收单元711,用于接收存储设备反馈的与所述异常测试结果相对应的解决方案;
反馈单元713,用于向开发设备反馈所述异常测试结果以及所述解决方案。
下面介绍本说明书电子设备的一个实施例。图8是该实施例中电子设备的硬件结构示意图。如图8所示,该电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图8所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中该电子设备还可以包括比图8所示更多或者更少的组件单元;或者,具有与图8所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述存储器可以用于存储应用程序的程序指令或模块,例如本说明书图1、图2、图4、或图5所对应实施例的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
本说明书还提供计算机存储介质的一个实施例。所述计算机存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)、存储卡(Memory Card)等等。所述计算机存储介质存储有计算机程序指令。在所述计算机程序指令被执行时实现:本说明书图1、图2、图4、或图5所对应实施例的程序指令或模块。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于单侧实施的方法实施例(例如图1、图2、图4、或图5所对应的实施例)、装置实施例、电子设备实施例、以及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit HardwareDescription Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (11)
1.一种测试方法,包括:
获得测试用例;
在集成开发环境中配置测试环境标识;
对在所述集成开发环境中开发的微服务的测试版本进行部署;
对所述测试环境标识进行注册;
调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;
接收测试设备反馈的异常测试结果及其对应的解决方案。
2.如权利要求1所述的方法,所述获得测试用例,包括:
向存储设备发送测试用例获取请求;
接收所述存储设备反馈的测试用例。
3.如权利要求2所述的方法,所述测试用例获取请求包括所述微服务的微服务标识,相应地,接收的测试用例与所述微服务标识相匹配。
4.如权利要求1所述的方法,所述对在所述集成开发环境中开发的微服务的测试版本进行部署,包括:
获得微服务的测试版本的源代码;
对所述源代码进行编译,得到微服务的测试版本的可执行文件;
将所述可执行文件部署在微服务设备上。
5.如权利要求1所述的方法,所述注册所述测试环境标识,包括:
将测试环境标识和微服务的测试版本的地址信息对应注册至注册中心。
6.如权利要求1所述的方法,还包括:
接收测试设备反馈的正常测试结果。
7.一种测试方法,包括:
接收开发设备发来的测试用例和测试环境标识;
根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应;
发送所述测试请求,以便对微服务的测试版本进行测试;
接收与所述测试请求相对应的测试结果;
若所述测试结果为异常测试结果,向存储设备发送所述异常测试结果;
接收存储设备反馈的与所述异常测试结果相对应的解决方案;
向开发设备反馈所述异常测试结果以及所述解决方案。
8.如权利要求7所述的方法,还包括:
若所述测试结果为正常测试结果,向开发设备反馈所述正常测试结果。
9.一种测试装置,包括:
获得单元,用于获得测试用例;
配置单元,用于在集成开发环境中配置测试环境标识;
部署单元,用于对在所述集成开发环境中开发的微服务的测试版本进行部署;
注册单元,用于对所述测试环境标识进行注册;
调用单元,用于调用测试设备,以使测试设备根据所述测试用例构建包含所述测试环境标识的测试请求,所述测试请求用于根据注册的测试环境标识对所述微服务的测试版本进行测试;
接收单元,用于接收测试设备反馈的异常测试结果及其对应的解决方案。
10.一种测试装置,包括:
第一接收单元,用于接收开发设备发来的测试用例和测试环境标识;
构建单元,用于根据所述测试用例构建测试请求,所述测试请求包括所述测试环境标识,所述测试环境标识与微服务的测试版本相对应;
第一发送单元,用于发送所述测试请求,以便对微服务的测试版本进行测试;
第二接收单元,用于接收与所述测试请求相对应的测试结果;
第二发送单元,用于若所述测试结果为异常测试结果,向存储设备发送异常测试结果;
第三接收单元,用于接收存储设备反馈的与所述异常测试结果相对应的解决方案;
反馈单元,用于向开发设备反馈所述异常测试结果以及所述解决方案。
11.一种电子设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603179.5A CN111782519B (zh) | 2020-06-29 | 2020-06-29 | 测试方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603179.5A CN111782519B (zh) | 2020-06-29 | 2020-06-29 | 测试方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782519A true CN111782519A (zh) | 2020-10-16 |
CN111782519B CN111782519B (zh) | 2024-08-20 |
Family
ID=72760297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010603179.5A Active CN111782519B (zh) | 2020-06-29 | 2020-06-29 | 测试方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782519B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882924A (zh) * | 2021-01-21 | 2021-06-01 | 平安银行股份有限公司 | 基于注册中心的测试环境搭建方法、装置、设备及介质 |
CN112905486A (zh) * | 2021-03-26 | 2021-06-04 | 建信金融科技有限责任公司 | 一种服务集成测试方法、装置和系统 |
CN112965700A (zh) * | 2021-05-17 | 2021-06-15 | 太平金融科技服务(上海)有限公司 | 基于路由的微服务处理方法、装置、计算机设备和介质 |
CN113326186A (zh) * | 2021-05-19 | 2021-08-31 | 网易(杭州)网络有限公司 | 软件测试方法及装置、电子设备、存储介质 |
WO2022193979A1 (zh) * | 2021-03-16 | 2022-09-22 | 易保网络技术(上海)有限公司 | 一种微服务开发方法、系统以及计算机设备和介质 |
CN115150310A (zh) * | 2022-07-01 | 2022-10-04 | 北京百度网讯科技有限公司 | 请求生成方法、处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979508A (zh) * | 2017-11-24 | 2018-05-01 | 深圳乐信软件技术有限公司 | 微服务测试方法及装置 |
CN110096437A (zh) * | 2019-04-12 | 2019-08-06 | 平安普惠企业管理有限公司 | 微服务架构的测试方法及相关产品 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
CN110659206A (zh) * | 2019-08-30 | 2020-01-07 | 平安普惠企业管理有限公司 | 基于微服务的模拟架构建立方法、装置、介质及电子设备 |
CN111324538A (zh) * | 2020-02-20 | 2020-06-23 | 上海赛可出行科技服务有限公司 | 一种基于动态路由的微服务并行测试环境管理方法 |
-
2020
- 2020-06-29 CN CN202010603179.5A patent/CN111782519B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979508A (zh) * | 2017-11-24 | 2018-05-01 | 深圳乐信软件技术有限公司 | 微服务测试方法及装置 |
CN110096437A (zh) * | 2019-04-12 | 2019-08-06 | 平安普惠企业管理有限公司 | 微服务架构的测试方法及相关产品 |
CN110659206A (zh) * | 2019-08-30 | 2020-01-07 | 平安普惠企业管理有限公司 | 基于微服务的模拟架构建立方法、装置、介质及电子设备 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
CN111324538A (zh) * | 2020-02-20 | 2020-06-23 | 上海赛可出行科技服务有限公司 | 一种基于动态路由的微服务并行测试环境管理方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882924A (zh) * | 2021-01-21 | 2021-06-01 | 平安银行股份有限公司 | 基于注册中心的测试环境搭建方法、装置、设备及介质 |
CN112882924B (zh) * | 2021-01-21 | 2022-02-08 | 平安银行股份有限公司 | 基于注册中心的测试环境搭建方法、装置、设备及介质 |
WO2022193979A1 (zh) * | 2021-03-16 | 2022-09-22 | 易保网络技术(上海)有限公司 | 一种微服务开发方法、系统以及计算机设备和介质 |
CN112905486A (zh) * | 2021-03-26 | 2021-06-04 | 建信金融科技有限责任公司 | 一种服务集成测试方法、装置和系统 |
CN112965700A (zh) * | 2021-05-17 | 2021-06-15 | 太平金融科技服务(上海)有限公司 | 基于路由的微服务处理方法、装置、计算机设备和介质 |
CN113326186A (zh) * | 2021-05-19 | 2021-08-31 | 网易(杭州)网络有限公司 | 软件测试方法及装置、电子设备、存储介质 |
CN115150310A (zh) * | 2022-07-01 | 2022-10-04 | 北京百度网讯科技有限公司 | 请求生成方法、处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782519B (zh) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782519B (zh) | 测试方法、装置和电子设备 | |
CN107979508B (zh) | 微服务测试方法及装置 | |
CN109643252B (zh) | 中间件接口和中间件接口生成器 | |
CN111782520A (zh) | 测试方法、装置和电子设备 | |
CN110569035A (zh) | 软件开发项目的代码编译方法、装置、设备和存储介质 | |
CN111090423B (zh) | 一种webhook框架系统和实现主动调用、实现事件触发的方法 | |
CN110851159B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN107797823B (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
EP3447635A1 (en) | Application architecture generation | |
CN111782518B (zh) | 测试方法、装置和电子设备 | |
CN115469833A (zh) | 动态规则引擎的实现方法和装置、电子设备和存储介质 | |
CN112882732A (zh) | 一种软件开发工具包sdk中功能代码的更新方法和装置 | |
CN107122203B (zh) | 一种配置文件的设置方法及装置 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN114610598A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN113821249A (zh) | 项目开发配置的方法、装置、电子设备和可读存储介质 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
US11669316B2 (en) | Web-based customer service via single-class rebuild | |
US11366642B1 (en) | Change migration: processes for ensuring successful deployment of design changes | |
CN113535544A (zh) | 一种待调试子应用运行方法、计算机设备以及装置 | |
CN114942887A (zh) | 一种程序安全测试方法、装置、设备和介质 | |
CN107451050A (zh) | 函数获取方法和装置、服务器 | |
CN112506590A (zh) | 接口调用方法、装置及电子设备 | |
CN113032004A (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 |