[发明专利]代码信息处理的方法及装置有效
申请号: | 201310695847.1 | 申请日: | 2013-12-17 |
公开(公告)号: | CN104714882B | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 王琳 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 信息处理 方法 装置 | ||
本发明公开了一种代码信息处理的方法及装置,涉及数据处理领域,能够解决对于差异代码的代码覆盖率检测效率低解决的问题,所述方法包括:从代码信息文件中提取代码变更信息,所述代码变更信息用于描述发生变更的文件名称、文件中发生变化的代码行数及变更的代码内容;从代码覆盖率信息中获取目标代码率覆盖信息,所述目标代码覆盖率信息用于描述所述代码覆盖率信息中发生变化且满足预设覆盖类型的信息;根据提取的代码变更信息确定所述目标代码覆盖率信息中变更的代码的覆盖率。本发明主要应用于软件测试的过程中。
技术领域
本发明涉及数据处理领域,尤其涉及一种代码信息处理的方法及装置。
背景技术
代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。现有生成代码覆盖率的方法为基于GCC的覆盖工具(多平台编译器(GNU Compiler Collection,简称GCC)Coverage,简称GCOV)结合基于LTP的覆盖率工具(linux测试工程(Linux Test Project,简称LTP)GCOV,简称LCOV)的方法。其中,GCOV是一个测试代码覆盖率的工具,伴随GCC发布,配合GCC共同实现对C/C++文件的语句覆盖和分支覆盖测试,可用于统计每一行代码的执行频率,定位实际执行的代码行数。LCOV是将GCOV图形化的前端工具,基于HTML输出,并生成一棵完整的HTML树,可以生成三个级别的视图:目录视图、文件视图、源码视图。上述两个工具的结合,可生成可视化的代码覆盖率文件,用于检测实际测试对代码的覆盖范围和执行程度。
在实现上述代码信息处理的过程中,发明人发现现有技术中至少存在如下问题:由于通过GCOV和LCOV统计和显示代码覆盖率是一种全量层面的代码覆盖率测试方法,其是对全部代码的代码覆盖率进行测试的方法,因此不能准确反映代码更新部分的覆盖情况,即不能准确反映增量层面的代码覆盖率。对于每日更新迭代的数据,通过全量层面的代码覆盖率测试无法准确的对差异代码(新增代码)的代码覆盖率进行独立的测试,导致对于差异代码的代码覆盖率检测效率低。
发明内容
本发明的实施例提供一种代码信息处理的方法及装置,用于解决对于差异代码的代码覆盖率检测效率低解决的问题。
一方面,本发明提供了一种代码信息处理的方法,所述方法包括:
从代码信息文件中提取代码变更信息,所述代码变更信息用于描述发生变更的文件名称、文件中发生变化的代码行数及变更的代码内容;
从代码覆盖率信息中获取目标代码率覆盖信息,所述目标代码覆盖率信息用于描述所述代码覆盖率信息中发生变化且满足预设覆盖类型的信息;
根据提取的代码变更信息确定所述目标代码覆盖率信息中变更的代码的覆盖率。
另一方面,本发明还提供了一种代码信息处理的装置,所述装置包括:
提取单元,用于从代码信息文件中提取代码变更信息,所述代码变更信息用于描述发生变更的文件名称、文件中发生变化的代码行数及变更的代码内容;
获取单元,用于从代码覆盖率信息中获取目标代码率覆盖信息,所述目标代码覆盖率信息用于描述所述代码覆盖率信息中发生变化且满足预设覆盖类型的信息;
确定单元,用于根据所述提取单元提取的代码变更信息确定所述获取单元获取的所述目标代码覆盖率信息中变更的代码的覆盖率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695847.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种浏览器的测试方法和系统
- 下一篇:画面测试方法和装置