接口影响检测方法及相关设备技术

技术编号:33709903 阅读:15 留言:0更新日期:2022-06-06 08:40
本公开提供一种接口影响检测方法及相关设备。所述方法包括:响应于目标服务的代码变动触发指令,获取变动代码;对所述变动代码进行分析,获得所述变动代码对应的目标函数;获取目标服务的接口调用链路,所述接口调用链路包括所述目标服务的待测接口与服务内各函数之间的调用关系;基于所述目标函数与所述接口调用链路,确定所述待测接口中调用所述目标函数的目标接口。本公开所述接口影响检测方法及相关设备,能够自动评估出代码变动的影响范围,便于测试人员进行功能回归测试,从而提高了代码检查的准确率和效率。了代码检查的准确率和效率。了代码检查的准确率和效率。

【技术实现步骤摘要】
接口影响检测方法及相关设备


[0001]本公开涉及计算机
,尤其涉及一种接口影响检测方法及相关设备。

技术介绍

[0002]随着互联网的技术进步和广泛普及,网络能够为人们完成越来越多的生活和工作事项,网络业务的实现流程越来越复杂,代码复杂度不断增加,一项业务往往需要多人协作完成代码的开发工作。
[0003]代码的改动可能会涉及接口功能的变动,因此需要对与改动代码相关的接口进行测试。而目前代码改动所影响的接口范围只能依赖人工方式判断,容易造成遗漏。

技术实现思路

[0004]有鉴于此,本公开的目的在于提出一种接口影响检测方法及相关设备。
[0005]基于上述目的,本公开提供了一种接口影响检测方法,包括:
[0006]响应于目标服务的代码变动触发指令,获取变动代码;
[0007]对所述变动代码进行分析,获得所述变动代码对应的目标函数;
[0008]获取目标服务的接口调用链路,所述接口调用链路包括所述目标服务的待测接口与服务内各函数之间的调用关系;
[0009]基于所述目标函数与所述接口调用链路,确定所述待测接口中调用所述目标函数的目标接口。
[0010]可选的,所述响应于目标服务的代码变动触发指令,获取变动代码,包括:
[0011]基于所述代码变动触发指令,获取变更后的代码文件列表;
[0012]基于变更后的所述代码文件列表确定变更后的代码文件,将变更后的代码文件与原始的代码文件进行对比,确定修改文件以及变动代码在所述修改文件中的行号信息。
[0013]可选的,所述对所述变动代码进行分析,获得所述变动代码对应的目标函数,包括:
[0014]获取所述修改文件中各行代码与全部函数之间的所属关系;
[0015]基于所述变动代码在所述修改文件中的行号信息以及所述修改文件中各行代码与全部函数之间的所属关系,确定所述变动代码所属的目标函数。
[0016]可选的,所述获取所述修改文件中各行代码与全部函数之间的所属关系,包括:
[0017]对所述修改文件中的代码进行语法分析,获取所述修改文件的语法树;
[0018]基于所述修改文件的语法树,确定所述修改文件中各行代码与全部函数之间的所属关系。
[0019]可选的,所述获取目标服务的接口调用链路,包括:
[0020]获取目标服务的全部待测接口;
[0021]获取与全部所述待测接口相关的数据包文件;
[0022]对所述数据包文件中的代码进行分析,获得所述待测接口与各函数之间的对应关
系,并基于所述待测接口与各函数之间的对应关系生成接口调用链路。
[0023]可选的,所述对所述数据包文件中的代码进行分析,获得所述待测接口与各函数之间的对应关系,并基于所述待测接口与各函数之间的对应关系生成接口调用链路,包括:
[0024]对所述数据包文件中的代码进行扫描,获取所述待测接口的初始化引用对象、各函数的函数定义信息和各待测接口的接口定义信息;
[0025]根据各待测接口的接口定义信息和各函数的函数定义信息,建立待测接口与接口实现方法间的对应关系;
[0026]对各函数的函数定义信息进行解析,得到各函数的函数描述信息,并根据各函数定义信息和各函数描述信息,生成函数间调用信息;
[0027]以各待测接口的初始化引用对象为起点,根据待测接口与接口实现方法之间的对应关系,和/或函数间调用信息,生成各待测接口的接口调用链路。
[0028]可选的,所述基于所述目标函数与所述接口调用链路,确定所述待测接口中调用所述目标函数的目标接口,包括:
[0029]基于所述目标函数对所述接口调用链路进行遍历,获取所述接口调用链路中与所述目标函数相同的函数;
[0030]基于所述接口调用链路中与所述目标函数相同的函数,确定所述待测接口中调用所述目标函数的目标接口。
[0031]可选的,所述目标接口包括对外暴露接口,所述方法还包括:
[0032]获取所述目标服务与其他服务之间的接口调用关系;
[0033]基于所述对外暴露接口以及所述接口调用关系,确定其他服务中调用所述对外暴露接口的接口信息。
[0034]可选的,还包括:
[0035]根据跨服务间的距离输出影响面以及预设的距离,确定其他服务中调用所述目标接口的接口信息。
[0036]本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的方法。
[0037]本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使所述计算机执行上述任一所述的方法。
[0038]本公开还提供了一种计算机程序产品,所述计算机程序产品包括存储有指令的计算机可读存储介质,其特征在于,所述指令在被执行时使得计算设备的至少一个中央处理器单元执行根据上述任一项所述的方法。
[0039]从上面所述可以看出,本公开提供的接口影响检测方法及相关设备,通过代码变动触发分析获得变动代码,通过对变动代码的分析获得变动代码所属的目标函数,通过目标函数以及获得的接口调用链路,确定待测接口中调用目标函数的目标接口,从而确定变动代码所影响到的目标接口,以便于开发人员可基于该目标接口评估出代码变动的影响范围,或者便于测试人员进行功能回归测试,从而提高了代码检查的准确率和效率。
附图说明
[0040]为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本公开实施例数据处理系统的结构示意图;
[0042]图2为本公开实施例所述接口影响检测方法的流程示意图;
[0043]图3为本公开实施例变动代码获取方法的流程示意图;
[0044]图4为本公开实施例所述目标函数的获取方法的流程示意图;
[0045]图5为本公开实施例接口调用链路的获取方法的流程示意图;
[0046]图6为本公开实施例目标接口的获取方法的流程示意图;
[0047]图7为本公开实施例接口调用链路的结构示意图;
[0048]图8为本公开实施例所述接口影响检测方法的另一流程示意图;
[0049]图9为本公开实施例获取其他服务中接口信息的方法流程示意图;
[0050]图10为本公开实施例电子设备的结构示意图。
具体实施方式
[0051]为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
[0052]需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口影响检测方法,其特征在于,包括:响应于目标服务的代码变动触发指令,获取变动代码;对所述变动代码进行分析,获得所述变动代码对应的目标函数;获取目标服务的接口调用链路,所述接口调用链路包括所述目标服务的待测接口与服务内各函数之间的调用关系;基于所述目标函数与所述接口调用链路,确定所述待测接口中调用所述目标函数的目标接口。2.根据权利要求1所述的方法,其特征在于,所述响应于目标服务的代码变动触发指令,获取变动代码,包括:基于所述代码变动触发指令,获取变更后的代码文件列表;基于变更后的所述代码文件列表确定变更后的代码文件,将变更后的代码文件与原始的代码文件进行对比,确定修改文件以及变动代码在所述修改文件中的行号信息。3.根据权利要求2所述的方法,其特征在于,所述对所述变动代码进行分析,获得所述变动代码对应的目标函数,包括:获取所述修改文件中各行代码与全部函数之间的所属关系;基于所述变动代码在所述修改文件中的行号信息以及所述修改文件中各行代码与全部函数之间的所属关系,确定所述变动代码所属的目标函数。4.根据权利要求3所述的方法,其特征在于,所述获取所述修改文件中各行代码与全部函数之间的所属关系,包括:对所述修改文件中的代码进行语法分析,获取所述修改文件的语法树;基于所述修改文件的语法树,确定所述修改文件中各行代码与全部函数之间的所属关系。5.根据权利要求1所述的方法,其特征在于,所述获取目标服务的接口调用链路,包括:获取目标服务的全部待测接口;获取与全部所述待测接口相关的数据包文件;对所述数据包文件中的代码进行分析,获得所述待测接口与各函数之间的对应关系,并基于所述待测接口与各函数之间的对应关系生成接口调用链路。6.根据权利要求5所述的方法,其特征在于,所述对所述数据包文件中的代码进行分析,获得所述待测接口与各函数之间的对应关系,并基于所述待测接口与各函数之间的对应关系生成接口调用链路,包括:对所述数据包文件中的代码进行扫描,获取所...

【专利技术属性】
技术研发人员:陈鑫严梓桓闫然马利凯王俊雄刘哲湘
申请(专利权)人:北京有竹居网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1