一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种方法级增量代码覆盖率获取方法和装置与流程

2022-05-18 08:01:55 来源:中国专利 TAG:

技术特征:
1.一种方法级增量代码覆盖率获取方法,其中,所述方法应用于增量代码覆盖率获取装置,且所述装置包括接入配置装置、覆盖率收集装置以及报告生成装置,所述方法包括:获得待测试目标系统分支信息;将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装置,获得后台程序代码运行信息;根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第一聚合后结果文件;基于代码仓库,获得下载源码信息;根据所述下载源码信息和所述第一聚合后结果文件,生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。2.如权利要求1所述的方法,其中,所述将所述待测试目标系统分支信息接入所述接入配置装置,包括:基于ssh方式,将所述覆盖率收集装置推送至所述需接入系统模块所要接入的所述测试环境信息的服务器,且对所述需接入系统模块的启动脚本进行修改,获得修改后启动脚本;根据所述修改后启动脚本,对所述需接入系统模块进行重启,并获得第一重启结果;将所述第一重启结果反馈至测试用户。3.如权利要求1所述的方法,其中,所述根据所述后台程序代码运行信息,对应用程序进行插桩,包括:基于所述后台程序代码运行信息,确定所述应用程序的编译后代码文件;对所述编译后代码文件的任一可执行语句前,注入执行探针,生成第一语句执行结果标记信息;对任一所述编译后代码文件的全局,注入覆盖率信息变量date,生成对应的代码文件,其中,所述代码文件中包括文件id、文件名以及探针集合;基于所述第一语句执行结果标记信息和所述对应的代码文件,生成覆盖率结果文件,且进行保存;对所述服务器的部署记录文件进行读取,获得所述应用程序的部署分支环境信息;将所述覆盖率结果文件、所述部署分支环境信息以及所述编译后代码文件,发送至所述报告生成装置,并进行保存。4.如权利要求1所述的方法,其中,所述对所述代码执行记录文件进行分支聚合,包括:对所述覆盖率结果文件进行依次遍历分析,生成所述代码文件的覆盖率信息;基于所述文件id,获得所述覆盖率结果文件与上次聚合后结果文件的最新探针集合;对所述最新探针集合进行聚合比对,获得最新聚合结果文件。5.如权利要求1所述的方法,其中,所述生成所述待测试目标系统分支信息的第一覆盖率报告,包括:对所述编译后代码文件进行遍历分析,获得当前代码信息,其中,所述当前代码信息包
括所在程序包、类、方法;对所述当前代码信息和所述文件名进行hash计算,获得当前代码文件id;基于所述当前代码文件id、所述最新聚合结果文件,获得当前代码文件的覆盖率结果信息,所述覆盖率结果信息包括所述最新探针集合;基于第一计算逻辑,对所述当前代码文件的任一行代码的覆盖率进行计算,获得所述当前代码文件的行覆盖率;基于文件所在程序包,对任一代码文件的所述行覆盖率、所述方法以及所述覆盖率结果信息进行分类汇总,获得任一程序包的覆盖率数据;对所述任一程序包的覆盖率数据进行汇总,获得所述应用程序的全量代码覆盖率数据。6.如权利要求5所述的方法,其中,所述获得所述应用程序的全量代码覆盖率数据之后,包括:基于所述代码仓库的diff工具,对所述待测试目标系统分支信息的当前分支和主干分支进行代码对比,获得变动代码文件;对所述变动代码文件进行遍历分析,获得任一代码文件的包含方法;基于所述包含方法,对所述当前分支和所述主干分支的同一方法进行hash计算,获得第一计算结果;基于所述第一计算结果,获得所述同一方法的改动信息;基于所述同一方法的改动信息,筛选获得方法改动列表;根据所述全量代码覆盖率数据,获得所述方法改动列表中任一改动方法对应的覆盖率数据;对所述任一改动方法对应的覆盖率数据进行数据汇总,生成增量代码覆盖率数据,所述增量代码覆盖率数据包括:增量方法、增量方法所在类、增量方法所在包。7.如权利要求1所述的方法,其中,所述对所述第一覆盖率报告进行保存,包括:获得所述全量代码覆盖率数据的全量报告保存路径;获得所述增量代码覆盖率数据的增量报告保存路径;基于所述全量报告保存路径和所述增量报告保存路径,对新报告进行保存。8.一种方法级增量代码覆盖率获取系统,其中,所述系统包括:第一获得单元:所述第一获得单元用于获得待测试目标系统分支信息;第一接入单元:所述第一接入单元用于将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;第一加载单元:所述第一加载单元用于将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装置,获得后台程序代码运行信息;第一插桩单元:所述第一插桩单元用于根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;第一聚合单元:所述第一聚合单元用于基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第一聚合后结果文件;第二获得单元:所述第二获得单元用于基于代码仓库,获得下载源码信息;第一生成单元:所述第一生成单元用于根据所述下载源码信息和所述第一聚合后结果
文件,生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。9.一种方法级增量代码覆盖率获取系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。

技术总结
本发明公开了一种方法级增量代码覆盖率获取方法和装置,涉及软件测试领域,其中,所述方法包括:获得待测试目标系统分支信息;配置获得需接入系统模块、测试环境信息;并加载至所述覆盖率收集装置,获得后台程序代码运行信息;对应用程序进行插桩,生成代码执行记录文件;且进行分支聚合,获得第一聚合后结果文件;获得下载源码信息;生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。解决了现有技术中存在获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联,进而无法实现基于代码覆盖率分支准出的限制的技术问题。覆盖率分支准出的限制的技术问题。覆盖率分支准出的限制的技术问题。


技术研发人员:陈立芝
受保护的技术使用者:中信百信银行股份有限公司
技术研发日:2022.02.15
技术公布日:2022/5/17
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献