[发明专利]一种增量覆盖信息的统计方法和装置有效
申请号: | 201210172285.8 | 申请日: | 2012-05-29 |
公开(公告)号: | CN102722436A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 刘勇 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 袁媛 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 增量 覆盖 信息 统计 方法 装置 | ||
【技术领域】
本发明涉及计算机软件测试技术领域,特别涉及一种增量覆盖信息的统计方法和装置。
【背景技术】
软件测试是保证软件质量的重要手段,软件必须通过测试才能确保其在应用环境中工作正常。在软件的项目开发过程中,开发人员会有针对性地做部分单元测试(即单测),以检验软件单元有无错误,是否与设计吻合,而后将完成的软件提交给测试人员进行测试。
为提高开发人员提测代码的质量,测试人员会制定一些测试准入的标准,比如,要求提测代码新增函数的行覆盖率必须达到60%以上等。然而,通常情况下开发人员并不知道提测软件的质量是否达到要求,比如不清楚单元测试的覆盖率是否达到测试准入的要求,就可能导致提测软件不能达到准入要求。测试人员在每次测试前,都必须手动统计新增和修改函数的增量覆盖信息,这必然会影响测试人员的工作效率。而且由于测试人员手动统计的覆盖信息不够准确,还容易导致误判。
在提测时,开发人员会就提测软件的内容和测试人员进行测试重点沟通,告知测试人员新增和修改了哪些功能。然而,开发人员通常不会说明他们已经测试了哪些功能,测试人员往往会设计出一些开发人员已经测试过的重复用例,导致不必要的重复工作。另外,沟通过程中可能出现开发人员遗漏了对部分新增功能点的说明,可能会导致漏测。
【发明内容】
有鉴于此,本发明提供了一种增量覆盖信息的统计方法和装置,能够自动地获取增量覆盖信息,使得测试人员能够根据增量覆盖信息有针对性的设计测试用例,提高测试效率和准确率,减少漏测。
具体技术方案如下:
一种增量覆盖信息的统计方法,该方法包括以下步骤:
S1、获取待测版本代码和基线版本代码;
S2、对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息;以及,将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息;
S3、利用所述新增或修改的函数信息,从所述所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。
根据本发明一优选实施例,在所述步骤S1之前,该方法还包括:
生成配置文件,其中配置文件的内容至少包括:待测版本号、基线版本号、待测版本代码的路径和基线版本代码的路径;
所述步骤S1具体包括:
利用所述配置文件中待测版本号和待测版本代码的路径,获取待测版本代码;
利用所述配置文件中基线版本号和基线版本代码的路径,获取基线版本代码。
根据本发明一优选实施例,所述对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息,具体包括:
对所述待测版本代码运行所有的单测用例,生成覆盖统计文件;
从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息;
根据函数在文件中的行号,统计被覆盖到的行号和行数。
根据本发明一优选实施例,在获取所述待测版本代码中所有函数的覆盖信息之前,还包括:
将包含预设关键字的函数、包含预设关键字的文件或目录下所有的函数过滤掉。
根据本发明一优选实施例,所述将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息,具体包括:
从所述待测版本代码中的日志文件,获取新增或修改的文件及文件名;
获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数;
获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信息。
根据本发明一优选实施例,所述新增或修改的函数信息包括:
新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。
根据本发明一优选实施例,所述步骤S3具体包括:
将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数;
根据所述被覆盖到的行号和该些行号所在的函数名,得到新增或修改的函数中被覆盖到的函数和函数个数。
根据本发明一优选实施例,所述步骤S3还包括:
利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,计算增量的行覆盖率;
利用得到的新增或修改的函数总数与被覆盖到的新增或修改的函数个数,计算增量的函数覆盖率。
根据本发明一优选实施例,所述增量覆盖信息包括以下所列中的一种或几种结合:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210172285.8/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置