System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种静态分析修改接口实现自动回归的方法及系统技术方案_技高网

一种静态分析修改接口实现自动回归的方法及系统技术方案

技术编号:40990925 阅读:2 留言:0更新日期:2024-04-18 21:33
本发明专利技术公开了一种静态分析修改接口实现自动回归的方法及系统,属于软件测试领域,获取新旧代码目录下所有文件的完整路径,包括获取旧分支代码的完整路径,新分支代码的完整路径;通过对比新旧分支代码的路径得到新增模块和改动模块的代码路径;通过已经获取新增模块和改动模块的代码路径得到各个改动路径里的方法的关系树;通过遍历关系树的树形关系得到有差异模块影响的上下游的接口,输出影响的接口;根据流量回放平台获取接口的线上参数,作为改动接口的传参,进行接口的自动化测试校验,通过自动对比新旧版本的代码,可以得到新版本改动影响的上下游接口,圈定接口的测试范围,能够节省人力,提高测试效率,缩短测试周期,节约企业成本。

【技术实现步骤摘要】

本专利技术属于软件测试,尤其涉及一种静态分析修改接口实现自动回归的方法及系统


技术介绍

1、静态分析影响接口,即针对新旧版本的代码比较,得出新版本代码的改动影响的上下游接口,得出准确的测试范围,以帮助测试同学更有针对性的测试该版本改动影响的模块,提高测试效率,并且能准确的定位到需要测试和回归的范围。目前通过git不同分支的代码对比只能对比改动的文件,没法准确定位改动的接口,耗时长,在测试时间紧迫是会出现测试范围不全面引起漏测,导致的线上故障。


技术实现思路

1、本专利技术所要解决的技术问题是针对
技术介绍
的不足提供本专利技术提出一种静态自动分析影响接口的方法及系统,通过自动对比新旧版本的代码,可以得到新版本改动影响的上下游接口,圈定接口的测试范围,能够节省人力,提高测试效率,缩短测试周期,节约企业成本。

2、本专利技术为解决上述技术问题采用以下技术方案:

3、一种静态分析修改接口实现自动回归的方法,具体包含如下步骤;

4、步骤1,获取新旧代码目录下所有文件的完整路径,包括获取旧分支代码的完整路径,新分支代码的完整路径;

5、步骤2,通过对比新旧分支代码的路径得到新增模块和改动模块的代码路径;

6、步骤3,通过已经获取新增模块和改动模块的代码路径得到各个改动路径里的方法的关系树;

7、步骤4,通过遍历关系树的树形关系得到有差异模块影响的上下游的接口,输出影响的接口;

8、步骤5,根据流量回放平台获取接口的线上参数,作为改动接口的传参,进行接口的自动化测试校验。

9、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤1中,通过在git地址不同的分支管理获取代码要校验的分支和基准分支。

10、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤1中,git地址包含服务名、接口名、字段类型、是否必填、长度要求、取值要求、是否为空选项。

11、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤3中,通过字节码工具,检索工程项目内的所有编译好的字节码文件,获取项目内所有方法的调用关系。

12、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,通过获取到基准分支和被测分支的调用关系,然后做对比,并得到新分支内被修改过,或者新增的方法。

13、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤4中,通过字节码技术自动对比新旧版本的代码,得到新版本改动影响的上下游接口。

14、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤4中,调用链的入口对应的controller类的接口在本次需求迭代中有更新。

15、作为本专利技术静态分析修改接口实现自动回归的方法的进一步优选方案,在步骤5中,获取到所有被影响到的接口,然后通过流量回放平台获取到对应接口的入参,分析结果中的值,与接口定义文档中的字段,取值范围进行对应,校验结果是否正确。

16、一种基于静态分析修改接口实现自动回归的方法的系统,包含获取新旧代码差异模块、获取所有class的树形关系模块、生成影响的接口模块;

17、其中,获取新旧代码差异模块,用于根据新旧代码的路径对比,得到有差异的模块;

18、获取所有class的树形关系模块,用于通过字节码工具,检索工程项目内的所有编译好的字节码文件,获取项目内所有方法的调用关系;

19、生成影响的接口模块,用于根据差异的模块,通过遍历class的树形关系得到有差异模块影响的上下游的接口,输出影响的接口。

20、基于静态分析修改接口实现自动回归的系统,获取新旧代码差异模块,具体包含如下步骤;

21、步骤(1),分别获取新旧代码目录下所有文件的完整路径;

22、步骤(2),对比新旧代码路径的差异,得到新增的子模块和非新增的子模块;

23、步骤(3),根据新增模块和非新增的子模块找到改动范围的各个模块的关系树。

24、本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:

25、本专利技术一种静态分析修改接口实现自动回归的方法及系统,通过自动对比新旧版本的代码,可以得到新版本改动影响的上下游接口,圈定接口的测试范围,能够节省人力,提高测试效率,缩短测试周期,节约企业成本。

本文档来自技高网...

【技术保护点】

1.一种静态分析修改接口实现自动回归的方法,其特征在于:具体包含如下步骤;

2.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤1中,通过在git地址不同的分支管理获取代码要校验的分支和基准分支。

3.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤1中,git地址包含服务名、接口名、字段类型、是否必填、长度要求、取值要求、是否为空选项。

4.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤3中,通过字节码工具,检索工程项目内的所有编译好的字节码文件,获取项目内所有方法的调用关系。

5.根据权利要求3所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤3中,通过获取到基准分支和被测分支的调用关系,然后做对比,并得到新分支内被修改过,或者新增的方法。

6.根据权利要求3所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤4中,通过字节码技术自动对比新旧版本的代码,得到新版本改动影响的上下游接口。

7.根据权利要求3所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤4中,调用链的入口对应的Controller类的接口在本次需求迭代中有更新。

8.根据权利要求3所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤5中,获取到所有被影响到的接口,然后通过流量回放平台获取到对应接口的入参,分析结果中的值,与接口定义文档中的字段,取值范围进行对应,校验结果是否正确。

9.一种基于静态分析修改接口实现自动回归的方法的系统,其特征在于:包含获取新旧代码差异模块、获取所有class的树形关系模块、生成影响的接口模块;

10.根据权利要求9所述的基于静态分析修改接口实现自动回归的系统,其特征在于:获取新旧代码差异模块,具体包含如下步骤;

...

【技术特征摘要】

1.一种静态分析修改接口实现自动回归的方法,其特征在于:具体包含如下步骤;

2.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤1中,通过在git地址不同的分支管理获取代码要校验的分支和基准分支。

3.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤1中,git地址包含服务名、接口名、字段类型、是否必填、长度要求、取值要求、是否为空选项。

4.根据权利要求1所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤3中,通过字节码工具,检索工程项目内的所有编译好的字节码文件,获取项目内所有方法的调用关系。

5.根据权利要求3所述的静态分析修改接口实现自动回归的方法,其特征在于:在步骤3中,通过获取到基准分支和被测分支的调用关系,然后做对比,并得到新分支内被修改过,或者新增的方法。

6.根据权利要求3所述的静...

【专利技术属性】
技术研发人员:郑志芳周发力简兰甘子文茹卉
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1