CN114721926B 一种检测代码覆盖率的方法、装置、设备及存储介质 (腾讯科技(深圳)有限公司).docxVIP

  • 0
  • 0
  • 约2.26万字
  • 约 41页
  • 2026-01-17 发布于重庆
  • 举报

CN114721926B 一种检测代码覆盖率的方法、装置、设备及存储介质 (腾讯科技(深圳)有限公司).docx

(19)国家知识产权局

(12)发明专利

(10)授权公告号CN114721926B(45)授权公告日2025.07.08

(21)申请号202110001899.9(56)对比文件

(22)申请日2021.01.04CN111078578A,2020.04.28CN103365771A,2013.10.23

(65)同一申请的已公布的文献号

申请公布号CN114721926A审查员吴银娥

(43)申请公布日2022.07.08

(73)专利权人腾讯科技(深圳)有限公司

地址518044广东省深圳市南山区高新区

科技中一路腾讯大厦35层

(72)发明人梁颖霖

(74)专利代理机构北京同达信恒知识产权代理有限公司11291

专利代理师李娟(51Int.CL.

GO6F11/3668(2025.01)

权利要求书2页说明书12页附图8页

(54)发明名称

一种检测代码覆盖率的方法、装置、设备及存储介质

(57)摘要

CN114721926B本申请实施例提供了一种检测代码覆盖率的方法、装置、设备及存储介质,涉及计算机技术领域,该方法具体为:对测试对象关联的各个源代码文件分别进行编译,获得各个源代码文件各自对应的代码覆盖信息文件。然后将获得的各个代码覆盖信息文件划分为多个文件集合,并行从多个文件集合包含的各个代码覆盖信息文件中提取相应的代码覆盖信息。之后再基于获得的各个代码覆盖信息,确定测试对象的代码覆盖率。通过对各个代码覆盖信息文件分组并行处理,能有效提高提取代码覆盖信息速度。进一步地,基于并行从各个文件集合中提取的代码覆盖信息,

CN114721926B

开始

开始

对测试对象关联的各个源代码文件分别进行编译,获得各个源代码文件各自对应的代码覆盖信息文件

将获得的各个代码覆盖信息文件划分为多个文件集合202

并行从多个文件集合包含的各个代码覆盖信息文件中提取相203应的代码覆盖信息

基于获得的各个代码覆盖信息,确定测试对象的代码覆盖车

结束

CN114721926B权利要求书1/2页

2

1.一种检测代码覆盖率的方法,其特征在于,包括:

对测试对象关联的各个源代码文件分别进行编译,获得所述各个源代码文件各自对应的代码覆盖信息文件;

将获得的各个代码覆盖信息文件划分为多个文件集合;

采用并发的Gcov4并行从所述多个文件集合包含的各个代码覆盖信息文件中提取相应的代码覆盖信息,并将所述代码覆盖信息缓存在内存中;所述Gcov4是采用以下方式获得的:从lcov源码中抽离出Gcov工具,并对Gcov工具进行相应的修改,以去除lcov提取代码覆盖信息生成中间文件的过程,获得所述Gcov4;

基于缓存的各个代码覆盖信息,确定所述测试对象的代码覆盖率。

2.如权利要求1所述的方法,其特征在于,所述并行从所述多个文件集合包含的各个代码覆盖信息文件中提取相应的代码覆盖信息,包括:

分别针对各个文件集合,并行执行以下操作:

针对一个文件集合,通过分别遍历所述一个文件集合包含的各个代码覆盖信息文件的执行链路,从各个代码覆盖信息文件中获取基本块信息和弧信息;

从获得的基本块信息和弧信息中提取代码覆盖信息。

3.如权利要求1~2任一所述的方法,其特征在于,所述基于缓存的各个代码覆盖信息,确定所述测试对象的代码覆盖率,包括:

将缓存的各个代码覆盖信息合并,获得所述测试对象对应的总代码覆盖信息;

根据所述测试对象对应的总代码覆盖信息,确定所述测试对象的代码覆盖率。

4.如权利要求3所述的方法,其特征在于,所述将缓存的各个代码覆盖信息进行合并,获得所述测试对象对应的总代码覆盖信息,包括:

针对一个文件集合,将从所述一个文件集合中的各个代码覆盖信息文件中获得的代码覆盖信息合并,获得所述一个文件集合对应的集合代码覆盖信息;

将各个文件集合对应的集合代码覆盖信息合并,获得所述测试对象对应的总代码覆盖信息。

5.如权利要求3所述的方法,其特征在于,所述测试对象对应的总代码覆盖信息中包括所述测试对象关联的各个源代码文件中被编译的总代码行数

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档