[发明专利]代码信息处理的方法及装置有效
申请号: | 201310695847.1 | 申请日: | 2013-12-17 |
公开(公告)号: | CN104714882B | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 王琳 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 信息处理 方法 装置 | ||
1.一种代码信息处理的方法,其特征在于,所述方法包括:
从代码信息文件中提取代码变更信息,所述代码变更信息用于描述发生变更的文件名称、文件中发生变化的代码行数及变更的代码内容;
从代码覆盖率信息中获取目标代码覆盖率信息,所述目标代码覆盖率信息用于描述所述代码覆盖率信息中发生变化且满足预设覆盖类型的信息;
根据提取的代码变更信息确定所述目标代码覆盖率信息中变更的代码的覆盖率;
所述根据提取的代码变更信息确定所述目标代码覆盖率信息中变更的代码的覆盖率的步骤,包括:
按行读取所述目标代码覆盖率信息;
如果当前行的标志位为文件标识位,则在提取的代码变更信息中查找具有相同文件名称的代码变更信息;
根据查找的代码变更信息,确定变动的起始行号和截止行号;
保留所述起始行号和所述截止行号以及所述起始行号和所述截止行号之间的行的代码覆盖率信息;
修改所述目标代码覆盖率信息中的行总数和覆盖总数;
根据所述行总数和所述覆盖总数确定代码的覆盖率。
2.根据权利要求1所述的代码信息处理的方法,其特征在于,所述从代码覆盖率信息中获取目标代码率覆盖信息的步骤,包括:
从代码覆盖率信息文件中获取发生变更的代码覆盖率信息;
在所述发生变更的代码覆盖率信息中,根据预设覆盖类型对应的标识符确定目标代码覆盖率信息,所述预设覆盖类型为下述任意一种:行覆盖、函数覆盖。
3.根据权利要求1或2所述的代码信息处理的方法,其特征在于,所述从代码信息文件中提取代码变更信息的步骤,包括:
在代码信息文件中根据变化文件标志位提取发生变更的文件名称;
根据差异代码标志位查找发生变更的文件中存在变更的行信息,所述行信息包括起始行号和发生变更的行数量;
根据所述起始行号和发生变更的行数量确定截止行号。
4.根据权利要求2所述的代码信息处理的方法,其特征在于,所述从代码覆盖率信息文件中获取发生变更的代码覆盖率信息的步骤,包括:
按行读取所述代码覆盖率信息文件;
如果当前行的标志位为文件标识位,且具有终端运行标志位,且所述代码信息文件中具有相同文件名称的内容,则将所述当前行确定为发生变更的代码覆盖率信息。
5.根据权利要求2所述的代码信息处理的方法,其特征在于,所述在所述发生变更的代码覆盖率信息中,根据预设覆盖类型对应的标识符确定目标代码覆盖率信息的步骤,包括:
按行读取所述发生变更的代码覆盖率信息;
如果当前行的标志位为与行信息有关的标志位,则将当前行确定为目标代码覆盖率信息。
6.一种代码信息处理的装置,其特征在于,所述装置包括:
提取单元,用于从代码信息文件中提取代码变更信息,所述代码变更信息用于描述发生变更的文件名称、文件中发生变化的代码行数及变更的代码内容;
获取单元,用于从代码覆盖率信息中获取目标代码覆盖率信息,所述目标代码覆盖率信息用于描述所述代码覆盖率信息中发生变化且满足预设覆盖类型的信息;
确定单元,用于根据所述提取单元提取的代码变更信息确定所述获取单元获取的所述目标代码覆盖率信息中变更的代码的覆盖率;
所述确定单元,还用于:
按行读取所述目标代码覆盖率信息;
如果当前行的标志位为文件标识位,则在提取的代码变更信息中查找具有相同文件名称的代码变更信息;
根据查找的代码变更信息,确定变动的起始行号和截止行号;
保留所述起始行号和所述截止行号以及所述起始行号和所述截止行号之间的行的代码覆盖率信息;
修改所述目标代码覆盖率信息中的行总数和覆盖总数;
根据所述行总数和所述覆盖总数确定代码的覆盖率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695847.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种浏览器的测试方法和系统
- 下一篇:画面测试方法和装置