多版本变更代码覆盖率叠加统计方法、电子设备及介质技术

技术编号:37817309 阅读:16 留言:0更新日期:2023-06-09 09:48
本申请公开了一种多版本变更代码覆盖率叠加统计方法、电子设备及介质。该方法可以包括:获取每个测试版本的代码版本号以及覆盖数据,包括最初版本、最终版本以及中间迭代版本;获取中间迭代版本的有效变更代码行及覆盖数据;得到迭代过程中所有中间迭代版本的变更代码对应最终版本的行号及覆盖数据;根据最终版本的测试覆盖数据,得到迭代过程中最终版本相较于最初版本的所有变更代码的测试覆盖数据的统计情况。本发明专利技术精准统计整个迭代测试过程中对于最终版本相较于最初版本所有变更代码的覆盖数据,辅助评估整个迭代变更代码测试覆盖情况。盖情况。盖情况。

【技术实现步骤摘要】
多版本变更代码覆盖率叠加统计方法、电子设备及介质


[0001]本专利技术涉及计算机
,更具体地,涉及一种多版本变更代码覆盖率叠加统计方法、电子设备及介质。

技术介绍

[0002]覆盖率作为度量测试完整性的一个手段,通过现有的覆盖率统计工具,可以有效的全量统计每一个迭代版本的测试覆盖情况。但是这样的全量的量化覆盖数据仍然无法评估整个迭代过程中变更代码的具体测试情况,需要更精准的了解在整个迭代过程中测试对于变更代码的覆盖情况。
[0003]因此,有必要开发一种多版本变更代码覆盖率叠加统计方法、电子设备及介质。
[0004]公开于本专利技术
技术介绍
部分的信息仅仅旨在加深对本专利技术的一般
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

技术实现思路

[0005]本专利技术提出了一种多版本变更代码覆盖率叠加统计方法、电子设备及介质,精准统计整个迭代测试过程中对于最终版本相较于最初版本所有变更代码的覆盖数据,辅助评估整个迭代变更代码测试覆盖情况。
[0006]第一方面,本公开实施例提供了一种多版本变更代码覆盖率叠加统计方法,包括:
[0007]获取每个测试版本的代码版本号以及覆盖数据,包括最初版本、最终版本以及中间迭代版本;
[0008]获取所述中间迭代版本的有效变更代码行及覆盖数据;
[0009]得到迭代过程中所有中间迭代版本的变更代码对应所述最终版本的行号及覆盖数据;
[0010]根据所述最终版本的测试覆盖数据,得到迭代过程中所述最终版本相较于所述最初版本的所有变更代码的测试覆盖数据的统计情况。
[0011]优选地,获取所述中间迭代版本的有效变更代码行及覆盖数据包括:
[0012]以所述中间迭代版本为基准,获取所述最初版本和所述最终版本相较于所述中间迭代版本变更的代码信息;
[0013]根据所述变更的代码信息与所述中间迭代版本的覆盖数据,再次筛选已测试覆盖部分。
[0014]优选地,采用map存放变更的代码信息,其中,mapA记录所述中间迭代版本与所述最初版本的变更代码信息,key为所述中间迭代版本的变更文件名,value是list类型用于记录所述中间迭代版本的变更代码的行号,mapB记录所述中间迭代版本与所述最终版本的变更代码信息。
[0015]优选地,若所述中间迭代版本存在相较于所述最初版本变更但相较于所述最终版
本未变更部分,该情况属于所述中间迭代版本较所述最终版本没有变更代码,即所述中间迭代版本的覆盖数据为有效,即mapA和mapB在key相同时,轮询mapA的list,当变更代码的行号不存在于mapB的list时则记录该行号。
[0016]优选地,若所述中间迭代版本存在相较于所述最初版本和所述最终版本都变更部分,该情况属于所述中间迭代版本较所述最终版本发生变更,即所述中间迭代版本的覆盖数据无效,应以所述最终版本的覆盖数据为准,即mapA和mapB在key相同时,轮询mapA的list,当变更代码的行号存在于mapB的list时无需统计。
[0017]优选地,得到迭代过程中所有中间迭代版本的变更代码对应所述最终版本的行号及覆盖数据包括:
[0018]若所述中间迭代版本与所述最终版本之间无变更,则list无需更新。
[0019]优选地,得到迭代过程中所有中间迭代版本的变更代码对应所述最终版本的行号及覆盖数据包括:
[0020]若所述中间迭代版本与所述最终版本之间发生变更,将代码文件以变更行为分割进行区块划分解析文件,匹配到对应的行号,更新list。
[0021]优选地,还包括:
[0022]根据所述统计情况,获得整个迭代过程中的变更代码覆盖率。
[0023]作为本公开实施例的一种具体实现方式,
[0024]第二方面,本公开实施例还提供了一种电子设备,该电子设备包括:
[0025]存储器,存储有可执行指令;
[0026]处理器,所述处理器运行所述存储器中的所述可执行指令,以实现所述的多版本变更代码覆盖率叠加统计方法。
[0027]第三方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现所述的多版本变更代码覆盖率叠加统计方法。
[0028]本专利技术的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本专利技术的特定原理。
附图说明
[0029]通过结合附图对本专利技术示例性实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本专利技术示例性实施例中,相同的参考标号通常代表相同部件。
[0030]图1示出了根据本专利技术的多版本变更代码覆盖率叠加统计方法的步骤的流程图。
[0031]图2示出了根据本专利技术的一个实施例的多版本变更代码覆盖率叠加统计方法的步骤的流程图。
具体实施方式
[0032]下面将更详细地描述本专利技术的优选实施方式。虽然以下描述了本专利技术的优选实施方式,然而应该理解,可以以各种形式实现本专利技术而不应被这里阐述的实施方式所限制。
[0033]为便于理解本专利技术实施例的方案及其效果,以下给出三个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本专利技术,其任何具体细节并非意在以任何方式限制本专利技术。
[0034]实施例1
[0035]图1示出了根据本专利技术的多版本变更代码覆盖率叠加统计方法的步骤的流程图。
[0036]如图1所示,该多版本变更代码覆盖率叠加统计方法包括:步骤101,获取每个测试版本的代码版本号以及覆盖数据,包括最初版本、最终版本以及中间迭代版本;步骤102,获取中间迭代版本的有效变更代码行及覆盖数据;步骤103,得到迭代过程中所有中间迭代版本的变更代码对应最终版本的行号及覆盖数据;步骤104,根据最终版本的测试覆盖数据,得到迭代过程中最终版本相较于最初版本的所有变更代码的测试覆盖数据的统计情况。
[0037]在一个示例中,获取中间迭代版本的有效变更代码行及覆盖数据包括:
[0038]以中间迭代版本为基准,获取最初版本和最终版本相较于中间迭代版本变更的代码信息;
[0039]根据变更的代码信息与中间迭代版本的覆盖数据,再次筛选已测试覆盖部分。
[0040]在一个示例中,采用map存放变更的代码信息,其中,mapA记录中间迭代版本与最初版本的变更代码信息,key为中间迭代版本的变更文件名,value是list类型用于记录中间迭代版本的变更代码的行号,mapB记录中间迭代版本与最终版本的变更代码信息。
[0041]在一个示例中,若中间迭代版本存在相较于最初版本变更但相较于最终版本未变更部分,该情况属于中间迭代版本较最终版本没有变更代码,即中间迭本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多版本变更代码覆盖率叠加统计方法,其特征在于,包括:获取每个测试版本的代码版本号以及覆盖数据,包括最初版本、最终版本以及中间迭代版本;获取所述中间迭代版本的有效变更代码行及覆盖数据;得到迭代过程中所有中间迭代版本的变更代码对应所述最终版本的行号及覆盖数据;根据所述最终版本的测试覆盖数据,得到迭代过程中所述最终版本相较于所述最初版本的所有变更代码的测试覆盖数据的统计情况。2.根据权利要求1所述的多版本变更代码覆盖率叠加统计方法,其中,获取所述中间迭代版本的有效变更代码行及覆盖数据包括:以所述中间迭代版本为基准,获取所述最初版本和所述最终版本相较于所述中间迭代版本变更的代码信息;根据所述变更的代码信息与所述中间迭代版本的覆盖数据,再次筛选已测试覆盖部分。3.根据权利要求2所述的多版本变更代码覆盖率叠加统计方法,其中,采用map存放变更的代码信息,其中,mapA记录所述中间迭代版本与所述最初版本的变更代码信息,key为所述中间迭代版本的变更文件名,value是list类型用于记录所述中间迭代版本的变更代码的行号,mapB记录所述中间迭代版本与所述最终版本的变更代码信息。4.根据权利要求3所述的多版本变更代码覆盖率叠加统计方法,其中,若所述中间迭代版本存在相较于所述最初版本变更但相较于所述最终版本未变更部分,该情况属于所述中间迭代版本较所述最终版本没有变更代码,即所述中间迭代版本的覆盖数据为有效,即mapA和mapB在key相同时,轮询mapA的list,当变更代码的行号不存在于mapB的list时则记录该行号。5.根据权利要求3所述的多版本变更代...

【专利技术属性】
技术研发人员:陶自然陈晓东杨云妹
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

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

1