CN112732499A - 一种基于微服务架构的测试方法、装置及计算机系统 - Google Patents
一种基于微服务架构的测试方法、装置及计算机系统 Download PDFInfo
- Publication number
- CN112732499A CN112732499A CN202011605388.XA CN202011605388A CN112732499A CN 112732499 A CN112732499 A CN 112732499A CN 202011605388 A CN202011605388 A CN 202011605388A CN 112732499 A CN112732499 A CN 112732499A
- Authority
- CN
- China
- Prior art keywords
- parameter
- service
- preset
- return value
- target
- 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 8
- 230000002159 abnormal effect Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种基于微服务架构的测试方法、装置及计算机系统,方法包括通过mock服务接收请求方发送至目标微服务的待处理请求,所述待处理请求包括第一参数对应的第一参数值和第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;对每一第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述预设微服务架构的入参存在异常,本申请实现了对微服务的入参进行捕获,根据对待处理请求的校验结果可判断上游链路和微服务的入参是否存在问题,可准确地定位到微服务调用链路中存在异常的节点。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种基于微服务架构的测试方法、装置及计算机系统。
背景技术
在传统的WEB开发过程中,大多采用单体式开发,所有的功能都基于同一个应用,即使只对其中的一个功能进行了修改,也需要对整个应用进行重新发布。为解决上述问题,现有的WEB开发多采用微服务架构,将功能划分为单独的微服务,使得微服务间互相隔离,降低了WEB开发的后续维护难度和维护成本。
为了保证微服务架构的正常运行,在每次针对微服务架构进行修改后都需要进行测试。然而,现有技术中针对微服务架构的测试仅能对微服务架构输出的结果进行校验以判断微服务架构是否存在异常。但在存在复杂的微服务调用链路时,仅仅根据链路下游的输出结果无法判断是链路中的上游还是下游出现了异常,导致无法准确定位到链路中出现问题的节点。
发明内容
为了解决现有技术的不足,本发明的主要目的在于提供一种基于微服务架构的测试方法,以解决现有技术的上述技术问题。
为了达到上述目的,第一方面本发明提供了一种基于微服务架构的测试方法,所述方法包括:
通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
在一些实施例中,所述目标微服务处于微服务调用链路中,所述请求方包括微服务调用链路中调用所述目标微服务的上一级微服务,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述方法包括:
当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述上一级微服务,以便所述上一级微服务根据所述预设返回值进行处理并生成处理结果,所述微服务调用链路根据所述处理结果生成所述微服务调用链路的调用结果;
对所述调用结果进行校验,当校验不通过时,判断所述微服务调用链路存在异常。
在一些实施例中,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述请求方包括用户的客户端,所述方法包括:
当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述客户端,以便所述客户端根据所述预设返回值处理并生成相应的处理结果;
对所述处理结果进行校验,当校验不通过时,判断所述客户端存在异常。
在一些实施例中,所述方法包括:
当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;
根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
在一些实施例中,所述根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值包括:
当生成的所述返回值满足预设的校验规则时,根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
在一些实施例中,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件,所述对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常包括:
根据所述第二参数、所述第二参数对应的参数值生成json数据;
根据所述第二参数对应的JSON Schema及所述json数据,匹配每一所述第二参数值是否满足每一所述条件;
当存在不满足所述条件的第二参数值时,判断所述目标微服务的入参存在异常。
第二方面,本申请提供了一种基于微服务架构的测试装置,所述装置包括:
接收模块,用于通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
校验模块,用于对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
在一些实施例中,所述通信模块还可用于当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;
所述装置还包括存储模块,用于根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
在一些实施例中,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件,所述校验模块还可用于根据所述第二参数、所述第二参数对应的参数值生成json数据;根据所述第二参数对应的JSON Schema及所述json数据,匹配每一所述第二参数值是否满足每一所述条件;当存在不满足所述条件的第二参数值时,判断所述预设微服务架构的入参存在异常。
第三方面,本申请提供了一种计算机系统,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
本发明实现的有益效果为:
本申请提出了一种基于微服务架构的测试方法,包括通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第一参数、第一参数对应的第一参数值和第二参数、第二参数对应的第二参数值;当所述第一参数值存在对应的预设返回值时,mock服务将所述对应的预设返回值返回给所述请求方,以便所述请求方根据所述预设返回值执行对应的预设操作;对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述预设微服务架构的入参存在异常,本申请通过将mock服务绑定至预设服务架构的代理层,使得mock服务可以获取到上游链路传递给目标微服务的待处理请求,实现了对微服务的入参进行捕获,根据对待处理请求的校验结果可判断上游链路和微服务的入参是否存在问题,可准确地定位到微服务调用链路中存在异常的节点。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的微服务架构代理层结构示意图;
图2是本申请实施例提供的方法流程图;
图3是本申请实施例提供的装置结构图;
图4是本申请实施例提供的计算机系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,现有技术中针对微服务架构的测试大多是针对微服务架构最后的输出结果进行校验,当微服务调用链路出现问题时,无法准确定位存在问题的微服务,导致很难对出现问题的微服务进行修正。
为解决上述问题,本申请提出了一种基于微服务架构的测试方法,通过将mock服务的IP与预设微服务架构的代理层的IP进行绑定,以便所述mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、所述第二参数对应的第二参数值,对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述预设微服务架构的入参存在异常,实现了对微服务调用链路中目标微服务的入参进行捕获,当微服务架构出现问题时,可根据目标微服务的入参是否异常判断出现问题的是目标微服务还是目标微服务的上游调用链路,便于对出现问题的节点进行进一步定位。
实施例一
当客户端产生了针对预设微服务架构的调用请求时,为了处理该调用请求,微服务间可能会互相调用产生微服务调用链路,当执行完整个调用链路后才能产生返回给客户端的返回值。为了对调用链路中出现问题的微服务进行定位,本申请提出了一种基于微服务架构的测试方法,具体包括如下步骤:
步骤一、接收用户的客户端发送的调用请求;
每一微服务架构具有代理层,可接收用户的客户端发出的调用请求并分发至对应的微服务。而当某一微服务需要调用同一微服务架构下的另一微服务时,也需要将相应的调用请求发送至代理层,然后由代理层分发至被调用的微服务。
如图1所示,为了监控微服务调用链路中目标微服务的入参,可将预设的mock服务的IP绑定至代理层即图1中OSP proxy的IP,当发送至目标微服务的请求发送至代理层时,代理层会转发给mock服务。Mock服务用于模拟和替换目标微服务,以便获取发送至目标微服务的请求中包含的入参。
步骤二、代理层将调用请求转发至对应的微服务进行处理;
接收的微服务对调用请求进行处理,并为了处理请求调用下一级微服务,直至被调用的最后一级微服务完成对调用请求的处理后,生成微服务架构对本次调用请求的调用结果。
步骤三、当代理层接收到发送至目标微服务的请求时,将请求转发至mock服务;
该请求可以是上一级微服务对目标微服务的调用,也可以是用户的客户端对目标微服务的直接的调用。
步骤四、mock服务判断请求包括的第一参数对应的第一参数值是否存在对应的预设返回值;
所述第一参数可以是预先规定的任意参数,mock服务可识别请求中第一参数对应的预设返回值。
Mock服务可查询预先存储的参数值与预设返回值的对应关系,以便确定第一参数值是否存在对应的预设返回值。参数值与预设返回值的对应关系可以由测试人员根据测试用例预先编写,也可以根据目标微服务的真实处理值确定。
步骤五、当存在对应的预设返回值时,mock服务将对应的预设返回值返回给请求方,以便请求方根据预设返回值执行对应的预设操作;
请求方可以是用户的客户端或调用链路中上一级微服务,当请求方接收到返回的预设返回值时可以继续执行后续操作,以便生成相应的处理结果。可以根据对应的预设校验规则对处理结果进行校验,以判断请求方是否存在问题。
当请求方是调用链路中上一级微服务时,上一级微服务可以根据预设返回值继续执行后续操作,以便生成处理结果。微服务调用链路根据处理结果继续进行后续操作,直至完成对调用请求的处理,生成调用结果。根据对应的预设校验规则对微服务架构返回的调用结果进行校验,当校验不通过时,可以判断微服务调用链路中的至少一个微服务存在异常。
当请求方是用户的客户端时,客户端可根据预设返回值继续执行后续操作并生成处理结果。根据对应的预设校验规则对处理结果进行校验,当校验不通过时,可以判断客户端存在异常。
步骤六、当存在对应的预设返回值时,mock服务根据请求包括的第二参数和第二参数值生成json数据,并根据预设的JSON Schema对json数据进行校验,以便确定目标微服务的入参是否存在异常。所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件。
当存在异常时,可以确定调用链路中目标微服务的所有上层微服务中的至少一个存在异常,后续可继续校验上层微服务的入参,以便定位出现问题的微服务。
步骤七、当不存在对应的预设返回值时,mock服务将请求发送至目标微服务,以便目标微服务执行请求并生成相应的返回值;
目标微服务可将返回值返回给代理层,由代理层发送给请求方,以便请求方执行后续操作。
Mock服务可获取目标微服务的日志,日志中存储了目标微服务接收的请求及相应的返回值。Mock服务可识别请求中包括的第一参数和对应的参数值,生成第一参数值与该返回值的对应关系并存储,以便在后续接收到该对应的参数值时向请求方返回该返回值。
实施例二
对应上述实施例,如图2所示,本申请提供了一种基于微服务架构的测试方法,所述方法包括:
210、通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值;
220、对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
优选的,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSONSchema包括第二参数对应的参数值没有异常时需要满足的条件,所述对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常包括:
221、根据所述第二参数、所述第二参数对应的参数值生成json数据;
222、根据所述第二参数对应的JSON Schema及所述json数据,匹配每一所述第二参数值是否满足每一所述条件;
223、当存在不满足所述条件的第二参数值时,判断所述目标微服务的入参存在异常。
优选的,所述目标微服务处于微服务调用链路中,所述请求方包括微服务调用链路中调用所述目标微服务的上一级微服务,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述方法包括:
230、当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述上一级微服务,以便所述上一级微服务根据所述预设返回值进行处理并生成处理结果,所述微服务调用链路根据所述处理结果生成所述微服务调用链路的调用结果;
231、对所述调用结果进行校验,当校验不通过时,判断所述微服务调用链路存在异常。
优选的,所述方法包括:
232、当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;
233、根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
优选的,所述根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值包括:
244、当生成的所述返回值满足预设的校验规则时,根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
优选的,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述请求方包括用户的客户端,所述方法包括:
240、当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述客户端,以便所述客户端根据所述预设返回值处理并生成相应的处理结果
241、对所述处理结果进行校验,当校验不通过时,判断所述客户端存在异常。
实施例三
对应上述实施例,本申请提供了一种基于微服务架构的测试装置,如图3所示,所述装置包括:
接收模块310,用于通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值;
校验模块320,用于对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
优选的,所述目标微服务处于微服务调用链路中,所述请求方包括微服务调用链路中调用所述目标微服务的上一级微服务,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述装置还包括通信模块,用于当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述上一级微服务,以便所述上一级微服务根据所述预设返回值进行处理并生成处理结果,所述微服务调用链路根据所述处理结果生成所述微服务调用链路的调用结果;所述校验模块320还可用于对所述调用结果进行校验,当校验不通过时,判断所述微服务调用链路存在异常。
优选的,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述请求方包括用户的客户端,所述通信模块还可用于当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述客户端,以便所述客户端根据所述预设返回值处理并生成相应的处理结果;
所述校验模块320还可用于对所述处理结果进行校验,当校验不通过时,判断所述客户端存在异常。
优选的,所述通信模块还可用于当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;所述装置还包括处理模块,用于根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
优选的,所述处理模块还可用于当生成的所述返回值满足预设的校验规则时,根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
优选的,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSONSchema包括第二参数对应的参数值没有异常时需要满足的条件,所述校验模块320还可用于所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件。
实施例四
对应上述方法、装置,本申请实施例提供一种计算机系统,包括:
一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值;
对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
其中,图4示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)1522。另外,还可以存储网页浏览器1523,数据存储管理1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于微服务架构的测试方法,其特征在于,所述方法包括:
通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
2.根据权利要求1所述的方法,其特征在于,所述目标微服务处于微服务调用链路中,所述请求方包括微服务调用链路中调用所述目标微服务的上一级微服务,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述方法包括:
当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述上一级微服务,以便所述上一级微服务根据所述预设返回值进行处理并生成处理结果,所述微服务调用链路根据所述处理结果生成所述微服务调用链路的调用结果;
对所述调用结果进行校验,当校验不通过时,判断所述微服务调用链路存在异常。
3.根据权利要求1所述的方法,其特征在于,所述待处理请求还包括第一参数及所述第一参数对应的第一参数值,所述请求方包括用户的客户端,所述方法包括:
当所述第一参数值存在对应的预设返回值时,通过mock服务将所述对应的预设返回值返回给所述客户端,以便所述客户端根据所述预设返回值处理并生成相应的处理结果;
对所述处理结果进行校验,当校验不通过时,判断所述客户端存在异常。
4.根据权利要求2或3所述的方法,其特征在于,所述方法包括:
当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;
根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
5.根据权利要求4所述的方法,其特征在于,所述根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值包括:
当生成的所述返回值满足预设的校验规则时,根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
6.根据权利要求1-3任一所述的方法,其特征在于,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件,所述对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常包括:
根据所述第二参数、所述第二参数对应的参数值生成json数据;
根据所述第二参数对应的JSON Schema及所述json数据,匹配每一所述第二参数值是否满足每一所述条件;
当存在不满足所述条件的第二参数值时,判断所述目标微服务的入参存在异常。
7.一种基于微服务架构的测试装置,其特征在于,所述装置包括:
接收模块,用于通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
校验模块,用于对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
8.根据权利要求7所述的装置,其特征在于,所述通信模块还可用于当所述第一参数值不存在对应的预设返回值时,通过mock服务将所述待处理请求转发至所述目标微服务,以便所述目标微服务执行所述待处理请求并生成相应的返回值;
所述装置还包括存储模块,用于根据生成的所述返回值确定及存储所述第一参数值对应的预设返回值。
9.根据权利要求7或8所述的装置,其特征在于,所述预设入参规则包括每一第二参数对应的JSON Schema,所述JSON Schema包括第二参数对应的参数值没有异常时需要满足的条件,所述校验模块还可用于根据所述第二参数、所述第二参数对应的参数值生成json数据;根据所述第二参数对应的JSON Schema及所述json数据,匹配每一所述第二参数值是否满足每一所述条件;当存在不满足所述条件的第二参数值时,判断所述预设微服务架构的入参存在异常。
10.一种计算机系统,其特征在于,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
通过mock服务接收请求方发送至所述预设微服务架构的目标微服务的待处理请求,所述待处理请求包括第二参数、第二参数对应的第二参数值,所述mock服务用于模拟所述目标微服务;
对每一所述第二参数对应的第二参数值与预设入参规则进行匹配,当匹配不成功时,判断所述目标微服务的入参存在异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605388.XA CN112732499B (zh) | 2020-12-30 | 2020-12-30 | 一种基于微服务架构的测试方法、装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605388.XA CN112732499B (zh) | 2020-12-30 | 2020-12-30 | 一种基于微服务架构的测试方法、装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732499A true CN112732499A (zh) | 2021-04-30 |
CN112732499B CN112732499B (zh) | 2024-07-26 |
Family
ID=75610673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011605388.XA Active CN112732499B (zh) | 2020-12-30 | 2020-12-30 | 一种基于微服务架构的测试方法、装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732499B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810379A (zh) * | 2021-08-23 | 2021-12-17 | 深圳价值在线信息科技股份有限公司 | 一种异常处理方法及多服务系统 |
CN113821449A (zh) * | 2021-11-22 | 2021-12-21 | 浙江口碑网络技术有限公司 | 系统测试方法、装置及电子设备 |
CN114356774A (zh) * | 2022-01-07 | 2022-04-15 | 中国联合网络通信集团有限公司 | 目标服务的测试方法、装置、设备及存储介质 |
CN115514676A (zh) * | 2022-09-19 | 2022-12-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种基于服务链路的异常监控方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
CN111026672A (zh) * | 2019-12-16 | 2020-04-17 | 广州品唯软件有限公司 | 测试方法、终端设备以及mock服务器 |
CN111341445A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 微服务调用链的健康检测方法和健康检测系统 |
WO2020211378A1 (zh) * | 2019-04-15 | 2020-10-22 | 平安科技(深圳)有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
CN112115149A (zh) * | 2019-06-20 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 一种提供数据的方法和装置 |
-
2020
- 2020-12-30 CN CN202011605388.XA patent/CN112732499B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
WO2020211378A1 (zh) * | 2019-04-15 | 2020-10-22 | 平安科技(深圳)有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
CN112115149A (zh) * | 2019-06-20 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 一种提供数据的方法和装置 |
CN111026672A (zh) * | 2019-12-16 | 2020-04-17 | 广州品唯软件有限公司 | 测试方法、终端设备以及mock服务器 |
CN111341445A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 微服务调用链的健康检测方法和健康检测系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810379A (zh) * | 2021-08-23 | 2021-12-17 | 深圳价值在线信息科技股份有限公司 | 一种异常处理方法及多服务系统 |
CN113821449A (zh) * | 2021-11-22 | 2021-12-21 | 浙江口碑网络技术有限公司 | 系统测试方法、装置及电子设备 |
CN114356774A (zh) * | 2022-01-07 | 2022-04-15 | 中国联合网络通信集团有限公司 | 目标服务的测试方法、装置、设备及存储介质 |
CN115514676A (zh) * | 2022-09-19 | 2022-12-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种基于服务链路的异常监控方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112732499B (zh) | 2024-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112732499B (zh) | 一种基于微服务架构的测试方法、装置及计算机系统 | |
CN111078539B (zh) | 一种测试方法、装置、系统、计算机可读存储介质 | |
CN110532185B (zh) | 测试方法、装置、电子设备和计算机可读存储介质 | |
CN111045935B (zh) | 版本自动审核方法、装置、设备及存储介质 | |
CN111858296B (zh) | 接口测试方法、装置、设备和存储介质 | |
CN110990269A (zh) | 一种接口测试的方法、装置及系统 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN110221948A (zh) | 测试脚本生成方法、装置、计算机装置及存储介质 | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN110609786B (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN115604144A (zh) | 测试方法及装置、电子设备和存储介质 | |
CN112561690B (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN115426286B (zh) | 产品自动测试方法、装置、设备及计算机可读存储介质 | |
CN112905445B (zh) | 一种基于日志的测试方法、装置及计算机系统 | |
CN115203178A (zh) | 数据质检方法、装置、电子设备及存储介质 | |
CN110750452B (zh) | 自动化测试方法及装置 | |
CN112650679B (zh) | 一种测试校验方法、装置及计算机系统 | |
CN110209566B (zh) | 一种对软件的测试方法及装置 | |
CN112948269B (zh) | 信息处理方法、信息处理装置、电子设备及可读存储介质 | |
CN110895507B (zh) | 一种模拟测试的方法、装置、模拟服务器及存储介质 | |
CN116795611A (zh) | 测试方法、装置、电子设备和存储介质 | |
CN116828522A (zh) | 一种测试方法、装置、电子设备及计算机可读存储介质 | |
CN118820079A (zh) | 一种软件测试方法、系统、电子设备及存储介质 | |
CN112699017A (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 |