CN114915573A - 测试方法、装置、设备、存储介质和程序产品 - Google Patents
测试方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114915573A CN114915573A CN202210668072.8A CN202210668072A CN114915573A CN 114915573 A CN114915573 A CN 114915573A CN 202210668072 A CN202210668072 A CN 202210668072A CN 114915573 A CN114915573 A CN 114915573A
- Authority
- CN
- China
- Prior art keywords
- service
- registration center
- information
- service information
- standby
- 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
- 238000010998 test method Methods 0.000 title claims description 12
- 238000004088 simulation Methods 0.000 claims abstract description 106
- 238000012360 testing method Methods 0.000 claims abstract description 98
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000011056 performance test Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 31
- 238000012986 modification Methods 0.000 abstract description 3
- 230000004048 modification Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011990 functional testing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种测试方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。采用本方法能够避免了由于对主注册中心的服务信息造成修改,不会对功能测试造成干扰,提高了服务的测试进度。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
当前,分布式架构都使用注册中心来对PaaS应用的服务进行管理,实现服务注册与服务获取的功能。在分布式架构开发后,通过会对该PaaS应用执行性能测试以及功能测试。
现有技术中,通常会将PaaS应用的所有服务的服务信息都注册在同一个注册中心以满足PaaS应用的性能测试以及业务功能测试的基本要求。为节省资源,会对PaaS应用中的服务创建Mock模拟服务以用于PaaS应用的性能测试中。在利用Mock模拟服务执行性能测试时,会将Mock模拟服务对应的原服务的服务信息从注册中心删除并将该Mock模拟服务的服务信息注册到注册中心。但是对PaaS应用进行功能测试时需要的服务信息均为原服务的服务信息。因此,无法并发进行PaaS应用的功能测试和性能测试,需要在不同的时间段内分别执行性能测试以及功能测试。
但是,上述测试方法,测试效率较低,测试进度缓慢。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试进度的测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种测试方法。该方法包括:
在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;
将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。
在其中一个实施例中,该方法还包括:
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;
将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在其中一个实施例中,该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在其中一个实施例中,该依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止,包括:
在备注册中心查询第二服务的服务信息;
若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在其中一个实施例中,该方法还包括:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;
对应地,将第二服务的服务信息反馈至第一服务,包括:
由备注册中心将第二服务的服务信息反馈至第一服务。
在其中一个实施例中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的目标服务信息,直至查询到为止之前,还包括:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;
基于调用链路,判断第一服务是否需要调用第二服务。
在其中一个实施例中,该方法还包括:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
第二方面,本申请还提供了一种测试装置。该装置包括:
查询模块,用于在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息;
反馈模块,用于将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务。
在其中一个实施例中,该装置还用于:
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;
将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在其中一个实施例中,该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在其中一个实施例中,该查询模块,具体用于:
在备注册中心查询第二服务的服务信息;
若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在其中一个实施例中,该装置还用于:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;
对应地,该反馈模块,具体用于:
由备注册中心将第二服务的服务信息反馈至第一服务。
在其中一个实施例中,该装置,还用于:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;
基于调用链路,判断第一服务是否需要调用第二服务。
在其中一个实施例中,该装置,还用于:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一所述的测试方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一所述的测试方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面任一所述的测试方法。
上述测试方法、装置、计算机设备、存储介质和计算机程序产品,在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。本申请实施例中,由于将Mock模拟服务注册到备注册中心,将非Mock模拟服务的服务信息注册到主注册中心,在对第一服务执行性能测试时,若需要调用第二服务时,会先从备注册中心查询对应的服务信息,在查询不到服务信息时才从主注册中心查询第二服务的服务信息,即实现了针对Mock模拟服务,可从备注册中心中获取对应的服务信息,针对非Mock模拟服务,从主注册中心中获取对应的服务信息的目的。而无需像现有技术中需先将Mock模拟服务对应的原服务的服务信息从注册中心删除再将该Mock模拟服务的服务信息注册到注册中心,避免了由于对主注册中心的服务信息造成修改,不会对功能测试造成干扰,提高了服务的测试进度。
附图说明
图1为一个实施例中测试方法的流程示意图;
图2为另一个实施例中测试方法的流程示意图;
图3为一个实施例中步骤101的流程示意图;
图4为又一个实施例中测试方法的流程示意图;
图5为一个实施例中测试系统架构示意图;
图6为又一个实施例中测试方法的流程示意图;
图7为一个实施例中A服务的测试流程示例图;
图8为一个实施例中测试装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
当前,大多数分布式架构都使用注册中心来对PaaS应用的服务进行管理,来实现服务注册与服务获取的功能。在分布式架构开发后,通过会对该PaaS应用执行性能测试以及功能测试。
现有技术中,通常会将PaaS应用的所有服务的服务信息都注册在同一个注册中心以满足PaaS应用的性能测试以及业务功能测试的基本要求。为节省资源,在对PaaS应用执行性能测试时,会针对一些不容易构造或者不容易获取的比较复杂的服务,采用Mock技术,构建一个Mock模拟服务以替代原服务执行性能测试。
但是,在利用Mock模拟服务执行性能测试时,通常会需要先将Mock模拟服务对应的原服务的服务信息从注册中心删除并将该Mock模拟服务的服务信息注册到注册中心。这样会存在多个服务需要进行服务信息的调整导致注册中心点的服务信息发生变化,进而导致业务功能测试无法并发进行,因此,需要在不同的时间段内分别执行性能测试以及功能测试。功能测试和性能测试无法并发进行也导致了测试窗口浪费和测试进度滞后,测试效率极低。
而且,由于在对服务执行功能测试时,通常需要利用原服务的服务信息。在执行完成性能测试后,需要重新调整注册中心的服务信息。当牵涉到的服务数量与规模过于庞大时,对于测试人员来说也要花费大量的精力来沟通协调重新调整注册中心的环境参数,进一步降低了测试进度和测试效率。
有鉴于此,本申请实施例提供了一种测试方法,能够提高测试进度和测试测试效率。
本申请实施例提供了一种测试方法。该测试方法其执行主体可以是测试装置,该测试装置可以通过软件、硬件或者软硬件结合的方式实现成为终端或服务器的部分或者全部。
下述方法实施例中,均以执行主体是终端为例来进行说明。其中,终端可以是个人计算机、笔记本电脑、媒体播放器、智能电视、智能手机、平板电脑和便携式可穿戴设备等,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现,其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参考图1,其示出了本申请实施例提供的一种测试方法的流程图。如图1所示,该测试方法可以包括步骤101和步骤102:
步骤101,在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止。
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。
其中,该服务信息包括服务名称、IP地址以及端口。该性能测试可包括压力测试以及CPU使用情况测试。
其中,Mock模拟服务是指针对某些正常服务构建的模拟服务,并非真实服务,在基于Mock模拟服务进行测试时,只给出测试完成的返回报文,未经过真实服务的所有处理逻辑(包括数据库写入等);非Mock模拟服务包括全量的正常服务,即包括Mock模拟服务对应的正常服务以及未构建模拟服务的正常服务。
可选的,终端在预设存储区域构建备注册中心。然后终端将Mock模拟服务和Mock模拟服务的服务信息保存到一个映射关系表中,并将该映射关系表存储到备注册中心中。
可选的,从备注册中心查询第二服务的服务信息,若查询到服务信息,则说明该第二服务为Mock模拟服务,将查询到的服务信息返回至第一服务,以供第一服务根据服务信息调用第二服务。
若查询不到服务信息,则说明该第二服务为非Mock模拟服务,则需要在主注册中心中查询该第二服务的服务信息以获取该第二服务的服务信息。即向主注册中心发送一个查询请求以查询该第二服务的服务信息;主注册中心将从查询到的服务信息返回至第一服务,以供第一服务根据服务信息调用第二服务。可选的,基于获取服务方法,从主注册中心查询该第二服务的服务信息。
在具体实现过程中,该主注册中心为现有技术中的注册中心,无需对该注册中心作任何调整,此时,该主注册中心中注册有全量的正常服务的服务信息。创建备注册中心,并将Mock模拟服务的服务信息注册至该备注册中心中。将备注册中心和主注册中心关联,基于预设的策略实现两个注册中心之间的通信,该预设策略为:在备注册中心检索某个服务,若检索不到,则发送请求至主注册中心以检索该服务。可选的,通过对原有的注册中心源码进行修改以实现上述预设策略,具体的,对原有的注册中心源码包括的getter方法增加新逻辑,即当在备注册中心无法找到服务时,返回主注册中心服务的查找结果,若查找结果不为null,则采用setter方法将从备注册中心查找的结果注册到备注册中心中;对原有的注册中心源码包括的判断服务是否存在的exists方法增加同样的逻辑,即当在备注册中心无法找到服务时,返回主注册中心是否存在该服务的结果。
可选的,基于第二服务的调用请求,调用该第二服务。
步骤102,将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务。
可选的,第一服务根据该第二服务的服务信息调用该第二服务,返回该性能测试的报文结果。
该实施例中,在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。由于将Mock模拟服务注册到备注册中心,将非Mock模拟服务的服务信息注册到主注册中心,在对第一服务执行性能测试时,若需要调用第二服务时,会先从备注册中心查询对应的服务信息,在查询不到服务信息时才从主注册中心获取服务信息,即针对Mock模拟服务,可从备注册中心中获取对应的服务信息,针对非Mock模拟服务,从主注册中心中获取对应的服务信息。而无需像现有技术中需先将Mock模拟服务对应的原服务的服务信息从注册中心删除再将该Mock模拟服务的服务信息注册到注册中心,避免了由于对主注册中心的服务信息造成修改,不会对功能测试造成干扰,提高了服务的测试进度。
进一步的,在本申请实施例中,如图2所示,该测试方法还包括步骤201和步骤202以实现对第一服务的功能测试:
步骤201,在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息。
可选的,该第三服务和第二服务可以相同,也可以不同。
可选的,该功能测试对应的执行时间窗口和性能测试对应的时间窗口可以相同,也可以不同。该时间窗口可由人工确定,或根据接收的测试请求的时间确定。
步骤202,将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
可选的,主注册中心查询到第三服务的服务信息后,会将第三服务的服务信息返给第一服务。
该实施例中,在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息,将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务,利用主注册中心实现了功能测试中服务信息的获取,实现了性能测试和功能测试之间互不干扰的目的。
需要说明的是,在对第一服务执行性能测试的同时,也可以执行其他服务的功能测试。其实现方式与对第一服务执行功能测试的方式类型,在需要获取被调用服务的服务信息时,均从主注册中心中查询该被调用服务以得到被调用服务的服务信息。
在本申请实施例中,基于图1所示的实施例,该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
可选的,测试环境架构中包括有一个目标服务器,该目标服务器上保存有所有Mock模拟服务的程序。针对各Mock模拟服务,可通过启动Mock模拟服务将Mock模拟服务的程序注册到备注册中心以实现将该Mock模拟服务的服务信息注册到备注册中心中。
该实施例中,由于备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的,避免由于人工添加服务信息至备注册中心导致的错误,降低人工参与度,提高了备注册中心中信息的准确性。
在本申请实施例中,如图3所示,基于图1所示的实施例,步骤101中依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止的实现过程,包括步骤301和步骤302:
步骤301,在备注册中心查询第二服务的服务信息。
可选的,备注册中心查询备注册中心中是否存储有第二服务的服务信息,若有,则提取该第二服务的服务信息,并提取到的第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务。
步骤302,若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
可选的,若在备注册中心查询不到第二服务的服务信息,备注册中心向主注册中心发送一个获取服务指令,主注册中心响应于该获取服务指令以在主注册中心查询该第二服务的服务信息,并将查询到的第二服务的服务信息返给第一服务,以供第一服务根据第二服务的服务信息调用第二服务。
该实施例中,若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息,通过由备注册中心向主注册中心以获取服务指令,基于通信方式实现了备注册中心和主注册中心的关联,实现方式简单方便。
在本申请实施例中,基于以上任一实施例,该测试方法以下步骤:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心。
可选的,主注册中心查询到第二服务的服务信息后,通过主注册中心和备注册中心之间的通信通道,将该第二服务的服务信息以数据包的形式,发送给备注册中心,由备注册中心通过setter方法将第二服务的服务信息注册于备注册中心。
对应地,该将第二服务的服务信息反馈至第一服务,包括:
由备注册中心将第二服务的服务信息反馈至第一服务。
该实施例中,若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心,通过将第二服务的服务信息注册于备注册中心,实现了在后续需要调用第二服务时可直接从备注册中心获取服务信息的目的,简化了测试流程。
在本申请实施例中,如图3所示,基于上述任一实施例,步骤101中若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的目标服务信息,直至查询到为止之前,还包括步骤401和步骤402:
步骤401,获取第一服务对应的调用链路。
其中,第二服务为调用链路中的服务。
可选的,该调用链路包括在执行第一服务的测试过程中会调用的被调用服务以及各被调用服务的调用顺序。该调用链路的数据存储方式可以为顺序存储方式,也可以为链式存储方式。
步骤402,基于调用链路,判断第一服务是否需要调用第二服务。
可选的,按照各被调用服务的调用顺序,依次调用各被调用服务。
可选的,若执行完成第二服务的上一服务的调用过程后,则说明第一服务需要调用第二服务。该实施例中,通过调用链路判断第一服务是否需要调用第二服务,以在需要调用第二服务时执行获取第二服务的服务信息的过程,按照调用链路调用各服务,避免了第一服务在调用过程中发生冲突,提高了测试效率。
在本申请实施例中,基于图1所示的实施例,该测试方法还包括以下步骤:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
可选的,通常针对PaaS应用中各服务对应的注册中心均默认设置为主注册中心。在接收到第一服务的性能测试请求时,会先将第一服务的注册中心从主注册中心切换为备注册中心。
该实施例中,通过将第一服务的注册中心配置为备注册中心,便于后续需要调用其他服务时直接从备注册中心获取服务信息,提高了测试过程的执行效率。
在本申请实施例中,提供了一种测试方法,该方法可用于如图5所示的测试系统中。如图5所示,该测试系统包括主注册中心、备注册中心、目标服务器和真实应用服务器。其中,目标服务器用于保存所有Mock模拟服务的程序;真实应用服务器用于保存全量的正常服务(即非Mock模拟服务)的程序;主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。目标服务器可通过注册服务将各Mock模拟服务的服务信息注册至备注册中心。真实应用服务器可通过注册服务将各正常服务(即非Mock模拟服务)的服务信息注册至主注册中心。基于图5所示的测试系统,如图6所示,该测试方法,包括以下步骤:
步骤501,获取第一服务的测试请求。
步骤502,判断该测试请求的测试类型。
步骤503,若测试请求为性能测试,则将第一服务的注册中心配置为备注册中心,并继续执行步骤504-步骤508。
步骤504,获取第一服务对应的调用链路,基于调用链路,判断第一服务是否需要调用第二服务。
其中,第二服务为调用链路中的服务。
步骤505,若第一服务需要调用第二服务,则在备注册中心查询第二服务的服务信息。
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息;该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
步骤506,若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
步骤507,若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心。
步骤508,由备注册中心将第二服务的服务信息反馈至第一服务以供第一服务根据第二服务的服务信息调用第二服务。
步骤509,若测试请求为功能测试,则基于调用链路,判断第一服务是否需要调用第三服务,并继续执行步骤510-步骤511。
其中,第三服务为调用链路中的服务。
步骤510,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息。
步骤511,将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在执行上述步骤501至步骤503的同时,也可以并发执行以下过程:
获取第四服务的功能测试请求开始执行对第四服务进行功能测试的过程。在对第四服务进行功能测试的过程中,基于调用链路,判断第四服务是否需要调用其他服务;若第四服务需要调用其他服务,则从主注册中心中查询该其他服务的服务信息;将其他服务的服务信息反馈至第四服务,以供第四服务根据第四服务的服务信息调用其他服务。其中,该第四服务与第一服务不同,该其他服务可以为第一服务、第二服务以及第三服务中的一种,也可以不是第一服务、第二服务以及第三服务的一种。
该实施例中,由于将Mock模拟服务注册到备注册中心,将非Mock模拟服务的服务信息注册到主注册中心,在对第一服务执行性能测试时,若需要调用第二服务时,会先从备注册中心查询对应的服务信息,即针对Mock模拟服务,可从备注册中心中获取对应的服务信息;针对非Mock模拟服务,从主注册中心中获取对应的服务信息,而无需像现有技术中需先将Mock模拟服务对应的原服务的服务信息从注册中心删除再将该Mock模拟服务的服务信息注册到注册中心,避免了由于对主注册中心的服务信息造成修改,不会对功能测试造成干扰,提高了服务的测试进度。同时在执行功能测试时,由于是从主注册中心中获取其对应的被调用服务的服务信息,实现了性能测试和功能测试之间互不干扰的目的。
下面以第一服务为A服务为例,说明该测试方法的实现过程,具体如下:
图7为本申请实施例提供的A服务的测试流程示例图。假设A服务的调用链路为A-B-C。其中针对B服务,创建有对应的Mock模拟服务。因此,若需要对执行A服务的性能测试时,需要调用B服务对应的Mock模拟服务,再调用C服务(其中C为非Mock模拟服务);若需要对执行A服务的功能测试时,需要调用B服务对应的正常服务,再调用C服务。
在执行A服务的性能测试之前,将A服务的注册中心从主注册中心切换到备注册中心,将B服务对应的mock模拟服务程序注册到备注册中心以实现将B服务对应的Mock模拟服务的服务信息注册到备注册中心。
然后,从A服务发起性能测试时,会先去备注册中心获取B服务的服务信息,备注册中心会把B服务的服务信息提供给A服务,A服务根据服务信息完成调用B服务;然后,A服务会去备注册中心获取C服务,但是由于备注册中心中没有注册C服务,备注册中心会发送获取服务指令到主注册中心来检索C服务,主注册中心会将检索到的C服务的服务信息返回给备注册中心。备注册中心会将C服务的服务信息注册至备注册中心,然后再将C服务的服务信息返回给A服务,A服务根据C服务的服务信息完成C服务的调用。
若此时D服务需要调用B服务以执行功能测试,则D服务会直接去主注册中心获取B服务的服务信息(即正常B服务的服务信息),主注册中心将获取到的B服务的服务信息返给D服务以供D服务根据B服务的服务信息调用B服务进而完成功能测试。
可以看出,采用上述方式,在执行性能测试时不会对主注册中心的服务信息造成修改,因此可以达到性能测试与功能测试互不影响的目的。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试方法的测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试装置实施例中的具体限定可以参见上文中对于测试方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种测试装置,包括:查询模块100和反馈模块200,其中:
查询模块100,用于在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息;
反馈模块200,用于将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务。
在一个实施例中,该装置还用于:
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;
将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在一个实施例中,该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在一个实施例中,该查询模块,具体用于:
在备注册中心查询第二服务的服务信息;
若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在一个实施例中,该装置还用于:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;
对应地,该反馈模块200,具体用于:
由备注册中心将第二服务的服务信息反馈至第一服务。
在一个实施例中,该装置,还用于:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;
基于调用链路,判断第一服务是否需要调用第二服务。
在一个实施例中,该装置还用于:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
上述测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;
将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在备注册中心查询第二服务的服务信息;若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;由备注册中心将第二服务的服务信息反馈至第一服务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;基于调用链路,判断第一服务是否需要调用第二服务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;
将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
在备注册中心查询第二服务的服务信息;若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;由备注册中心将第二服务的服务信息反馈至第一服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;基于调用链路,判断第一服务是否需要调用第二服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在对第一服务进行性能测试的过程中,若第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询第二服务的服务信息,直至查询到为止;
将第二服务的服务信息反馈至第一服务,以供第一服务根据第二服务的服务信息调用第二服务;
其中,主注册中心注册有非Mock模拟服务的服务信息,备注册中心注册有Mock模拟服务的服务信息。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤::
在对第一服务进行功能测试的过程中,若第一服务需要调用第三服务,则从主注册中心中查询第三服务的服务信息;将第三服务的服务信息反馈至第一服务,以供第一服务根据第三服务的服务信息调用第三服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤::
该备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
在备注册中心查询第二服务的服务信息;若在备注册中心查询不到第二服务的服务信息,则由备注册中心发送获取服务指令至主注册中心以使主注册中心基于获取服务指令查询第二服务的服务信息。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
若在主注册中心查询到第二服务的服务信息,则将第二服务的服务信息注册于备注册中心;由备注册中心将第二服务的服务信息反馈至第一服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
获取第一服务对应的调用链路,其中,第二服务为调用链路中的服务;基于调用链路,判断第一服务是否需要调用第二服务。
在一个实施例中,该计算机程序被处理器执行时还实现以下步骤:
在对第一服务进行性能测试之前,将第一服务的注册中心配置为备注册中心。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种测试方法,其特征在于,所述方法包括:
在对第一服务进行性能测试的过程中,若所述第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询所述第二服务的服务信息,直至查询到为止;
将所述第二服务的服务信息反馈至所述第一服务,以供所述第一服务根据所述第二服务的服务信息调用所述第二服务;
其中,所述主注册中心注册有非Mock模拟服务的服务信息,所述备注册中心注册有Mock模拟服务的服务信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述第一服务进行功能测试的过程中,若所述第一服务需要调用第三服务,则从所述主注册中心中查询所述第三服务的服务信息;
将所述第三服务的服务信息反馈至所述第一服务,以供所述第一服务根据所述第三服务的服务信息调用所述第三服务。
3.根据权利要求1所述的方法,其特征在于,所述备注册中心中Mock模拟服务的服务信息是部署有Mock模拟服务的目标服务器在Mock模拟服务启动的过程中注册的。
4.根据权利要求1所述的方法,其特征在于,所述依次从备注册中心和主注册中心中查询所述第二服务的服务信息,直至查询到为止,包括:
在所述备注册中心查询所述第二服务的服务信息;
若在所述备注册中心查询不到所述第二服务的服务信息,则由所述备注册中心发送获取服务指令至所述主注册中心以使所述主注册中心基于所述获取服务指令查询所述第二服务的服务信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在所述主注册中心查询到所述第二服务的服务信息,则将所述第二服务的服务信息注册于所述备注册中心;
对应地,所述将所述第二服务的服务信息反馈至所述第一服务,包括:
由所述备注册中心将所述第二服务的服务信息反馈至所述第一服务。
6.根据权利要求1至4任一所述的方法,其特征在于,所述若所述第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询所述第二服务的目标服务信息,直至查询到为止之前,还包括:
获取所述第一服务对应的调用链路,其中,所述第二服务为所述调用链路中的服务;
基于所述调用链路,判断所述第一服务是否需要调用所述第二服务。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述第一服务进行性能测试之前,将所述第一服务的注册中心配置为所述备注册中心。
8.一种测试装置,其特征在于,所述装置包括:
查询模块,用于在对第一服务进行性能测试的过程中,若所述第一服务需要调用第二服务,则依次从备注册中心和主注册中心中查询所述第二服务的服务信息,直至查询到为止;其中,所述主注册中心注册有非Mock模拟服务的服务信息,所述备注册中心注册有Mock模拟服务的服务信息;
反馈模块,用于将所述第二服务的服务信息反馈至所述第一服务,以供所述第一服务根据所述第二服务的服务信息调用所述第二服务。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210668072.8A CN114915573A (zh) | 2022-06-14 | 2022-06-14 | 测试方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210668072.8A CN114915573A (zh) | 2022-06-14 | 2022-06-14 | 测试方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114915573A true CN114915573A (zh) | 2022-08-16 |
Family
ID=82770546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210668072.8A Pending CN114915573A (zh) | 2022-06-14 | 2022-06-14 | 测试方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114915573A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN110083533A (zh) * | 2019-04-16 | 2019-08-02 | 贝壳技术有限公司 | 基于Mock服务的数据处理方法及装置 |
CN112765029A (zh) * | 2021-01-22 | 2021-05-07 | 中信银行股份有限公司 | 测试方法、装置、电子设备及计算机存储介质 |
-
2022
- 2022-06-14 CN CN202210668072.8A patent/CN114915573A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN110083533A (zh) * | 2019-04-16 | 2019-08-02 | 贝壳技术有限公司 | 基于Mock服务的数据处理方法及装置 |
CN112765029A (zh) * | 2021-01-22 | 2021-05-07 | 中信银行股份有限公司 | 测试方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023231665A1 (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
CN114401187B (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN116991800A (zh) | 文件获取系统、方法、装置、计算机设备和存储介质 | |
CN114915573A (zh) | 测试方法、装置、设备、存储介质和程序产品 | |
CN114629951A (zh) | 地址服务切换方法、装置、计算机设备和存储介质 | |
CN114928620A (zh) | 用户信息同步方法、装置、设备、存储介质和程序产品 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN114238399A (zh) | 缓存刷新系统、方法、装置、计算机设备和存储介质 | |
CN114528045B (zh) | 插件操作方法、装置、计算机设备和存储介质 | |
CN114238292B (zh) | 数据清洗方法、装置、计算机设备、计算机可读存储介质 | |
CN116225426A (zh) | 可复用模块的调用方法、装置、计算机设备和存储介质 | |
CN114416214A (zh) | 跨网络系统集成方法、装置、计算机设备、存储介质 | |
CN116226187A (zh) | 数据缓存方法、装置、计算机设备和存储介质 | |
CN117112206A (zh) | 交易资源隔离方法、装置、计算机设备和存储介质 | |
CN116894044A (zh) | 数据管理方法、装置、计算机设备和存储介质 | |
CN117009104A (zh) | 异步请求处理方法、装置、计算机设备和存储介质 | |
CN114385630A (zh) | 血缘关系梳理方法、装置、设备、存储介质和程序产品 | |
CN116226145A (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
CN117439769A (zh) | 页面访问方法、装置、计算机设备和存储介质 | |
CN115987557A (zh) | 一种集群间调用方法、装置、计算机设备和存储介质 | |
CN117389859A (zh) | 影响范围的确定方法、装置、计算机设备、存储介质 | |
CN116910115A (zh) | 客群查询方法、装置、计算机设备和存储介质 | |
CN117056220A (zh) | 批量作业的测试方法、装置、计算机设备和存储介质 | |
CN114138196A (zh) | 电力系统数据存储方法、装置、计算机设备和存储介质 | |
CN116541145A (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 |