基于微服务体系的测试方法、装置、存储介质及电子设备与流程
未命名
09-22
阅读:48
评论:0
1.本发明涉及大数据技术领域,具体而言,涉及一种基于微服务体系的测试方法、装置、存储介质及电子设备。
背景技术:
2.微服务体系的覆盖性测试在技术改造或者上下游同步改造验证(例如:技术框架升级、公共库改造、某安全构件更新、某应用的被调方服务进行重构)的时候,目前最常见的做法,一是涉及到的上下游均进行联测,二是每个涉及到的微服务均跑一遍测试脚本。
3.但是,如果采用第一种做法,每一次都需要去梳理上下游链条并通知到对应应用进行联测,在测试工作中,极易产生重复和冗余;如果是第二种做法,针对某些改造的特定场景(例如:技术框架升级、公共库改造、某安全构件更新、某应用的被调方服务进行重构),还需要重新编写所有微服务的测试脚本,工作量大。
4.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
5.本发明实施例提供了一种基于微服务体系的测试方法、装置、存储介质及电子设备,以至少解决相关技术中在对微服务体系进行测试时,测试效率低、工作量大的技术问题。
6.根据本发明实施例的一个方面,提供了一种基于微服务体系的测试方法,包括:响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,所述微服务节点提供n个服务,每个服务包括s个功能分支,所述原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n;基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图;基于所述目标调用关系图,构建目标连线图,其中,所述目标连线图中包括:通过拷贝所述目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、所述第一份功能分支点与所述第二份功能分支点之间的连接线;在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试。
7.进一步地,所述第一份功能分支点与所述第二份功能分支点之间的连接线包括:第一类连接线、第二类连接线,其中,所述第一类连接线用于表示所述第一调用关系,所述第二类连接线用于表示所述第二调用关系,在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试,包括:基于所述目标连线图中的所述第一类连接线和所述第二类连接线,确定所述调用链,其中,所述调用链包括t个目标链表,t为正整数;基于每个所述目标链表,对所述微服务体系中的m个所述功能分支进行测试。
8.进一步地,基于所述目标连线图中的所述第一类连接线和所述第二类连接线,确
定所述调用链,包括:步骤一,在所述目标连线图中,基于预设顺序,从第一份功能分支点中的功能分支点出发,寻找所述第一类连接线和所述第二类连接线;步骤二,在查找到所述第一类连接线的情况下,以查找到的所述第一类连接线为基础,基于所述第二份功能分支点中的每个所述功能分支点的增广路径和所述目标连线图,构建所述目标链表,其中,所述增广路径表示在所述第一份功能分支点与所述第二份功能分支点中,互为镜像的两个功能分支点存在联通关系;重复执行步骤一至步骤二,直至查找完所述目标连线图中的所有所述第一类连接线,得到所述调用链。
9.进一步地,以查找到的所述第一类连接线为基础,基于所述第二份功能分支点中的每个所述功能分支点的增广路径和所述目标连线图,构建所述目标链表的步骤,包括:以查找到的所述第一类连接线为基础,构建初始链表,其中,所述初始链表由所述第一份功能分支点中的功能分支点指向所述第二份功能分支点中的功能分支点;步骤1,基于所述初始链表当前指向的功能分支点的增广路径、所述目标连线图,判断目标点与所述第二份功能分支点是否还存在连接线,其中,所述目标点包括:在所述第一份功能分支点中,与所述初始链表当前指向的功能分支点互为镜像的功能分支点;步骤2,在所述目标点与所述第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新所述初始链表,并在判断结果指示更新所述初始链表且已更新所述初始链表后,基于新的所述初始链表,重复执行步骤1至2,直至不再需要更新所述初始链表,将最后得到的所述初始链表作为t个所述目标链表之一。
10.进一步地,在所述目标点与所述第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新所述初始链表的步骤,包括:在所述目标点与所述第二份功能分支点还存在第一类连接线的情况下,基于所述目标点与所述第二份功能分支点之间的第一类连接线,更新所述初始链表;在所述目标点与所述第二份功能分支点还存在第二类连接线的情况下,判断所述目标点关联的第二类连接线是否与所述初始链表表头表示的功能分支点相关;在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点相关的情况下,基于所述目标点关联的第二类连接线,更新所述初始链表;在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点不相关的情况下,确定不更新所述初始链表。
11.进一步地,基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系的步骤,包括:在m个所述功能分支中,存在所述第一调用关系的数量大于预设阈值的目标功能分支的情况下,基于所述目标功能分支所属的微服务节点的层级、被调用方的微服务节点的层级,构建所述第二调用关系,其中,所述被调用方包括:被所述目标功能分支所调用的功能分支。
12.进一步地,基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图的步骤,包括:在所述目标功能分支关联的第一调用关系中,基于被调用方的微服务节点的层级数非最小的第一调用关系,建立所述第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,其中,所述微服务体系中每个层级的微服务节点中的功能分支不能调用低于自身层级的微服务节点中的功能分支;在对所述第二调用关系进行标记后的原始调用关系图中,将所述被调用方的微服务节点的层级数
非最小的第一调用关系进行作废处理,得到所述目标调用关系图。
13.根据本发明实施例的另一方面,还提供了一种基于微服务体系的测试装置,包括:第一构建单元,用于响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,所述微服务节点提供n个服务,每个服务包括s个功能分支,所述原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n;第二构建单元,用于基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图;第三构建单元,用于基于所述目标调用关系图,构建目标连线图,其中,所述目标连线图中包括:通过拷贝所述目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、所述第一份功能分支点与所述第二份功能分支点之间的连接线;处理单元,用于在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试。
14.进一步地,所述第一份功能分支点与所述第二份功能分支点之间的连接线包括:第一类连接线、第二类连接线,其中,所述第一类连接线用于表示所述第一调用关系,所述第二类连接线用于表示所述第二调用关系,处理单元包括:确定子单元,用于基于所述目标连线图中的所述第一类连接线和所述第二类连接线,确定所述调用链,其中,所述调用链包括t个目标链表;测试子单元,用于基于每个所述目标链表,对所述微服务体系中的m个所述功能分支进行测试。
15.进一步地,确定子单元包括:查找模块,用于步骤一,在所述目标连线图中,基于预设顺序,从第一份功能分支点中的功能分支点出发,寻找所述第一类连接线和所述第二类连接线;第一处理模块,用于步骤二,在查找到所述第一类连接线的情况下,以查找到的所述第一类连接线为基础,基于所述第二份功能分支点中的每个所述功能分支点的增广路径和所述目标连线图,构建所述目标链表,其中,所述增广路径表示在所述第一份功能分支点与所述第二份功能分支点中,互为镜像的两个功能分支点存在联通关系;第二处理模块,用于重复执行步骤一至步骤二,直至查找完所述目标连线图中的所有所述第一类连接线,得到所述调用链。
16.进一步地,第一处理模块包括:构建子模块,用于以查找到的所述第一类连接线为基础,构建初始链表,其中,所述初始链表由所述第一份功能分支点中的功能分支点指向所述第二份功能分支点中的功能分支点;判断子模块,用于步骤1,基于所述初始链表当前指向的功能分支点的增广路径、所述目标连线图,判断目标点与所述第二份功能分支点是否还存在连接线,其中,所述目标点包括:在所述第一份功能分支点中,与所述初始链表当前指向的功能分支点互为镜像的功能分支点;
17.处理子模块,用于步骤2,在所述目标点与所述第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新所述初始链表,并在判断结果指示更新所述初始链表且已更新所述初始链表后,基于新的所述初始链表,重复执行步骤1至2,直至不再需要更新所述初始链表,将最后得到的所述初始链表作为t个所述目标链表之一。
18.进一步地,处理子模块包括:更新子模块一,用于在所述目标点与所述第二份功能分支点还存在第一类连接线的情况下,基于所述目标点与所述第二份功能分支点之间的第一类连接线,更新所述初始链表;判断子模块二,用于在所述目标点与所述第二份功能分支
点还存在第二类连接线的情况下,判断所述目标点关联的第二类连接线是否与所述初始链表表头表示的功能分支点相关;更新子模块二,用于在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点相关的情况下,基于所述目标点关联的第二类连接线,更新所述初始链表;确定子模块一,用于在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点不相关的情况下,确定不更新所述初始链表。
19.进一步地,第二构建单元包括:构建子单元,用于在m个所述功能分支中,存在所述第一调用关系的数量大于预设阈值的目标功能分支的情况下,基于所述目标功能分支所属的微服务节点的层级、被调用方的微服务节点的层级,构建所述第二调用关系,其中,所述被调用方包括:被所述目标功能分支所调用的功能分支。
20.进一步地,构建子单元包括:建立模块,用于在所述目标功能分支关联的第一调用关系中,基于被调用方的微服务节点的层级数非最小的第一调用关系,建立所述第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,其中,所述微服务体系中每个层级的微服务节点中的功能分支不能调用低于自身层级的微服务节点中的功能分支;第三处理模块,用于在对所述第二调用关系进行标记后的原始调用关系图中,将所述被调用方的微服务节点的层级数非最小的第一调用关系进行作废处理,得到所述目标调用关系图。
21.根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的基于微服务体系的测试方法。
22.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于微服务体系的测试方法。
23.在本发明中,响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,微服务节点提供n个服务,每个服务包括s个功能分支,原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n;基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图;基于目标调用关系图,构建目标连线图,其中,目标连线图中包括:通过拷贝目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、第一份功能分支点与第二份功能分支点之间的连接线;在目标连线图中,查找m个功能分支的调用链,并基于调用链对微服务体系进行测试。进而解决了相关技术中在对微服务体系进行测试时,测试效率低、工作量大的技术问题。在本发明中,通过在功能分支的原始调用关系图中的构建第二调用关系,基于存在第二调用关系的目标连线图查找调用链,进而根据查找到的调用链对微服务体系中的待测试功能分支进行测试,避免了相关技术中微服务体系中上下游均进行联测,测试冗余率高,涉及测试的微服务均跑一遍测试脚本,工作量大的情况,从而实现了提高测试效率和减少测试工作量的技术效果。
附图说明
24.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发
明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
25.图1是根据本发明实施例的一种可选的基于微服务体系的测试方法的流程图;
26.图2是根据本发明实施例的一种可选的微服务分层功能分支调用链条dag图一;
27.图3是根据本发明实施例的一种可选的微服务分层功能分支调用链条dag图二;
28.图4是根据本发明实施例的一种可选的微服务调用关系的示意图;
29.图5是根据本发明实施例的一种可选的源汇点连线图的示意图;
30.图6是根据本发明实施例的一种可选的基于微服务体系的测试装置的示意图;
31.图7是根据本发明实施例的一种电子设备的示意图。
具体实施方式
32.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
33.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.需要说明的是,本公开中的基于微服务体系的测试方法及其装置可用于大数据技术领域在对微服务体系进行测试的情况下,也可用于除大数据技术领域之外的任意领域在对微服务体系进行测试的情况下,本公开中对基于微服务体系的测试方法及其装置的应用领域不做限定。
35.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
36.为了便于描述,下面对本发明各实施例中涉及的部分术语或名词进行解释:
37.dag图:有向无环图,简称dag图,由集合的顶点和有向边构成,每条边连接一个顶点到另一个,在一些顶点v开始,沿着有序的边,最终不可能再次循环到v。
38.增广路径:在本发明中指从镜像拷贝点到源拷贝对应点的隐藏的实线(因为本身两者互为镜像,肯定是存在联通关系)。广义上概括的说,增广路径的目的是:为了寻径时通过该路径上的正反流量的增减达到总体某个效果上的提高。
39.实施例一
40.根据本发明实施例,提供了一种可选的基于微服务体系的测试方法的方法实施
例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
41.图1是根据本发明实施例的一种可选的基于微服务体系的测试方法的流程图,如图1所示,该方法包括如下步骤:
42.步骤s101,响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,微服务节点提供n个服务,每个服务包括s个功能分支,原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n。
43.在本实施例中,可以在微服务粒度层面上拆分功能分支,构建功能分支调用链的视图。上述的原始调用关系图可以包括:服务体系中多个功能分支的调用关系,在微服务体系中,可以包括多个节点,每个节点中可以包括多个服务,同一服务下可以包括多个功能分支。上述的第一调用关系可以为微服务体系中,功能分支之间真实存在的调用关系,在本实施例中也可以称为虚调用。
44.图2是根据本发明实施例的一种可选的微服务分层功能分支调用链条dag图一,如图2所示,给出了一种可选的原始调用关系图,在图2中,包括多个层级的节点,例如:图2中的level 0,level 1以及level 3个层级;每个层级可以包括一个或多个节点,例如:图2中level 0层级的节点1,level 1层级的节点2和节点3,level 2层级的节点4;同一层级的每个节点下可以包括多个功能分支,例如:level 0层级下节点1内的w
11
、w
12
、w
13
和w
14
等表示功能分支的点,level 1层级下节点2中的w
21
、w
22
、w
23
和w
24
等表示功能分支的点,level 1层级下节点3中的w
31
、w
32
、w
33
和w
34
等表示功能分支的点,level 2层级下节点4中的w
41
、w
42
、w
43
和w
44
等表示功能分支的点,节点n中的w
n1
、w
n2
和w
n3
等表示功能分支的点。
45.图2中带有箭头的连线(对应于上述的表示功能分支之间的第一调用关系的连线),表示功能分支间的调用关系,带有箭头侧的功能分支点为被调用方,不带箭头的一侧的功能分支点为调用方。由于微服务体系分层设计的原则,不允许层级高的微服务调用层级低的微服务(比如:level1的节点服务不能调用level0的节点服务),但可以同层和跨层调用。图2的w
21
、w
22
、w
23
(虚线框)属于同一服务的不同功能分支。同一功能分支向下如有多个调用链,代表为会在本分支下同时调用,比如w
23
的分支都会走w
31
和w
43
的调用,而w
21
的分支只会调用w
31
。
46.步骤s102,基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图。
47.在本实施例中,为了将多个方向的调用通过建立虚调用(对应于上述的第二调用关系)的方式,从低到高的层级构建一条“覆盖链”,以达到可以以最少的验证脚本覆盖到所涉及的功能分支的调用链对微服务体系进行测试的目的,避免同一功能分支存在两个以上调用关系时,寻径时将会沿着两个或多个“相斥”的路径走下去,会是两个或多个测试脚本而非一个脚本就可以覆盖到。因此,在本实施例中,可以基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建需调用(即第二调用关系),也即是本实施例中的虚调用可以为虚拟构建出的调用关系,在本实施例中,也可以称为虚调用。
48.例如:如果同一功能分支下有多个实调用(对应于上述的第一调用关系),则按照该分支的被调方的层级从低到高构建虚调用(即第二调用关系),所有构建的虚调用均打上该功能分支的原始的调用关系的标签,同时在视图(即原始调用关系图)中去掉该分支对于非最低层级被调方的调用链,得到上述的目标调用关系图。
49.例如:图2中w
23
的功能分支都会走w
31
和w
43
的调用,而w
21
的功能分支只会调用w
31
,由于w
31
所在的层级小于(等于亦可)w
43
的层级,增加一条w
31
到w
43
的虚调用(第二调用关系),并给该虚线打上标签w
23
(对应于上述的标记),代表只要走到w
23
,此时就可以顺着路径w
23-w
31-w
43
覆盖到这三个服务功能分支,作废w
23-w
43
(非最低层级被调方)的调用链,得到图3所示的微服务分层功能分支调用链条dag图二。
50.需要说明是,第二调用关系的设计,例如:图3中w
31
到w
43
的虚线的设计,是为了在微服务功能分支调用链这一特定场景下,将调用的可达性转换成寻径问题。方便在进行测试时,可以以最少的验证脚本覆盖到所涉及的功能分支的调用链”,如果没有虚线,我们寻径将会沿着两个“相斥”的路径走下去,会是两个脚本而非一个脚本就可以覆盖到,例如图2中如果w
23
的分支走了多个调用。因此,在本实施例中,通过构建第二调用关系,可以将多个方向的调用通过虚调用的方式从低到高的层级构建一条“覆盖链”,而只保留w
23
(功能分支调用方)对于最低层级被调方的调用。
51.在本实施例中,对第二调用关系进行标记,例如:图3中给该虚线打上标签w
23
,在技术手段上是为了后续在做二分图匹配的时候,寻找增广路径上的对应虚线的时候,该覆盖链的链头如果不是w
23
而是w
21
,则拒绝该增广路径和虚线。
52.步骤s103,基于目标调用关系图,构建目标连线图,其中,目标连线图中包括:通过拷贝目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、第一份功能分支点与第二份功能分支点之间的连接线。
53.基于二分图的思想,在本实施例,可以基于目标调用关系图,构建目标连线,可以将目标调用关系图中所有的功能分支点拷贝为两份。其中一份拷贝与源点(s)相连,另一个镜像拷贝与汇点(t)相连,同时基于目标调用关系图中表示第一调用关系和第二调用关系的连线添加到该目标连线图中。
54.在本实施例中,为了以较小数量范围的例子说清楚流程,假设在微服务体系中,某一次的公共库的修改涉及到了图3中的w
23
、w
31
、w
43
、w
33
,只增加了一条w
31
到w
43
的虚调用(第二调用关系),并给该虚线打上标签w
23,
即得到的目标调用关系图如图4所示,其中,图4是根据本发明实施例的一种可选的微服务调用关系的示意图,可以将图4上的点(即微服务功能分支)拆成两份拷贝,其中一份拷贝(对应于上述的第一份功能分支点)与源点(s)相连,另一个镜像拷贝(对应于上述的第二份功能分支点)与汇点(t)相连,构建的实调用(第一调用关系)和虚调用(第二调用关系)关系,得到如图5所示的一种可选的源汇点连线图(对应于上述的目标连线图)。同时镜像拷贝各点跟源拷贝对应点之间存在默认增广路径,例如:在图5中,w
31
和w’31
默认存在增广路径,w
32
和w’32
默认存在增广路径,w
23
和w’23
默认存在增广路径,w
43
和w’43
默认存在增广路径。
55.在本实施例中,做镜像拷贝的设计,是为了后续在选择能一次性调用到所需微服务功能分支的脚本的时候,可以通过镜像拷贝的各点之间的增广路径,将相关的微服务的功能分支构建成链表的形式。跟虚线(第二调用关系对应的连接线)的设计目的类似,“是为
了在微服务功能分支调用链这一场景下,将调用的可达性转换成寻径问题”。
56.步骤s104,在目标连线图中,查找m个功能分支的调用链,并基于调用链对微服务体系进行测试。
57.在本实施例中,可以从源拷贝(对应于目标连线图中的第一份功能分支点)各点出发,逐条处理跟镜像拷贝(对应于目标连线图中的第二份功能分支点)各点的连线,进行路径查找,得到功能分支中的调用关系的调用链。通过该调用链,构建测试脚本,对微服务体系进行测试。
58.上述的调用链可以为链表,可以将链表输出给测试人员,建立测试脚本,从链表链头代表的功能分支发起调用,即可覆盖所有需要验证的微服务的功能分支。
59.需要说明的是,本实施例所涉及的基于微服务体系的测试方法可以用于但不限于:对服务体系进行技术框架升级、公共库改造、某安全构建更新、某应用被调方服务进行重构等技术改造后,对微服务体系进行测试的情况下,可以用于金融机构对微服务体系进行测试的情况下。
60.通过上述步骤,在本实施例中,通过在功能分支的原始调用关系图中的构建第二调用关系,基于存在第二调用关系的目标连线图查找调用链,进而根据查找到的调用链对微服务体系中的待测试功能分支进行测试,避免了相关技术中微服务体系中上下游均进行联测,测试冗余率高,涉及测试的微服务均跑一遍测试脚本,工作量大的情况,从而实现了提高测试效率和减少测试工作量的技术效果。进而解决了相关技术中在对微服务体系进行测试时,测试效率低、工作量大的技术问题。
61.可选地,第一份功能分支点与第二份功能分支点之间的连接线包括:第一类连接线、第二类连接线,其中,第一类连接线用于表示第一调用关系,第二类连接线用于表示第二调用关系,在目标连线图中,查找m个功能分支的调用链,并基于调用链对微服务体系进行测试,包括:基于目标连线图中的第一类连接线和第二类连接线,确定调用链,其中,调用链包括t个目标链表,t为正整数;基于每个目标链表,对微服务体系中的m个功能分支进行测试。
62.在本实施例中,在上述的目标连线图中,还可以包括第一类连接线和第二连接线,例如:如图5所示,设w
31
、w
32
、w
23
和w
43
为第一份功能分支点,w’31
、w’32
、w’23
和w’43
为第二份功能分支点,w
31-w’43
之间的带有箭头的虚线连接线为第二类连接线,w
33-w’43
,w
23-w’31
之间的带有箭头的实线连接线表示第一类连接线,可以从第一份功能分支点中的功能分支点出发,进行寻找路径,基于图5中的实线和虚线进行路径查找,构建目标链表,并基于构建得到的链表,构建测试脚本,通过测试脚本对微服务体系中的m个功能分支进行测试,达到了以最少测试脚本最精确的覆盖到所有涉及到的功能分支的调用链的目的。
63.可选地,基于目标连线图中的第一类连接线和第二类连接线,确定调用链,包括:步骤一,在目标连线图中,基于预设顺序,从第一份功能分支点中的功能分支点出发,寻找第一类连接线和第二类连接线;步骤二,在查找到第一类连接线的情况下,以查找到的第一类连接线为基础,基于第二份功能分支点中的每个功能分支点的增广路径和目标连线图,构建目标链表,其中,增广路径表示在第一份功能分支点与第二份功能分支点中,互为镜像的两个功能分支点存在联通关系;重复执行步骤一至步骤二,直至查找完目标连线图中的所有第一类连接线,得到调用链。
w’31
‑‑
w’43
;而新的连接点w’43
对应源拷贝点w43已无连线。置w
23-w’31
和w
31
‑‑
w’43
为“已完成”,将此时的初始链表作为t个目标链表之一。
76.w
23-w’43
的调用实线已经在构建虚调用(第二调用关系)时作废,略过。至此,源拷贝各点逐条处理结束。输出结果w
33-w’43
、w
23-w’31
‑‑
w’43
,代表只要能用两个调用到w
33
和w
23
的微服务功能分支的脚本,便可以满足该公共库修改的测试需求。
77.可选地,在目标点与第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新初始链表的步骤,包括:在目标点与第二份功能分支点还存在第一类连接线的情况下,基于目标点与第二份功能分支点之间的第一类连接线,更新初始链表;在目标点与第二份功能分支点还存在第二类连接线的情况下,判断目标点关联的第二类连接线是否与初始链表表头表示的功能分支点相关;在目标点关联的第二类连接线与初始链表表头表示的功能分支点相关的情况下,基于目标点关联的第二类连接线,更新初始链表;在目标点关联的第二类连接线与初始链表表头表示的功能分支点不相关的情况下,确定不更新初始链表。
78.在本实施例中,上述的更新初始链表可以指是否在初始链表后添加新的指向,添加新的节点。例如:按预设顺序找到w
23-w’31
,为实线,构建以w
23
为链表头,指向w’31
的初始链表,w’31
该镜像点对应的增广路径的点w
31
有虚线连接到w’43
,并且标签是w
23
,跟链表头w
23
是一致的(即与初始链表表头表示的功能分支点w
23
相关),则将w’43
加入到w
23-w’31
的链表尾,更新初始链表,即得到w
23-w’31
‑‑
w’43
;而新的连接点w’43
对应源拷贝点w
43
已无连线。置w
23-w’31
和w
31
‑‑
w’43
为“已完成”,将此时的初始链表作为t个目标链表之一。
79.可选地,基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系的步骤,包括:在m个功能分支中,存在第一调用关系的数量大于预设阈值的目标功能分支的情况下,基于目标功能分支所属的微服务节点的层级、被调用方的微服务节点的层级,构建第二调用关系,其中,被调用方包括:被目标功能分支所调用的功能分支。
80.在本实施例中,可以通过判断同一功能分支下的第一调用关系是否超过预设阈值,其中,第一预设阈值可以为1,超过预设阈值的情况下,可以基于第一调用关系中被调用方的层级,创建第二调用关系。
81.例如:如果同一功能分支下有多个实调用(对应于上述的第一调用关系),则按照该功能分支(对应于上述的目标功能分支)的被调方的层级从低到高构建虚调用(对应于上述的第二调用关系),所有虚调用均打上该功能分支的标签,同时可以在视图中去掉该分支对于非最低层级被调方的调用链,达到了将多个方向的调用,通过虚调用的方式从低到高的层级构建一条覆盖链的目的,避免了寻径时,若同一功能分支存在多个调用关系时,将会沿着多个“相斥”的路径走下去,导致进行测试时需要构建更多数量的测试脚本的情况,实现了降低功能分支的覆盖链的数据的技术效果。
82.可选地,基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图的步骤,包括:在目标功能分支关联的第一调用关系中,基于被调用方的微服务节点的层级数非最小的第一调用关系,建立第二调用关系,并在原始调用关系图中对第二调用关系进行标记,其中,微服务体系中每个层级的微服务节点中的功能分支不能调用低
于自身层级的微服务节点中的功能分支;在对第二调用关系进行标记后的原始调用关系图中,将被调用方的微服务节点的层级数非最小的第一调用关系进行作废处理,得到目标调用关系图。
83.图2是根据本发明实施例的一种可选的微服务分层功能分支调用链条dag图一,如图2所示,节点2和节点3属于同一层,由于分层设计的原则,不允许层级高的微服务调用层级低的微服务(比如level1的节点服务不能调用level0的节点服务),但可以同层和跨层调用。图2的w
21
、w
22
、w
23
(虚线框)属于同一服务的不同功能分支。同一功能分支向下如有多个调用链(多个第一调用关系),代表为会在本分支下同时调用,比如w
23
的功能分支都会走w
31
和w
43
的调用,而w
21
的功能分支只会调用w
31
,由于w
31
所在的层级小于(等于亦可)w
43
的层级,增加一条w
31
到w
43
的虚调用(第二调用关系),并给该虚线打上标签w
23
,即进行标记,代表只要走到w
23
,就可以顺着路径w
23-w
31-w
43
覆盖到这三个服务功能分支,作废w
23-w
43
(非最低层级被调方)的调用链,得到图3是根据本发明实施例的一种可选的微服务分层功能分支调用链条dag图二(对应于上述的目标调用关系图)。
84.在本实施中,根据微服务的分层调用设计的特性,构造具体到微服务的功能分支的各层的调用链条dag图,根据对服务体系的实际改造的内容,划定涉及到的微服务(功能分支)的范围,以根据改造内容对微服务体系进行测试。
85.在本实施例中,根据功能分支层级调用关系构造虚线和镜像拷贝,由此生成源汇点连线图进行查找,能以最少的和最精确验证脚本覆盖到所有涉及到的功能分支的调用链,根据结果编写对应调用链链头的调用方测试脚本,具有以下优点:
86.1、大大节约在类似技术改造(例如:技术框架升级、公共库改造、某安全构建更新、某应用被调方服务进行重构)等场景下的编写脚本的工作量,实现了提升测试效率的技术效果;
87.2、由于大量运行针对更贴近用户业务操作的从调用方走的测试脚本,测试效果上更接近生产实际,实现了提高测试结果的精准度的技术效果;
88.3、在项目流程上,越是流程后期的测试环境,会有更多的从生产环境同步过来的实际数据,本实施例可以充分利用服务之间的调用关系走安全协议通道进行验证,会比逐个跑单体验证,对于安全的侵入性要低很多,实现了提高微服务体系在测试情况下的安全性的技术效果。
89.实施例二
90.本发明实施例二提供了一种可选的基于微服务体系的测试装置,该测试装置中的各个实施单元对应于实施例一中的各个实施步骤。
91.图6是根据本发明实施例的一种可选的基于微服务体系的测试装置的示意图,如图6所示,该测试装置包括:第一构建单元61、第二构建单元62、第三构建单元63、处理单元64。
92.具体的,第一构建单元61,用于响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,微服务节点提供n个服务,每个服务包括s个功能分支,原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n。
93.第二构建单元62,用于基于每个功能分支所属微服务节点的层级、每个功能分支
的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图。
94.第三构建单元63,用于基于目标调用关系图,构建目标连线图,其中,目标连线图中包括:通过拷贝目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、第一份功能分支点与第二份功能分支点之间的连接线。
95.处理单元64,用于在目标连线图中,查找m个功能分支的调用链,并基于调用链对微服务体系进行测试。
96.本技术实施例二提供的基于微服务体系的测试装置中,可以通过第一构建单元61响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,微服务节点提供n个服务,每个服务包括s个功能分支,原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n,通过第二构建单元62基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图,通过第三构建单元63基于目标调用关系图,构建目标连线图,其中,目标连线图中包括:通过拷贝目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、第一份功能分支点与第二份功能分支点之间的连接线,通过处理单元64在目标连线图中,查找m个功能分支的调用链,并基于调用链对微服务体系进行测试。进而解决了相关技术中在对微服务体系进行测试时,测试效率低、工作量大的技术问题。在本实施例中,通过在功能分支的原始调用关系图中的构建第二调用关系,基于存在第二调用关系的目标连线图查找调用链,进而根据查找到的调用链对微服务体系中的待测试功能分支进行测试,避免了相关技术中微服务体系中上下游均进行联测,测试冗余率高,涉及测试的微服务均跑一遍测试脚本,工作量大的情况,从而实现了提高测试效率和减少测试工作量的技术效果。
97.可选地,本技术实施例二提供的基于微服务体系的测试装置中,第一份功能分支点与第二份功能分支点之间的连接线包括:第一类连接线、第二类连接线,其中,第一类连接线用于表示第一调用关系,第二类连接线用于表示第二调用关系,处理单元包括:确定子单元,用于基于目标连线图中的第一类连接线和第二类连接线,确定调用链,其中,调用链包括t个目标链表;测试子单元,用于基于每个目标链表,对微服务体系中的m个功能分支进行测试。
98.可选地,本技术实施例二提供的基于微服务体系的测试装置中,确定子单元包括:查找模块,用于步骤一,在目标连线图中,基于预设顺序,从第一份功能分支点中的功能分支点出发,寻找第一类连接线和第二类连接线;第一处理模块,用于步骤二,在查找到第一类连接线的情况下,以查找到的第一类连接线为基础,基于第二份功能分支点中的每个功能分支点的增广路径和目标连线图,构建目标链表,其中,增广路径表示在第一份功能分支点与第二份功能分支点中,互为镜像的两个功能分支点存在联通关系;第二处理模块,用于重复执行步骤一至步骤二,直至查找完目标连线图中的所有第一类连接线,得到调用链。
99.可选地,本技术实施例二提供的基于微服务体系的测试装置中,第一处理模块包括:构建子模块,用于以查找到的第一类连接线为基础,构建初始链表,其中,初始链表由第一份功能分支点中的功能分支点指向第二份功能分支点中的功能分支点;判断子模块,用
于步骤1,基于初始链表当前指向的功能分支点的增广路径、目标连线图,判断目标点与第二份功能分支点是否还存在连接线,其中,目标点包括:在第一份功能分支点中,与初始链表当前指向的功能分支点互为镜像的功能分支点;
100.处理子模块,本技术实施例二提供的基于微服务体系的测试装置中,用于步骤2,在目标点与第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新初始链表,并在判断结果指示更新初始链表且已更新初始链表后,基于新的初始链表,重复执行步骤1至2,直至不再需要更新初始链表,将最后得到的初始链表作为t个目标链表之一。
101.可选地,本技术实施例二提供的基于微服务体系的测试装置中,处理子模块包括:更新子模块一,用于在目标点与第二份功能分支点还存在第一类连接线的情况下,基于目标点与第二份功能分支点之间的第一类连接线,更新初始链表;判断子模块二,用于在目标点与第二份功能分支点还存在第二类连接线的情况下,判断目标点关联的第二类连接线是否与初始链表表头表示的功能分支点相关;更新子模块二,用于在目标点关联的第二类连接线与初始链表表头表示的功能分支点相关的情况下,基于目标点关联的第二类连接线,更新初始链表;确定子模块一,用于在目标点关联的第二类连接线与初始链表表头表示的功能分支点不相关的情况下,确定不更新初始链表。
102.可选地,本技术实施例二提供的基于微服务体系的测试装置中,第二构建单元包括:构建子单元,用于在m个功能分支中,存在第一调用关系的数量大于预设阈值的目标功能分支的情况下,基于目标功能分支所属的微服务节点的层级、被调用方的微服务节点的层级,构建第二调用关系,其中,被调用方包括:被目标功能分支所调用的功能分支。
103.可选地,本技术实施例二提供的基于微服务体系的测试装置中,构建子单元包括:建立模块,用于在目标功能分支关联的第一调用关系中,基于被调用方的微服务节点的层级数非最小的第一调用关系,建立第二调用关系,并在原始调用关系图中对第二调用关系进行标记,其中,微服务体系中每个层级的微服务节点中的功能分支不能调用低于自身层级的微服务节点中的功能分支;第三处理模块,用于在对第二调用关系进行标记后的原始调用关系图中,将被调用方的微服务节点的层级数非最小的第一调用关系进行作废处理,得到目标调用关系图。
104.上述的基于微服务体系的测试装置还可以包括处理器和存储器,上述的第一构建单元61、第二构建单元62、第三构建单元63、处理单元64等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
105.上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来在功能分支的原始调用关系图中的构建第二调用关系,基于存在第二调用关系的目标连线图查找调用链,进而根据查找到的调用链对微服务体系中的待测试功能分支进行测试,避免了相关技术中微服务体系中上下游均进行联测,测试冗余率高,涉及测试的微服务均跑一遍测试脚本,工作量大的情况,从而实现了提高测试效率和减少测试工作量的技术效果。
106.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
107.根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的基于微服务体系的测试方法。
108.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于微服务体系的测试方法。
109.图7是根据本发明实施例的一种电子设备的示意图,如图7所示,本发明实施例提供了一种电子设备70,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项的基于微服务体系的测试方法。
110.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
111.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
112.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
113.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
114.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
115.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
116.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种基于微服务体系的测试方法,其特征在于,包括:响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,所述微服务节点提供n个服务,每个服务包括s个功能分支,所述原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n;基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图;基于所述目标调用关系图,构建目标连线图,其中,所述目标连线图中包括:通过拷贝所述目标调用关系图中的功能分支点得到的第一份功能分支点和第二份功能分支点、所述第一份功能分支点与所述第二份功能分支点之间的连接线;在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试。2.根据权利要求1所述的测试方法,其特征在于,所述第一份功能分支点与所述第二份功能分支点之间的连接线包括:第一类连接线、第二类连接线,其中,所述第一类连接线用于表示所述第一调用关系,所述第二类连接线用于表示所述第二调用关系,在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试,包括:基于所述目标连线图中的所述第一类连接线和所述第二类连接线,确定所述调用链,其中,所述调用链包括t个目标链表,t为正整数;基于每个所述目标链表,对所述微服务体系中的m个所述功能分支进行测试。3.根据权利要求2所述的测试方法,其特征在于,基于所述目标连线图中的所述第一类连接线和所述第二类连接线,确定所述调用链,包括:步骤一,在所述目标连线图中,基于预设顺序,从第一份功能分支点中的功能分支点出发,寻找所述第一类连接线和所述第二类连接线;步骤二,在查找到所述第一类连接线的情况下,以查找到的所述第一类连接线为基础,基于所述第二份功能分支点中的每个所述功能分支点的增广路径和所述目标连线图,构建所述目标链表,其中,所述增广路径表示在所述第一份功能分支点与所述第二份功能分支点中,互为镜像的两个功能分支点存在联通关系;重复执行步骤一至步骤二,直至查找完所述目标连线图中的所有所述第一类连接线,得到所述调用链。4.根据权利要求3所述的测试方法,其特征在于,以查找到的所述第一类连接线为基础,基于所述第二份功能分支点中的每个所述功能分支点的增广路径和所述目标连线图,构建所述目标链表的步骤,包括:以查找到的所述第一类连接线为基础,构建初始链表,其中,所述初始链表由所述第一份功能分支点中的功能分支点指向所述第二份功能分支点中的功能分支点;步骤1,基于所述初始链表当前指向的功能分支点的增广路径、所述目标连线图,判断目标点与所述第二份功能分支点是否还存在连接线,其中,所述目标点包括:在所述第一份功能分支点中,与所述初始链表当前指向的功能分支点互为镜像的功能分支点;
步骤2,在所述目标点与所述第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新所述初始链表,并在判断结果指示更新所述初始链表且已更新所述初始链表后,基于新的所述初始链表,重复执行步骤1至2,直至不再需要更新所述初始链表,将最后得到的所述初始链表作为t个所述目标链表之一。5.根据权利要求4所述的测试方法,其特征在于,在所述目标点与所述第二份功能分支点还存在连接线的情况,基于该连接线的类型,判断是否更新所述初始链表的步骤,包括:在所述目标点与所述第二份功能分支点还存在第一类连接线的情况下,基于所述目标点与所述第二份功能分支点之间的第一类连接线,更新所述初始链表;在所述目标点与所述第二份功能分支点还存在第二类连接线的情况下,判断所述目标点关联的第二类连接线是否与所述初始链表表头表示的功能分支点相关;在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点相关的情况下,基于所述目标点关联的第二类连接线,更新所述初始链表;在所述目标点关联的第二类连接线与所述初始链表表头表示的功能分支点不相关的情况下,确定不更新所述初始链表。6.根据权利要求1所述的测试方法,其特征在于,基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系的步骤,包括:在m个所述功能分支中,存在所述第一调用关系的数量大于预设阈值的目标功能分支的情况下,基于所述目标功能分支所属的微服务节点的层级、被调用方的微服务节点的层级,构建所述第二调用关系,其中,所述被调用方包括:被所述目标功能分支所调用的功能分支。7.根据权利要求6所述的测试方法,其特征在于,基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图的步骤,包括:在所述目标功能分支关联的第一调用关系中,基于被调用方的微服务节点的层级数非最小的第一调用关系,建立所述第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,其中,所述微服务体系中每个层级的微服务节点中的功能分支不能调用低于自身层级的微服务节点中的功能分支;在对所述第二调用关系进行标记后的原始调用关系图中,将所述被调用方的微服务节点的层级数非最小的第一调用关系进行作废处理,得到所述目标调用关系图。8.一种基于微服务体系的测试装置,其特征在于,包括:第一构建单元,用于响应对微服务体系进行测试的请求,构建微服务节点的m个功能分支的原始调用关系图,其中,所述微服务节点提供n个服务,每个服务包括s个功能分支,所述原始调用关系图中包括:表示功能分支的功能分支点,表示功能分支之间的第一调用关系的连线,m、n和s为正整数,s小于n;第二构建单元,用于基于每个功能分支所属微服务节点的层级、每个功能分支的所述第一调用关系的数量,构建第二调用关系,并在所述原始调用关系图中对所述第二调用关系进行标记,得到目标调用关系图;第三构建单元,用于基于所述目标调用关系图,构建目标连线图,其中,所述目标连线图中包括:通过拷贝所述目标调用关系图中的功能分支点得到的第一份功能分支点和第二
份功能分支点、所述第一份功能分支点与所述第二份功能分支点之间的连接线;处理单元,用于在所述目标连线图中,查找m个所述功能分支的调用链,并基于所述调用链对所述微服务体系进行测试。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的基于微服务体系的测试方法。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的基于微服务体系的测试方法。
技术总结
本发明公开了一种基于微服务体系的测试方法、装置、存储介质及电子设备。涉及大数据技术领域。其中,该方法包括:响应对微服务体系进行测试的请求,构建微服务节点的M个功能分支的原始调用关系图,其中,原始调用关系图中包括:表示功能分支的功能分支点,表示第一调用关系的连线;基于每个功能分支所属微服务节点的层级、每个功能分支的第一调用关系的数量,构建第二调用关系,并在原始调用关系图中对第二调用关系进行标记,得到目标调用关系图;基于目标调用关系图,构建目标连线图;在目标连线图中,查找M个功能分支的调用链,并基于调用链对微服务体系进行测试。本发明解决了在对微服务体系进行测试时,测试效率低、工作量大的技术问题。技术问题。技术问题。
技术研发人员:胡文涛 罗剑平 陈鹏翼 区伟
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.05.29
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种抑制乙酸乙酯产生的功能微生物的制作方法 下一篇:一种育雏鸡舍绒毛自动清理设备