【技术实现步骤摘要】
本专利技术涉及计算机软件领域,具体而言,涉及一种代码测试覆盖率统计结果的确定方法及装置。
技术介绍
相关技术中,在测试中的代码覆盖率是指在运行测试用例过后,已经覆盖的代码行数,然后再采用已经覆盖的代码行数除以测试对象总体包含的代码行数即为本次测试的代码覆盖率。假设测试对象是一个函数,而这个函数总共拥有100行代码,当所有的测试用例执行完毕后,已经覆盖了60行代码,而还有40行的代码没有被覆盖到,那么这个函数的代码覆盖率便是60%。需要说明的是,上述示例中提到的代码行仅为一种较为常用的度量方式。下面将对常用的几种用于表示代码覆盖程度的度量方式进行介绍:1)语句覆盖(StatementCoverage)又被称为行覆盖(LineCoverage),段覆盖(SegmentCoverage),基本块覆盖(BasicBlockCoverage),此为最常用也是最常见的一种覆盖方式,其度量被测代码中每个可执行语句是否被执行到了。这里指的是“可执行语句”,因此,便不会包括如C++语言的头文件声明、代码注释、空行等。此种覆盖方式仅统计能够执行的代码已经被执行了多少行。需要注意的是,单独一行的花括号{
【技术保护点】
一种代码测试覆盖率统计结果的确定方法,其特征在于,包括:获取第一代码文件与第二代码文件之间的差异代码,其中,与所述第一代码文件对应的第一版本号的生成时间早于与所述第二代码文件对应的第二版本号的生成时间;对所述第二代码文件进行代码测试覆盖率统计,得到覆盖率统计结果;根据所述差异代码与所述覆盖率统计结果从所述覆盖率统计结果中确定与所述差异代码对应的部分覆盖率统计结果。
【技术特征摘要】 【专利技术属性】
1.一种代码测试覆盖率统计结果的确定方法,其特征在于,包括:
获取第一代码文件与第二代码文件之间的差异代码,其中,与所述第一代码
文件对应的第一版本号的生成时间早于与所述第二代码文件对应的第二版本号的
生成时间;
对所述第二代码文件进行代码测试覆盖率统计,得到覆盖率统计结果;
根据所述差异代码与所述覆盖率统计结果从所述覆盖率统计结果中确定与所
述差异代码对应的部分覆盖率统计结果。
2.根据权利要求1所述的方法,其特征在于,在获取所述第一代码文件与所述第二
代码文件之间的所述差异代码之前,还包括:
在第一时刻确定将初始代码文件更新为所述第一代码文件,生成所述第一版
本号;
在第二时刻确定将所述第一代码文件更新为所述第二代码文件,生成所述第
二版本号,其中,所述第二时刻晚于所述第一时刻。
3.根据权利要求1所述的方法,其特征在于,获取所述第一代码文件与所述第二代
码文件之间的所述差异代码包括:
通过版本管理工具查询所述第一版本号和所述第二版本号;
根据所述第一版本号获取所述第一代码文件以及根据所述第二版本号获取所
述第二代码文件;
采用所述版本管理工具将所述第一代码文件与所述第二代码文件进行比对,
确定所述差异代码。
4.根据权利要求3所述的方法,其特征在于,采用所述版本管理工具将所述第一代
码文件与所述第二代码文件进行比对,确定所述差异代码包括:
通过所述版本管理工具将所述第一代码文件与所述第二代码文件进行比对,
获取所述差异代码在所述第二代码文件中分布的位置信息;
根据所述位置信息从所述第二代码文件中提取所述差异代码。
5.根据权利要求4所述的方法,其特征在于,根据所述差异代码与所述覆盖率统计
\t结果从所述覆盖率统计结果中确定与所述差异代码对应的部分覆盖率统计结果包
括:
根据所述覆盖率统计结果获取在所述差异代码中已经被覆盖的第一部分代码
以及未被覆盖的第二部分代码;
通过所述第一部分代码和/或所述第二部分代码占据所述差异代码的比例确
定所述部分覆盖率统计结果。
6.根据权利要求5所述的方法,其特征在于,在根据所述差异代码与所述覆盖率统
计结果从所述覆盖率统计结果中确定与所述差异代码对应的部分覆盖率统计结果
之后,还包括:
按照所述覆盖率统计结果对待显示的代码进行分类,其中,所述待显示的代
码包括:所述差异代码以及所述差异代码的上下文关联代码,所述上下文关联代
码包括:已经被覆盖的第三部分代码和/或未被覆盖的第四部分代码;
技术研发人员:付翔,戴俊,刘欣,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。