【技术实现步骤摘要】
一种覆盖率数据处理方法、装置、计算设备及可读存储介质
本专利技术涉及计算机
,尤其涉及一种覆盖率数据处理方法、装置、计算设备及可读存储介质。
技术介绍
开发人员进行软件开发的过程中,需要对已经开发完成的代码进行测试,其中包括代码的覆盖率测试。代码覆盖(Codecoverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得到的比例称为代码覆盖率。代码覆盖率反映测试用例对被测软件覆盖程度的重要指标,是用来度量测试完整性的一个参考值,通过代码覆盖率数据可以评估测试是否充分。目前,通常获取到的是目标项目下相邻版本之间的增量覆盖率数据、或者某个版本的全量覆盖率数据。然而目标项目的开发过程中往往会快速迭代多个版本,单个版本的全量覆盖率数据或者相邻版本的增量覆盖率数据存在不够全面准确的问题。因此,迫切需要一种更先进的覆盖率数据处理方案。
技术实现思路
为此,本专利技术实施例提供一种覆盖率数据处理方法、装置、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的至少一个问题。< ...
【技术保护点】
1.一种覆盖率数据处理方法,包括:/n获取目标项目下当前版本的代码覆盖率数据;/n获取所述目标项目下相邻的先前版本的多版本代码覆盖率数据;/n比较所述当前版本与所述先前版本之间的代码差异;/n至少基于所述代码差异,确定所述当前版本与所述先前版本之间的代码行对应关系;以及/n基于所述代码行对应关系、所述先前版本的多版本代码覆盖率数据和所述当前版本的代码覆盖率数据,生成所述当前版本的多版本代码覆盖率数据。/n
【技术特征摘要】
1.一种覆盖率数据处理方法,包括:
获取目标项目下当前版本的代码覆盖率数据;
获取所述目标项目下相邻的先前版本的多版本代码覆盖率数据;
比较所述当前版本与所述先前版本之间的代码差异;
至少基于所述代码差异,确定所述当前版本与所述先前版本之间的代码行对应关系;以及
基于所述代码行对应关系、所述先前版本的多版本代码覆盖率数据和所述当前版本的代码覆盖率数据,生成所述当前版本的多版本代码覆盖率数据。
2.如权利要求1所述的方法,其中,确定所述当前版本与所述先前版本之间的所述代码行对应关系的步骤包括:
基于所述代码差异,更新所述目标项目对应的版本行号矩阵,所述版本行号矩阵可以指示所述目标项目下至少一个版本之间的代码行对应关系;
基于更新后的版本行号矩阵,确定所述当前版本与所述先前版本之间的所述代码行对应关系。
3.如权利要求2所述的方法,其中,所述行号对应矩阵的元素包括所述目标项目下各版本包括的代码行的行号,所述版本行号矩阵的各列向量对应于所述目标项目的各版本,相邻版本中具有对应关系的代码行的行号位于所述行号对应矩阵的同一行。
4.如权利要求2所述的方法,其中,更新所述目标项目对应的版本行号矩阵的步骤包括:
在所述版本行号矩阵中新增对应于所述当前版本的列向量;
对新增的列向量的元素进行逐行遍历,并对遍历到的各行,
判断该行是否对应于所述代码差异记录的所述变动代码行;
如果该行不对应于变动代码行,则令该行元素的值等于所述先前版本对应列向量中的同行元素的值。
5.如权利要求4所述的方法,其中,更新所述目标项目对应的版本行号矩阵的步骤包括:
如果该行对应于变动代码行且所述变动标记为增加标记,则在该行与该行的上一行之间新增一行;
令所述当前版本的列向量在新增行的元素的值为所述变动代码行在所述当前版本中的行号,令其他列向量在新增行的元素的值为特定标记,令该列...
【专利技术属性】
技术研发人员:王公瑾,
申请(专利权)人:北京齐尔布莱特科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。