[发明专利]一种代码覆盖率的统计方法、装置、存储介质及设备在审
申请号: | 202210704980.8 | 申请日: | 2022-06-21 |
公开(公告)号: | CN114968814A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 沈超楠;汪佳佳 | 申请(专利权)人: | 拉扎斯网络科技(上海)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 王妍 |
地址: | 200333 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 覆盖率 统计 方法 装置 存储 介质 设备 | ||
1.一种代码覆盖率的统计方法,其特征在于,所述方法包括:
S101:获取当次应用程序迭代的第一个测试包与所述预置基准包的第一合并代码覆盖行信息;
S102:将当次应用程序迭代的第一个测试包确定为第一目标测试包,将当次应用程序迭代的第二个测试包确定为第二目标测试包,以及将所述第一合并代码覆盖行信息确定为第一历史合并代码覆盖行信息;
S103:确定所述第二目标测试包相较于所述第一目标测试包的第一变更代码行信息及所述第二目标测试包的代码覆盖行信息;
S104:将所述第一历史合并代码覆盖行信息与所述第一变更代码行信息进行映射,得到第一临时代码覆盖行信息;
S105:将所述第一临时代码覆盖行信息与所述第二目标测试包的代码覆盖行信息进行合并,得到第二合并代码覆盖行信息;
S106:将当次应用程序迭代的第k1个测试包确定为新的第一目标测试包,将当次应用程序迭代的第k1+1个测试包确定为新的第二目标测试包,将所述第二合并代码覆盖行信息作为新的第一历史合并代码覆盖行信息,重复S103-S105的步骤,其中,k1依次取2至N1-1之间的正整数,N1为当次应用程序迭代的测试包的总数量;
S107:基于最终的第二合并代码覆盖行信息,得到N1个测试包的全量代码覆盖率。
2.根据权利要求1所述的方法,其特征在于,所述获取当次应用程序迭代的第一个测试包与预置基准包的第一合并代码覆盖行信息包括:
确定第一个测试包相较于预置基准包的第二变更代码行信息、预置基准包的代码覆盖行信息及第一个测试包的代码覆盖行信息;
将所述预置基准包的代码覆盖行信息与所述第二变更代码行信息进行映射,得到第二临时代码覆盖行信息;
将所述第二临时代码覆盖行信息与第一个测试包的代码覆盖行信息进行合并,得到第一合并代码覆盖行信息。
3.根据权利要求2所述的方法,其特征在于,所述确定第一个测试包相较于预置基准包的第二变更代码行信息包括:
将所述第一个测试包的源代码与所述预置基准包的源代码进行比对;
如果所述预置基准包不含有所述第一个测试包的第L1行的源代码,则将L1确定为新增行数,其中,所述L1为所述第一个测试包内的任一行;
如果所述第一个测试包不含有所述预置基准包的第L2行的源代码,则将L2确定为删除行数,其中,所述L2为所述预置基准包内的任一行;
如果所述预置基准包的第L2行在所述第一个测试包的第L3行的源代码,则将L2确定为初始行数,以及将L3确定为变更行数,其中,所述L3与L2不相等;
基于所述新增行数、删除行数、初始行数及对应的变更行数,得到第二变更代码行信息。
4.根据权利要求3所述的方法,其特征在于,所述预置基准包的代码覆盖行信息包括预置基准包的每行源代码所在的行数及对应的覆盖信息,所述将所述预置基准包的代码覆盖行信息与所述第二变更代码行信息进行映射,得到第二临时代码覆盖行信息包括:
如果所述第二变更代码行信息包括所述删除行数,则将所述预置基准包的代码覆盖行信息内的所述删除行数所对应的源代码的覆盖信息删除;
如果所述第二变更代码行信息包括所述初始行数及对应的变更行数,则将所述预置基准包的代码覆盖行信息的所述初始行数更改为对应的变更行数,以得到第二临时代码覆盖行信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于拉扎斯网络科技(上海)有限公司,未经拉扎斯网络科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210704980.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种设备防偏摆调节系统及调节方法
- 下一篇:一种内分泌科用糖尿病治疗辅助装置