代码覆盖率采集方法、装置以及设备与流程

文档序号:33946616发布日期:2023-04-26 08:24阅读:79来源:国知局
代码覆盖率采集方法、装置以及设备与流程

本公开涉及人工智能领域,具体涉及云计算、云原生技术,可应用在智能云场景下。


背景技术:

1、代码覆盖是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。代码覆盖率反映测试用例对被测软件覆盖程度的重要指标,是用来度量测试完整性的一个参考值,通过代码覆盖率数据可以评估测试是否充分。

2、现有的技术是使用jacoco等覆盖率工具收集测试覆盖率。目前,常用的代码覆盖率采集的插桩方式主要包括以下两种:其一,通过修改docker镜像的方式,添加jacoco的javaagent,实现插桩;其二,通过修改docker的docker-compose.yaml文件,添加jacoco的javaagent,实现插桩。其中,jacoco的英文全称为java code coverage library,是一种java代码覆盖率工具。docker是一个开源的应用容器引擎。javaagent是java命令的一个参数。docker-compose.yaml是一个yaml格式的模板文件。


技术实现思路

1、本公开实施例提出了一种代码覆盖率采集方法、装置、设备、存储介质以及程序产品。

2、第一方面,本公开实施例提出了一种代码覆盖率采集方法,包括:接收用户输入的动态参数;基于动态参数进行覆盖率插桩;基于动态参数进行覆盖率统计,生成覆盖率报告。

3、第二方面,本公开实施例提出了一种代码覆盖率采集装置,包括:接收模块,被配置成接收用户输入的动态参数;插桩模块,被配置成基于动态参数进行覆盖率插桩;统计模块,被配置成基于动态参数进行覆盖率统计,生成覆盖率报告。

4、第三方面,本公开实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。

5、第四方面,本公开实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。

6、第五方面,本公开实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。

7、本公开实施例提供的代码覆盖率采集方法,在k8s分布式环境下基于jacoco实现了对java容器化应用无感知式全自动化代码覆盖率采集。

8、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。



技术特征:

1.一种代码覆盖率采集方法,包括:

2.根据权利要求1所述的方法,其中,所述动态参数包括:集群登录信息、代码库信息、分支信息、提交标识信息、服务类型、服务进程标志、压缩包在容器内路径、容器内启动脚本路径、源码包相对工程根目录路径、不进行覆盖率统计的文件、扫描包范围、代理通信端口和项目版本信息。

3.根据权利要求2所述的方法,其中,所述基于所述动态参数进行覆盖率插桩,包括:

4.根据权利要求3所述的方法,其中,所述基于所述动态参数进行覆盖率统计,生成覆盖率报告,包括:

5.根据权利要求4所述的方法,其中,所述覆盖率文件脚本是在各个节点上定时执行的;以及

6.根据权利要求1-5中任一项所述的方法,其中,所述方法还包括:

7.一种代码覆盖率采集装置,包括:

8.根据权利要求7所述的装置,其中,所述动态参数包括:集群登录信息、代码库信息、分支信息、提交标识信息、服务类型、服务进程标志、压缩包在容器内路径、容器内启动脚本路径、源码包相对工程根目录路径、不进行覆盖率统计的文件、扫描包范围、代理通信端口和项目版本信息。

9.根据权利要求8所述的装置,其中,所述插桩模块进一步被配置成:

10.根据权利要求9所述的装置,其中,所述统计模块进一步被配置成:

11.根据权利要求10所述的装置,其中,所述覆盖率文件脚本是在各个节点上定时执行的;以及

12.根据权利要求7-11中任一项所述的装置,其中,所述装置还包括:

13.一种电子设备,包括:

14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。

15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。


技术总结
本公开提供了一种代码覆盖率采集方法、装置以及设备,涉及人工智能领域,具体涉及云计算、云原生技术,可应用在智能云场景下。该方法的一具体实施方式包括:接收用户输入的动态参数;基于动态参数进行覆盖率插桩;基于动态参数进行覆盖率统计,生成覆盖率报告。该实施方式实现了无感知式的代码覆盖率自动采集。

技术研发人员:林韦妍
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1