[发明专利]一种获取代码覆盖率的方法及装置在审
申请号: | 201210308060.0 | 申请日: | 2012-08-27 |
公开(公告)号: | CN103631707A | 公开(公告)日: | 2014-03-12 |
发明(设计)人: | 丁如敏;皮凯 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 代码 覆盖率 方法 装置 | ||
1.一种获取代码覆盖率的方法,其特征在于,包括:
获取在被测试的应用程序APP的第一代码中添加获取代码覆盖率的代码后的第二代码,并将编译所述第二代码过程中记录的所述第一代码的信息生成第一文件;
接收到测试指令后运行测试用例,并将运行所述测试用例过程中记录的所述第一代码的代码执行信息生成第二文件;
根据所述第一文件和所述第二文件,以及获取代码覆盖率的代码文件,获取所述第一代码的代码覆盖率。
2.根据权利要求1所述的方法,其特征在于,在所述获取所述第一代码的代码覆盖率之后,还包括:
获取通过分析未被覆盖到的第一代码后编写的新测试用例;
接收到测试指令后运行所述新测试用例,并根据获取所述第一代码的代码覆盖率的方法,获取所述第一代码的累积的代码覆盖率。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述第一代码的代码覆盖率包括:
接收执行第一目录中文件的命令;
根据置于所述第一目录中的所述第一文件和所述第二文件,以及获取代码覆盖率的代码文件,执行所述命令,获取所述第一代码的代码覆盖率。
4.根据权利要求3所述的方法,其特征在于,所述获取在被测试的应用程序APP的第一代码中添加获取代码覆盖率的代码后的第二代码包括:
接收在被测试的APP的第一代码中注销或者退出时调用到的函数中添加的获取代码覆盖率的代码,获取由所述第一代码和所述获取代码覆盖率的代码构成的第二代码;或者,
接收在被测试的APP的第一代码中由于点击获取代码覆盖率的按钮或者菜单触发的函数中添加的获取代码覆盖率的代码,获取由所述第一代码和所述获取代码覆盖率的代码构成的第二代码。
5.根据权利要求1或2所述的方法,其特征在于,所述第一代码的信息包括代码的版本信息、包、类方法和代码所在行的信息。
6.根据权利要求5所述的方法,其特征在于,所述接收到测试指令后运行测试用例,并将运行所述测试用例过程中记录的所述第一代码的代码信息生成第二文件包括:
接收到测试指令后运行测试用例,并记录运行所述测试用例过程中执行过的所述第一代码的代码执行信息,保存在内存中;
当APP注销或者退出时,调用所述获取代码覆盖率的代码,并将保存在内存中的所述代码执行信息保存在第二文件中,删除所述内存中的所述代码执行信息。
7.一种获取代码覆盖率的装置,其特征在于,包括:
代码获取单元,用于获取在被测试的应用程序APP的第一代码中添加获取代码覆盖率的代码后的第二代码;
生成文件单元,用于将编译所述第二代码过程中记录的所述第一代码的信息生成第一文件;
执行单元,用于接收到测试指令后运行测试用例;
所述生成文件单元还用于,将运行所述测试用例过程中记录的所述第一代码的代码执行信息生成第二文件;
代码覆盖率获取单元,用于根据所述第一文件和所述第二文件,以及获取代码覆盖率的代码文件,获取所述第一代码的代码覆盖率。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
测试用例获取单元,用于获取通过分析未被覆盖到的第一代码后编写的新测试用例;
所述执行单元,用于接收到测试指令后运行所述新测试用例,并由所述生成文件单元和所述代码覆盖率获取单元操作,获取所述第一代码的累积的代码覆盖率。
9.根据权利要求7或8所述的装置,其特征在于,所述代码覆盖率获取单元包括:
接收命令模块,用于接收执行第一目录中文件的命令;
代码覆盖率获取模块,用于根据置于所述第一目录中的所述第一文件和所述第二文件,以及获取代码覆盖率的代码文件,执行所述命令,获取所述第一代码的代码覆盖率。
10.根据权利要求9所述的装置,其特征在于,所述代码获取单元用于:
接收在被测试的APP的第一代码中注销或者退出时调用到的函数中添加的获取代码覆盖率的代码,获取由所述第一代码和所述获取代码覆盖率的代码构成的第二代码;或者,
接收在被测试的APP的第一代码中由于点击获取代码覆盖率的按钮或者菜单触发的函数中添加的获取代码覆盖率的代码,获取由所述第一代码和所述获取代码覆盖率的代码构成的第二代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210308060.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据存储方法和系统
- 下一篇:虚拟键盘提供方法和装置