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

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

【技术实现步骤摘要】
一种检测代码覆盖率的方法、装置、设备及存储介质


[0001]本专利技术实施例涉及计算机
,尤其涉及一种检测代码覆盖率的方法、装置、设备及存储介质。

技术介绍

[0002]在软件开发的过程中,代码覆盖率是度量开发完整性的一个手段。通过测试代码覆盖率可以知道未覆盖部分的代码。通过分析未覆盖部分的代码,从而反推前期代码设计是否充分,还可以检测出程序中的无用代码,反推在代码设计中思维混乱之处,从而提醒开发人员注意代码相关逻辑关系。相关技术在检测代码覆盖率时速度较慢,进而影响了后续测试结果反馈以及分析代码的流程,从而影响测试的整体性能。

技术实现思路

[0003]本申请实施例提供了一种检测代码覆盖率的方法、装置、设备及存储介质,用于提高检测代码覆盖率的速度。
[0004]一方面,本申请实施例提供了一种检测代码覆盖率的方法,该方法包括:
[0005]对测试对象关联的各个源代码文件分别进行编译,获得所述各个源代码文件各自对应的代码覆盖信息文件;
[0006]将获得的各个代码覆盖信息文件划分为多个文件集合;
...

【技术保护点】

【技术特征摘要】
1.一种检测代码覆盖率的方法,其特征在于,包括:对测试对象关联的各个源代码文件分别进行编译,获得所述各个源代码文件各自对应的代码覆盖信息文件;将获得的各个代码覆盖信息文件划分为多个文件集合;并行从所述多个文件集合包含的各个代码覆盖信息文件中提取相应的代码覆盖信息;基于获得的各个代码覆盖信息,确定所述测试对象的代码覆盖率。2.如权利要求1所述的方法,其特征在于,所述并行从所述多个文件集合包含的各个代码覆盖信息文件中提取相应的代码覆盖信息,包括:分别针对各个文件集合,并行执行以下操作:针对一个文件集合,通过分别遍历所述一个文件集合包含的各个代码覆盖信息文件的执行链路,从各个代码覆盖信息文件中获取基本块信息和弧信息;从获得的基本块信息和弧信息中提取代码覆盖信息。3.如权利要求1~2任一所述的方法,其特征在于,所述基于获得的各个代码覆盖信息,确定所述测试对象的代码覆盖率,包括:将获得的各个代码覆盖信息合并,获得所述测试对象对应的总代码覆盖信息;根据所述测试对象对应的总代码覆盖信息,确定所述测试对象的代码覆盖率。4.如权利要求3所述的方法,其特征在于,所述将获得的各个代码覆盖信息进行合并,获得所述测试对象对应的总代码覆盖信息,包括:针对一个文件集合,将从所述一个文件集合中的各个代码覆盖信息文件中获得的代码覆盖信息合并,获得所述一个文件集合对应的集合代码覆盖信息;将各个文件集合对应的集合代码覆盖信息合并,获得所述测试对象对应的总代码覆盖信息。5.如权利要求3所述的方法,其特征在于,所述测试对象对应的总代码覆盖信息中包括所述测试对象关联的各个源代码文件中被编译的总代码行数和被执行的总代码行数;所述根据所述测试对象对应的总代码覆盖信息,确定所述测试对象的代码覆盖率,包括:将所述测试对象关联的各个源代码文件中被执行的总代码行数与所述测试对象关联的各个源代码文件中被编译的总代码行数的比值,作为所述测试对象的代码覆盖率。6.如权利要求3所述的方法,其特征在于,所述将获得的各个代码覆盖信息文件划分为多个文件集合,包括:按照代码覆盖信息文件对应的源代码文件的类型,将获得的各个代码覆盖信息文件划分为多个文件集合。7.一种检测代码覆盖率的装置,其特征在于,包括:编译模块,用于对测试对象关联的各个源...

【专利技术属性】
技术研发人员:梁颖霖
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1