一种方法级增量代码覆盖率获取方法和装置制造方法及图纸

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

【技术实现步骤摘要】
一种方法级增量代码覆盖率获取方法和装置


[0001]本专利技术涉及软件测试领域,具体地,涉及一种方法级增量代码覆盖率获取方法和装置。

技术介绍

[0002]在分支开发分支发布模式下,我们最关心的是当前即将发布上线的分支的代码覆盖率情况,而当前技术获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联。
[0003]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0004]现有技术中存在获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联,进而无法实现基于代码覆盖率分支准出的限制的技术问题。

技术实现思路

[0005]针对现有技术中的缺陷,本申请实施例的目的是,通过提供一种方法级增量代码覆盖率获取方法和装置,解决了现有技术中存在获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联,进而无法实现基于代码覆盖率分支准出的限制的技术问题。通过在分支开发分支发布模式下,通过获取发布分支的增量代码覆盖率,帮助研发测试人员来衡量对本次发布分支的改动点的测试情况。并基于代码覆盖率情况,有针对性的设计和补充测试用例,达到了提高发布分支测试质量,有效避免因漏测引发的生产问题的技术效果。
[0006]一方面,本申请实施例提供一种方法级增量代码覆盖率获取方法,其中,所述方法应用于增量代码覆盖率获取装置,且所述装置包括接入配置装置、覆盖率收集装置以及报告生成装置,所述方法包括:获得待测试目标系统分支信息;将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装置,获得后台程序代码运行信息;根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第一聚合后结果文件;基于代码仓库,获得下载源码信息;根据所述下载源码信息和所述第一聚合后结果文件,生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。
[0007]另一方面,本申请还提供了一种方法级增量代码覆盖率获取系统,其中,所述系统包括:第一获得单元:所述第一获得单元用于获得待测试目标系统分支信息;第一接入单元:所述第一接入单元用于将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;第一加载单元:所述第一加载单元用于将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装
置,获得后台程序代码运行信息;第一插桩单元:所述第一插桩单元用于根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;第一聚合单元:所述第一聚合单元用于基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第一聚合后结果文件;第二获得单元:所述第二获得单元用于基于代码仓库,获得下载源码信息;第一生成单元:所述第一生成单元用于根据所述下载源码信息和所述第一聚合后结果文件,生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。
[0008]第三方面,本申请实施例提供了一种方法级增量代码覆盖率获取系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
[0009]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0010]通过在分支开发分支发布模式下,通过获取发布分支的增量代码覆盖率,帮助研发测试人员来衡量对本次发布分支的改动点的测试情况。并基于代码覆盖率情况,有针对性的设计和补充测试用例,达到了提高发布分支测试质量,有效避免因漏测引发的生产问题的技术效果。
[0011]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0012]通过阅读参照以下附图对非限制性实施例所做的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0013]图1为本申请实施例一种方法级增量代码覆盖率获取方法的流程示意图;
[0014]图2为本申请实施例一种方法级增量代码覆盖率获取方法的根据所述后台程序代码运行信息,对应用程序进行插桩的流程示意图;
[0015]图3为本申请实施例一种方法级增量代码覆盖率获取方法的生成所述待测试目标系统分支信息的第一覆盖率报告的流程示意图;
[0016]图4为本申请实施例一种方法级增量代码覆盖率获取方法的获得所述应用程序的全量代码覆盖率数据之后的流程示意图;
[0017]图5为本申请实施例一种方法级增量代码覆盖率获取系统的结构示意图;
[0018]图6为本申请实施例示例性电子设备的结构示意图。
具体实施方式
[0019]本申请实施例通过提供一种方法级增量代码覆盖率获取方法和装置,解决了现有技术中存在获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联,进而无法实现基于代码覆盖率分支准出的限制的技术问题。通过在分支开发分支发布模式下,通过获取发布分支的增量代码覆盖率,帮助研发测试人员来衡量对本次发布分支的改动点的测试情况。并基于代码覆盖率情况,有针对性的设计和补充测试用例,达到了提高发布分支测试质量,有效避免因漏测引发的生产问题的技术效果。
[0020]下面,将参考附图详细的描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
[0021]申请概述
[0022]在分支开发分支发布模式下,我们最关心的是当前即将发布上线的分支的代码覆盖率情况,而当前技术获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联。现有技术中存在获取的代码覆盖率仅针对于部署模块而言,无法与研发流程的分支信息进行关联,进而无法实现基于代码覆盖率分支准出的限制的技术问题。
[0023]针对上述技术问题,本申请提供的技术方案总体思路如下:
[0024]本申请实施例提供一种方法级增量代码覆盖率获取方法,其中,所述方法应用于增量代码覆盖率获取装置,且所述装置包括接入配置装置、覆盖率收集装置以及报告生成装置,所述方法包括:获得待测试目标系统分支信息;将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装置,获得后台程序代码运行信息;根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法级增量代码覆盖率获取方法,其中,所述方法应用于增量代码覆盖率获取装置,且所述装置包括接入配置装置、覆盖率收集装置以及报告生成装置,所述方法包括:获得待测试目标系统分支信息;将所述待测试目标系统分支信息接入所述接入配置装置,配置获得所述待测试目标系统分支信息的需接入系统模块、测试环境信息;将所述需接入系统模块、所述测试环境信息加载至所述覆盖率收集装置,获得后台程序代码运行信息;根据所述后台程序代码运行信息,对应用程序进行插桩,生成代码执行记录文件;基于所述报告生成装置,对所述代码执行记录文件进行分支聚合,获得第一聚合后结果文件;基于代码仓库,获得下载源码信息;根据所述下载源码信息和所述第一聚合后结果文件,生成所述待测试目标系统分支信息的第一覆盖率报告,并对所述第一覆盖率报告进行保存。2.如权利要求1所述的方法,其中,所述将所述待测试目标系统分支信息接入所述接入配置装置,包括:基于ssh方式,将所述覆盖率收集装置推送至所述需接入系统模块所要接入的所述测试环境信息的服务器,且对所述需接入系统模块的启动脚本进行修改,获得修改后启动脚本;根据所述修改后启动脚本,对所述需接入系统模块进行重启,并获得第一重启结果;将所述第一重启结果反馈至测试用户。3.如权利要求1所述的方法,其中,所述根据所述后台程序代码运行信息,对应用程序进行插桩,包括:基于所述后台程序代码运行信息,确定所述应用程序的编译后代码文件;对所述编译后代码文件的任一可执行语句前,注入执行探针,生成第一语句执行结果标记信息;对任一所述编译后代码文件的全局,注入覆盖率信息变量date,生成对应的代码文件,其中,所述代码文件中包括文件ID、文件名以及探针集合;基于所述第一语句执行结果标记信息和所述对应的代码文件,生成覆盖率结果文件,且进行保存;对所述服务器的部署记录文件进行读取,获得所述应用程序的部署分支环境信息;将所述覆盖率结果文件、所述部署分支环境信息以及所述编译后代码文件,发送至所述报告生成装置,并进行保存。4.如权利要求1所述的方法,其中,所述对所述代码执行记录文件进行分支聚合,包括:对所述覆盖率结果文件进行依次遍历分析,生成所述代码文件的覆盖率信息;基于所述文件ID,获得所述覆盖率结果文件与上次聚合后结果文件的最新探针集合;对所述最新探针集合进行聚合比对,获得最新聚合结果文件。5.如权利要求1所述的方法,其中,所述生成所述待测试目标系统分支信息的第一覆盖率报告,包括:对所述编译后代码文件进行遍历分析,获得当前代码信息,其中,所述当前代码信息包
括所在程序包、类、方法;对所述当前代码信息和所述文件名进行Hash计算,获得当前代码文件ID;基于所述当前代码文件ID、所述最新聚合结果文件,获得当前代码文件的覆盖...

【专利技术属性】
技术研发人员:陈立芝
申请(专利权)人:中信百信银行股份有限公司
类型:发明
国别省市:

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

1