您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页基于分布式架构的测试方法、装置、系统及存储介质[发明专利]

基于分布式架构的测试方法、装置、系统及存储介质[发明专利]

来源:化拓教育网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112015632 A(43)申请公布日 2020.12.01

(21)申请号 201910454797.5(22)申请日 2019.05.29

(71)申请人 深圳兆日科技股份有限公司

地址 518000 广东省深圳市福田区车公庙

泰然大厦C座1605(72)发明人 赵昭 郭曼 赵佳 牛梦越 李恒 (74)专利代理机构 深圳市世纪恒程知识产权代

理事务所 44287

代理人 胡海国(51)Int.Cl.

G06F 11/36(2006.01)

权利要求书2页 说明书8页 附图4页

(54)发明名称

基于分布式架构的测试方法、装置、系统及存储介质

(57)摘要

本发明公开了一种基于分布式架构的测试方法、装置、系统及存储介质,本发明的第一微服务器首先对本地的微服务器通讯状态进行检测,在检测结果为正常状态时,获取本地预存的第一测试用例,并确定与第一测试用例相关联的第二测试用例,将与第二测试用例对应的微服务器作为第二微服务器;然后生成事件监听脚本,将事件监听脚本发送至中心服务器,以使得中心服务器将事件监听脚本注册到预设存储区域,并通过事件监听脚本监听并反馈第二微服务器的第二通讯状态;最后在中心服务器反馈的第二通讯状态为正常状态时,对第一测试用例进行测试。本发明通过微服务器之间的依赖性,能够针对上线的微服器上的测试用例立刻进行测试,进而提高测试效率。

CN 112015632 ACN 112015632 A

权 利 要 求 书

1/2页

1.一种基于分布式架构的测试方法,其特征在于,所述分布式架构包括中心服务器以及多个微服务器,所述方法包括:

第一微服务器对本地的微服务器通讯状态进行检测;在检测结果为正常状态时,获取本地预存的第一测试用例;确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器,其中,所述多个微服务器至少包括第一微服务器和第二微服务器;

生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;

在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。

2.如权利要求1所述的方法,其特征在于,所述第一微服务器对本地的微服务器通讯状态进行检测的步骤之前,所述方法还包括:

第一微服务器接收中心服务器发送的功能测试用例、以及与所述功能测试用例对应的功能标识,其中,所述功能测试用例由所述中心服务器按照不同的功能将原始测试用例集进行划分后生成;

将所述中心服务器发送的功能测试用例作为第一测试用例进行存储;将所述中心服务器发送的功能标识作为第一功能标识进行存储。3.如权利要求2所述的方法,其特征在于,所述分布式架构中不同的微服务器上存储有不同的功能测试用例,其中,各微服务器上的功能测试用例由所述中心服务器按照功能划分后发送,不同功能测试用例的功能标识之间存在预设依赖关系;

相应地,所述确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器的步骤,具体包括:

获取所述第一测试用例对应的第一功能标识;

查找与所述第一功能标识存在所述预设依赖关的第二功能标识;确定所述第二功能标识对应的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器。

4.如权利要求1所述的方法,其特征在于,所述第一微服务器对本地的微服务器通讯状态进行检测,具体包括:

第一微服务器响应所述中心服务器发送的测试指令,对本地的微服务器通讯状态进行检测。

5.如权利要求1-4任一项所述的方法,其特征在于,所述生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态的步骤之后,所述方法还包括:

在所述中心服务器反馈的第二通讯状态为非正常状态时,向所述第二微服务器发送服务请求指令,以使得所述第二微服务器开启接口服务功能,直至所述中心服务器反馈的第二通讯状态为正常状态。

6.如权利要求1-4任一项所述的方法,其特征在于,所述分布式架构还包括维护节点;

2

CN 112015632 A

权 利 要 求 书

2/2页

相应地,所述第一微服务器对本地的微服务器通讯状态进行检测的步骤之后,还包括:在检测结果为非正常状态时,将所述检测结果发送至所述维护节点;相应地,所述在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试的步骤之后,所述方法还包括:

获取所述第一测试用例的测试结果,在所述测试结果出现异常时,将所述测试结果发送至所述维护节点。

7.如权利要求6所述的方法,其特征在于,所述微服务器的正常状态表征所述微服务器的接口服务为正常状态,所述接口服务用于对异常请求进行容错处理。

8.一种基于分布式架构的测试装置,其特征在于,所述分布式架构包括中心服务器以及多个微服务器;

所述装置包括:检测模块,用于对本地的微服务器通讯状态进行检测;获取模块,用于在检测结果为正常状态时,获取本地预存的第一测试用例;确定模块,用于确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器,其中,所述多个微服务器至少包括所述第一微服务器和所述第二微服务器;

监听模块,用于生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;

测试模块,用于在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。

9.一种分布式架构系统,其特征在于,所述分布式架构包括多个终端,所述终端包括中心服务器以及多个微服务器;所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于分布式架构的测试程序,所述基于分布式架构的测试程序配置为实现如权利要求1至7中任一项所述基于分布式架构的测试方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有基于分布式架构的测试程序,所述基于分布式架构的测试程序被处理器执行时实现如权利要求1至7中任一项所述的基于分布式架构的测试方法的步骤。

3

CN 112015632 A

说 明 书

基于分布式架构的测试方法、装置、系统及存储介质

1/8页

技术领域

[0001]本发明涉及自动化测试领域,尤其涉及一种基于分布式架构的测试方法、装置、系统及存储介质。

背景技术

[0002]目前在进行自动化测试的过程中,现有的服务器的架构多数采用分布式架构,分布式架构又使用微服务的架构。这样的架构伸缩性以及扩展性好,但却造成了服务的测试复杂度。测试人员需要等待所有的服务器部署完毕后,根据服务器的部署情况来对测试用例裁剪才能进行测试,这样一定程度造成了测试的复杂性。

[0003]造成上述现象的原因除了分布式系统本身部署有较多的微服务器问题外,其主要原因还在于各个微服务器通常在部署过程中并不能知晓与自己相关联的其他服务器是否正常启动。鉴于单个微服务器的服务之间有依赖性,所有微服务器的接口服务需要全部部署完成后,单个微服务器上的测试用例才能运行,这样一定程度上造成了基于分布式架构下的自动化测试的延迟,降低了测试效率。

[0004]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0005]本发明的主要目的在于提供一种基于分布式架构的测试方法、装置、系统及存储介质,旨在解决目前分布式架构下的自动化测试过程比较冗余,测试效率不够高的问题。[0006]为了减少对分布式系统测试的复杂性,提高自动化测试效率,本发明提供一种基于分布式架构的测试方法,所述分布式架构包括中心服务器以及微服务器,所述方法包括:[0007]第一微服务器对本地的微服务器通讯状态进行检测;[0008]在检测结果为正常状态时,获取本地预存的第一测试用例;[0009]确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器,其中,所述多个微服务器至少包括第一微服务器和第二微服务器;

[0010]生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;

[0011]在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。

[0012]优选地,所述第一微服务器对本地的微服务器通讯状态进行检测的步骤之前,所述方法还包括:

[0013]第一微服务器接收中心服务器发送的功能测试用例、以及与所述功能测试用例对应的功能标识,其中,所述功能测试用例由所述中心服务器按照不同的功能将原始测试用

4

CN 112015632 A

说 明 书

2/8页

例集进行划分后生成;

[0014]将所述中心服务器发送的功能测试用例作为第一测试用例进行存储;[0015]将所述中心服务器发送的功能标识作为第一功能标识进行存储。[0016]优选地,所述分布式架构中不同的微服务器上存储有不同的功能测试用例,其中,各微服务器上的功能测试用例由所述中心服务器按照功能划分后发送,不同功能测试用例的功能标识之间存在预设依赖关系;[0017]相应地,所述确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器的步骤,具体包括:[0018]获取所述第一测试用例对应的第一功能标识;

[0019]查找与所述第一功能标识存在所述预设依赖关的第二功能标识;[0020]确定所述第二功能标识对应的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器。[0021]优选地,所述第一微服务器对本地的微服务器通讯状态进行检测,具体包括:[0022]第一微服务器响应所述中心服务器发送的测试指令,对本地的微服务器通讯状态进行检测。

[0023]可选地,所述生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态的步骤之后,所述方法还包括:[0024]在所述中心服务器反馈的第二通讯状态为非正常状态时,向所述第二微服务器发送服务请求指令,以使得所述第二微服务器开启接口服务功能,直至所述中心服务器反馈的第二通讯状态为正常状态。[0025]优选地,所述分布式架构还包括维护节点;[0026]相应地,所述第一微服务器对本地的微服务器通讯状态进行检测的步骤之后,还包括:

[0027]在检测结果为非正常状态时,将所述检测结果发送至所述维护节点;[0028]相应地,所述在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试的步骤之后,所述方法还包括:[0029]获取所述第一测试用例的测试结果,在所述测试结果出现异常时,将所述测试结果发送至所述维护节点。[0030]优选地,所述微服务器的正常状态表征所述微服务器的接口服务为正常状态,所述接口服务用于对异常请求进行容错处理。[0031]此外,为实现上述目的,本发明还提出一种基于分布式架构的测试装置,所述分布式架构包括中心服务器以及多个微服务器;[0032]所述装置包括:[0033]检测模块,用于对本地的微服务器通讯状态进行检测;[0034]获取模块,用于在检测结果为正常状态时,获取本地预存的第一测试用例;[0035]确定模块,用于确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器;[0036]监听模块,用于生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,

5

CN 112015632 A

说 明 书

3/8页

以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;[0037]测试模块,用于在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。[0038]此外,为实现上述目的,本发明还提出一种分布式架构系统,所述分布式架构包括多个终端,所述终端包括中心服务器以及多个微服务器;所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于分布式架构的测试程序,所述基于分布式架构的测试程序配置为实现如上所述基于分布式架构的测试方法的步骤。[0039]此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于分布式架构的测试程序,所述基于分布式架构的测试程序被处理器执行时实现如上所述的基于分布式架构的测试方法的步骤。

[0040]本发明提供的第一微服务器首先对本地的微服务器通讯状态进行检测;在检测结果为正常状态时,获取本地预存的第一测试用例,并确定与第一测试用例相关联的第二测试用例,将与第二测试用例对应的微服务器作为第二微服务器;然后生成事件监听脚本,将事件监听脚本发送至中心服务器,以使得中心服务器将事件监听脚本注册到预设存储区域,并通过事件监听脚本监听并反馈第二微服务器的第二通讯状态;最后在中心服务器反馈的第二通讯状态为正常状态时,对第一测试用例进行测试。本发明利用中心服务器进行测试用例的调度,通过微服务器之间的依赖性,能够针对上线的微服器上的测试用例立刻进行测试,进而提高测试效率。附图说明

[0041]图1是本发明实施例方案涉及的硬件运行环境的分布式架构系统的结构示意图;[0042]图2为本发明一种基于分布式架构的测试方法第一实施例的流程示意图;[0043]图3为本发明一种基于分布式架构的测试方法第二实施例的流程示意图;

[0044]图4a为本发明一种基于分布式架构的测试方法的一实施例中部署有用于测试流程审批应用的测试用例集的分布式架构的结构示意图;

[0045]图4b为本发明一实施例中对借款审批进行测试的流程示意图;

[0046]图4c为本发明一实施例中微服务器与中心服务器进行交互的流程示意图;[0047]图5为本发明一种基于分布式架构的测试装置的结构框图。[0048]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式

[0049]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0050]现有的分布式系统测试会出现如下问题:[0051]分布式系统的伸缩性和扩展性较好,往往生产部署时只部署用户需要的功能点,但是缺点在于:以文件服务为例,如果本次部署中未部署文件服务,测试工具中的用例还需要进行裁剪,增加了测试的复杂度。

[0052]分布式系统的服务器往往很多,通常部署过程中并不能知晓服务器是否正常启动,服务之间有依赖性。需要全部部署完成后进行测试才能确认。总之,测试系统不具有服

6

CN 112015632 A

说 明 书

4/8页

务发现功能。这样一定程度上造成测试延迟,降低了测试效率。

[0053]分布式系统的服务器的测试通常需要中心的客户端或者服务器,测试过程为串行操作,降低了测试效率。[0054]参照图1,图1为本发明实施例方案中的分布式架构的终端结构示意图。[0055]所述分布式架构包括多个终端,所述终端包括中心服务器以及多个微服务器;[0056]如图1所示,所述终端可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是于前述处理器1001的存储装置。

[0057]本领域技术人员可以理解,图1中示出的结构并不构成对所述中心服务器或者微服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

[0058]如图1所示,所述存储器1005中可以包括操作系统、用户接口模块以及基于分布式架构的测试程序。

[0059]在图1所示的终端中,网络接口1004主要用于与所述分布式架构中的其他各个终端进行连接,所述分布式架构系统下的各个终端通过处理器1001调用存储器1005中存储的基于分布式架构的测试程序,并执行所述针对基于分布式架构的测试方法的步骤。[0060]参照图2,图2是本发明一种针对基于分布式架构的测试方法的第一实施例流程示意图,所述测试方法包括以下步骤:

[0061]所述分布式架构包括中心服务器以及多个用于存放测试用例的微服务器,本实施例会预先将测试用例集按照功能拆分到所述分布式架构中的各个微服务器中。[0062]具体地,本实施例的测试用例集可以部署在所述中心服务器上,中心服务器可以按照不同的功能将原始测试用例集进行划分,得到多个功能测试用例;[0063]在具体实现中,各个微服务器可以预先接收中心服务器发送的功能测试用例、以及与所述功能测试用例对应的功能标识,其中,所述功能测试用例由所述中心服务器按照不同的功能将原始测试用例集进行划分后生成;[00]例如第一微服务器预先接收中心服务器发送的功能测试用例,将所述中心服务器发送的功能测试用例作为第一测试用例进行存储,同时将所述中心服务器发送的功能标识作为第一功能标识进行存储。[0065]相应地,所述基于分布式架构的测试方法包括以下步骤:[0066]步骤S10:第一微服务器对本地的微服务器通讯状态进行检测。[0067]可理解的是,所述第一微服务器为所述分布式架构的微服务器集群中的一个微服务器,本实施例的执行主体为所述第一微服务器。[0068]本实施例中,所述分布式架构中每个微服器的同时包括本机自检用例和服务流程自检用例。其中,每个微服器上的本机自检用例和所述服务流程自检用例也可以属于该微服器上的功能测试用例的一部分。

7

CN 112015632 A[0069]

说 明 书

5/8页

具体地,第一微服务器可响应所述中心服务器发送的测试指令,对本地的微服务

器通讯状态进行检测,在具体实现中,所述第一微服务器会调用所述本机自检用例对本地的微服务器通讯状态进行检测。[0070]步骤S20:在检测结果为正常状态时,获取本地预存的第一测试用例。[0071]需要说明的是,本实施例的自检用例表征若检测到本地的微服器的接口服务启动,则说明本地的微服务器通讯状态为正常状态,然后从本地获取预存的第一测试用例。[0072]步骤S30:确定与所述第一测试用例相关联的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器,其中,所述多个微服务器至少包括第一微服务器和第二微服务器。[0073]具体地,所述分布式架构中不同的微服务器上存储有不同的功能测试用例,各微服务器上的功能测试用例由所述中心服务器按照功能划分后发送,不同功能测试用例的功能标识之间存在预设依赖关系;[0074]那么,在具体实现中,首先获取所述第一测试用例对应的第一功能标识,然后查找与所述第一功能标识存在所述预设依赖关的第二功能标识;最后确定所述第二功能标识对应的第二测试用例,将与所述第二测试用例对应的微服务器作为第二微服务器。[0075]可理解的是,预设依赖关系可以表征一种测试用例执行顺序,例如对一应用软件进行测试时,必须先执行第二测试用例,在第二测试用例启动之后,才能够执行第一测试用例。

[0076]步骤S40:生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;[0077]需要说明的是,所述第二通讯状态用于表示所述第一微服务器所关心的第二微服务器的服务状态。本发明中的“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、或者顺序。[0078]可理解的是,第一微服务器的服务A启动,通过自检并且查找到与自身存在预设依赖关系的第二微服务器后,生成用于监听第二微服务器的事件监听脚本;第一微服务器会将其自身的信息(包括通讯状态服务A)以及所述事件监听脚本注册到所述中心服务器的预设存储区域;这样所述分布式架构中的其他微服务器可以发现服务A,同时第一微服务器也可以从所述中心服务器的预设存储区域中查询自己关心的第二微服务器的服务(即所述第二通讯状态)是否上线。[0079]步骤S50:在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。

[0080]可理解的是,如果第一微服务器关心的第二微服务器的服务上线(即所述第二通讯状态为正常状态),则所述第一微服务器不需要等待所述分布式架构中的其他微服务器完成部署,就可以直接执行服务A中流程自检用例来完成对所述第一测试用例的测试,其中,每个服务流程自检用例用于表示该微服务器可以正常提供服务。[0081]需要说明的是,所述分布式架构中的每个微服务器都是按照上述步骤S10到步骤S50的方法进行自动化测试的。

[0082]本实施例的第一微服务器首先对本地的微服务器通讯状态进行检测;在检测结果

8

CN 112015632 A

说 明 书

6/8页

为正常状态时,获取本地预存的第一测试用例,并确定与第一测试用例相关联的第二测试用例,将与第二测试用例对应的微服务器作为第二微服务器;然后生成事件监听脚本,将事件监听脚本发送至中心服务器,以使得中心服务器将事件监听脚本注册到预设存储区域,并通过事件监听脚本监听并反馈第二微服务器的第二通讯状态;最后在中心服务器反馈的第二通讯状态为正常状态时,对第一测试用例进行测试。本实施例利用中心服务器进行测试用例的调度,通过微服务器之间的依赖性,能够针对上线的微服器上的测试用例立刻进行测试,进而提高测试效率。[0083]参照图3,图3本发明一种基于分布式架构的测试方法的第二实施例流程示意图,基于上述图2提出本发明针对基于分布式架构的测试方法的第二实施例;[0084]本实施例中,所述分布式架构还包括维护节点,所述维护节点可以部署于所述中心服务器,当然所述维护节点也可以是于所述中心服务器之外的一个服务器。[0085]相应地,所述步骤10之后,还包括:[0086]步骤101:在检测结果为非正常状态时,将所述检测结果发送至所述维护节点。[0087]需要说明的是,所述微服务器的正常状态表征所述微服务器的接口服务为正常状态,所述接口服务用于对异常请求进行容错处理。[0088]可理解的是,如果所述第一微服务器自身没有通过服务自检用例,会将未通过的结果发送至所述维护节点,让位于所述维护节点的运维人员知晓。[00]相应地,所述步骤S50之后,所述方法还包括:[0090]步骤S501:获取所述第一测试用例的测试结果,在所述测试结果出现异常时,将所述测试结果发送至所述维护节点。[0091]可理解的是,如果所述第一微服务器未通过服务自检用例,会将未通过的结果发送至所述维护节点,让位于所述维护节点的运维人员知晓。[0092]进一步地,本实施例中,若第一微服务器的服务A关心的第二微服务器的服务的未上线,会一直等待所述中心服务器的反馈,直至所述中心服务器的反馈的第二通讯状态为正常状态时,才对所述第一测试用例进行测试。[0093]此外,如果所述中心服务器反馈的第二通讯状态为非正常状态,所述第一微服务器还可以向所述第二微服务器发送服务请求指令,以使得所述第二微服务器开启接口服务功能,直至所述中心服务器反馈的第二通讯状态为正常状态,以进一步提高测试的效率。[0094]进一步地,参考图4a,在一实施例中,以一个用于测试流程审批应用的测试用例集作为的原始测试用例集为例进行说明,图4a为一实施例中部署有用于测试流程审批应用的测试用例集的分布式架构的结构示意图;

[0095]本实施例中的基于分布式架构的自动化测试方案的实现过程大致分为以下几个流程:

[0096]流程一:将测试用例集按照功能拆分到分布式架构的各个微服务器,以运行一个申请审批服务为例:

[0097]微服务器A的服务A表示注册/登录服务,维护整个服务云中用户的登录和注册,该服务测试用例包含注册业务测试用例、登录业务测试用例。[0098]微服务器B的服务B表示申请服务,提供服务云中申请业务。如:借款申请,请假申请等等。该服务测试用例包含申请相关测试用例,如借款申请测试用例,请假申请测试用

9

CN 112015632 A

说 明 书

7/8页

例。

微服务器C的服务C表示审批服务,提供服务云中审批业务。如:对借款申请的审

批,对请假业务的审批。该服务测试用例包含审批相关测试用例,如借款审批测试用例,请假审批测试用例。[0100]流程二:各个微服务器的微服务的测试用例子集分为服务自检用例,服务流程自检用例;其中,本机自检用例表示微服务启动就可执行,执行通过表示服务启动正常;以审批服务为例:

[0101]如图4b所示,以服务C审批服务为例。测试用例中可以分为服务自检用例和服务流程自检用例。

[0102]服务自检用例是指测试该服务是否启动,能否正常提供接口服务,能否对异常请求进行容错。服务自检用例的执行不依赖与分布式系统中其他微服务,测试通过表示该服务启动正常,接口能够提供服务。

[0103]服务流程自检用例是指测试服务的正确性,通常与其他服务配合才能完成测试,如图4b中对借款审批的测试,需要先提交一个借款申请。这样就需要服务B完成启动后才能测试。

[0104]流程三:分布式系统中单个微服务启动正常并启动服务自检用例,通过服务自检用例后,将该服务注册到测试服务发现平台。分布式系统中其他服务可以发现该服务,同时该服务也可以查询自己关心的服务是否上线。[0105]如果未通过服务自检用例,邮件发送失败用例给运维人员。[0106]如图4c,以服务B申请服务为例。服务B完成服务自检后将自己注册到测试服务发现平台。服务C的审批服务由于关心了服务B是否在线,会收到服务B上线的通知。[0107]流程四:如果分布式系统中该微服务关心的其他服务上线,不需要等待所有服务器完成部署就可以执行该服务中流程自检用例。所有服务流程自检用例通过表示该微服务器可以提供正确服务。如果未通过流程自检用例,邮件发送失败用例给运维人员。[0108]以服务B申请服务为例。服务B完成服务自检后将自己注册到测试服务发现平台。服务C的审批服务由于关心了服务B是否在线,会收到服务B上线的通知。这样服务C中的服务自检用例3,提交一个借款申请后,对借款申请进行审批的测试用例由于服务B上线就可以执行。

[0109]流程五:如果分布式系统中微服务关心的服务未上线,等待测试服务发现平台通知。如果关心的服务上线则执行流程4中的方法。[0110]流程六:分布式系统中其他微服务器也按照步骤流程一到流程五进行。[0111]本实施例的测试过程中利用服务发现平台进行测试用例的调度,通过分布式系统中微服务间的依赖性,能够针对上线的系统立刻进行测试,提高测试效率。[0112]此外,参考图5,图5为本发明一种基于分布式架构的测试装置,所述分布式架构包括中心服务器以及多个微服务器;

[0113]所述测试装置部署于所述中心服务器以及每个微服务器中,具体地,所述测试装置包括:

[0114]检测模块10,用于对本地的微服务器通讯状态进行检测;[0115]获取模块20,用于在检测结果为正常状态时,获取本地预存的第一测试用例;

10

[0099]

CN 112015632 A[0116]

说 明 书

8/8页

确定模块30,用于确定与所述第一测试用例相关联的第二测试用例,将与所述第

二测试用例对应的微服务器作为第二微服务器;[0117]监听模块40,用于生成事件监听脚本,将所述事件监听脚本发送至所述中心服务器,以使得所述中心服务器将所述事件监听脚本注册到预设存储区域,并通过所述事件监听脚本监听并反馈所述第二微服务器的第二通讯状态;[0118]测试模块50,用于在所述中心服务器反馈的第二通讯状态为正常状态时,对所述第一测试用例进行测试。

[0119]本实施例的测试装置的具体实施方式请参照上述测试方法实施例,本实施例在此不予赘述。

[0120]此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质。所述存储介质上存储有基于分布式架构的测试程序,所述针对基于分布式架构的测试程序被处理器执行时实现如上所述针对基于分布式架构的测试程序方法的步骤。[0121]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。[0122]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、或顺序。本发明的描述中,除非另有说明,“多条”、“多个”的含义是两个(两条)或两个(两条)以上。[0123]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。[0124]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,终端,空调器,或者网络设备等)执行本发明各个实施例所述的方法。[0125]以上仅为本发明的优选实施例,并非因此本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

11

CN 112015632 A

说 明 书 附 图

1/4页

图1

图2

12

CN 112015632 A

说 明 书 附 图

2/4页

图3

13

CN 112015632 A

说 明 书 附 图

3/4页

图4a

图4b

14

CN 112015632 A

说 明 书 附 图

4/4页

图4c

图5

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务