[发明专利]代码覆盖率计算方法、装置、设备和介质在审
申请号: | 202210122768.0 | 申请日: | 2022-02-09 |
公开(公告)号: | CN116610551A | 公开(公告)日: | 2023-08-18 |
发明(设计)人: | 巴源 | 申请(专利权)人: | 广州视臻信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市明日今典知识产权代理事务所(普通合伙) 44343 | 代理人: | 王杰辉;曹勇 |
地址: | 510663 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 计算方法 装置 设备 介质 | ||
1.一种代码覆盖率计算方法,其中,包括:
获取目标软件的第一版本对应的第一覆盖率数据,以及第二版本对应的第二覆盖率数据,其中,所述第一版本为历史版本,所述第二版本为所述历史版本更新得到的版本;
根据所述第一覆盖率数据计算所述第一版本的行覆盖信息;
根据所述第一版本对应的版本信息和所述第二版本对应的版本信息,计算所述第一版本和所述第二版本之间的代码差异;
根据所述行覆盖信息和所述代码差异得到所述第一覆盖率数据和所述第二覆盖率数据的累积方式,根据所述累积方式将所述第一覆盖率数据叠加至所述第二覆盖率数据中,得到所述目标软件的当前累积覆盖率数据。
2.根据权利要求1所述的代码覆盖率计算方法,其中,所述第一版本的行覆盖信息包括第一映射数组,所述根据所述第一覆盖率数据计算所述第一版本的行覆盖信息,包括:
遍历所述第一覆盖率数据,识别所述第一覆盖数据中的第一覆盖行;
将所述第一覆盖行添加至所述第一映射数组中,得到所述行覆盖信息。
3.根据权利要求2所述的代码覆盖率计算方法,其中,所述将所述第一覆盖行添加至映射数组中,包括:
当所述第一覆盖率数据中的存在未被访问的第一包元素时,访问所述第一覆盖率数据中的第一包元素,若所述第一包元素中存在第一源文件元素,提取所述第一源文件元素的第一路径属性,并将所述第一路径属性作为所述第一映射数组的键;
将所述第一源文件元素中的所述第一覆盖行,添加至所述第一映射数组中,作为所述第一映射数组的第一映射值。
4.根据权利要求3所述的代码覆盖率计算方法,其中,所述根据所述行覆盖信息和所述代码差异得到所述第一覆盖率数据和所述第二覆盖率数据的累积方式,根据所述累积方式将所述第一覆盖率数据叠加至所述第二覆盖率数据中,得到所述目标软件的当前累积覆盖率数据,包括:
当所述第二覆盖率数据中的存在未被访问的第二包元素时,访问所述第二覆盖率数据中的第二包元素,若所述第二包元素中存在第二源文件元素,判断所述第二源文件元素的第二路径属性是否属于所述第一映射数组;
若所述第二路径属性属于所述第一映射数组,判断所述第二路径属性是否属于所述代码差异,若属于,则进行第一代码覆盖累积,若不属于,则进行第二代码覆盖累积;
若所述第二路径属性不属于所述第一映射数组,则进行第一代码新增累积;
当所述第二覆盖率数据中的不存在未被访问的第二包元素时,存储已累积的覆盖结果,得到所述目标软件的当前累积覆盖率数据。
5.根据权利要求4所述的代码覆盖率计算方法,其中,所述进行第一代码覆盖累积,包括:
当所述第二源文件元素中存在未被访问的第二行元素时,判断所述第二行元素是否为新增的行元素;
若所述第二行元素不为所述新增的行元素,通过所述第一映射数组判断所述第二行元素是否为所述第一覆盖行,若是,累积所述第二行元素在所述第一版本下的第一覆盖信息,若否,累积所述第二行元素在所述第二版本下的第二覆盖信息;
若所述第二行元素为所述新增的行元素,累积所述第二行元素的第三覆盖信息。
6.根据权利要求4所述的代码覆盖率计算方法,其中,所述进行第二代码覆盖累积,包括:
当所述第二源文件元素中存在未被访问的第二行元素时,通过所述第一映射数组判断所述第二行元素是否为所述第一覆盖行;
若是,累积所述第二行元素在所述第一版本下的第一覆盖信息;
若否,累积所述第二行元素在所述第二版本下的第二覆盖信息。
7.根据权利要求4所述的代码覆盖率计算方法,其中,所述进行第一代码新增累积,包括:
判断所述第二源文件元素中是否存在未被访问的第二行元素;
若是,累积所述第二行元素的第三覆盖信息;
若否,结束累积。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州视臻信息科技有限公司,未经广州视臻信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210122768.0/1.html,转载请声明来源钻瓜专利网。