【技术实现步骤摘要】
一种增量覆盖信息的统计方法和装置
本专利技术涉及计算机软件测试
,特别涉及一种增量覆盖信息的统计方法和>J-U装直。
技术介绍
软件测试是保证软件质量的重要手段,软件必须通过测试才能确保其在应用环境中工作正常。在软件的项目开发过程中,开发人员会有针对性地做部分单元测试(即单 测),以检验软件单元有无错误,是否与设计吻合,而后将完成的软件提交给测试人员进行测试。为提高开发人员提测代码的质量,测试人员会制定一些测试准入的标准,比如,要求提测代码新增函数的行覆盖率必须达到60%以上等。然而,通常情况下开发人员并不知道提测软件的质量是否达到要求,比如不清楚单元测试的覆盖率是否达到测试准入的要求,就可能导致提测软件不能达到准入要求。测试人员在每次测试前,都必须手动统计新增和修改函数的增量覆盖信息,这必然会影响测试人员的工作效率。而且由于测试人员手动统计的覆盖信息不够准确,还容易导致误判。在提测时,开发人员会就提测软件的内容和测试人员进行测试重点沟通,告知测试人员新增和修改了哪些功能。然而,开发人员通常不会说明他们已经测试了哪些功能,测试人员往往会设计出一些开发人 ...
【技术保护点】
【技术特征摘要】
1.一种增量覆盖信息的统计方法,其特征在于,包括 51、获取待测版本代码和基线版本代码; 52、对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息;以及,将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息; 53、利用所述新增或修改的函数信息,从所述所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。2.根据权利要求I所述的方法,其特征在于,在所述步骤SI之前,该方法还包括 生成配置文件,其中配置文件的内容至少包括待测版本号、基线版本号、待测版本代码的路径和基线版本代码的路径; 所述步骤SI具体包括 利用所述配置文件中待测版本号和待测版本代码的路径,获取待测版本代码; 利用所述配置文件中基线版本号和基线版本代码的路径,获取基线版本代码。3.根据权利要求I所述的方法,其特征在于,所述对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息,具体包括 对所述待测版本代码运行所有的单测用例,生成覆盖统计文件; 从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息; 根据函数在文件中的行号,统计被覆盖到的行号和行数。4.根据权利要求I或3所述的方法,其特征在于,在获取所述待测版本代码中所有函数的覆盖信息之前,还包括 将包含预设关键字的函数、包含预设关键字的文件或目录下所有的函数过滤掉。5.根据权利要求I所述的方法,其特征在于,所述将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息,具体包括 从所述待测版本代码中的日志文件,获取新增或修改的文件及文件名; 获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数; 获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信息。6.根据权利要求I或5所述的方法,其特征在于,所述新增或修改的函数信息包括 新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。7.根据权利要求5所述的方法,其特征在于,所述步骤S3具体包括 将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数; 根据所述被覆盖到的行号和该些行号所在的函数名,得到新增或修改的函数中被覆盖到的函数和函数个数。8.根据权利要求7所述的方法,其特征在于,所述步骤S3还包括 利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,计算增量的行覆盖率; 利用得到的新增或修改的函数总数与被覆盖到的新增或修改的函数个数,计算增量的函数覆盖率。9.根据权利要求I所述的方法,其特征在于,所述增量覆盖信息包括以下所列中的一种或几种结合 新增或修改的函数覆盖率、新增或修改的行覆盖率、已被覆盖的新增或修改函数名称、未被覆盖的新增或修改函数名称。10.根据权利要求I所述的方法,其特征在于,该方法还包括 判断统计得到的增量覆盖信息是否满足预设要求; 对于增量覆盖信息不满足预设要求的待测版本代 码,发出报警邮件给相应的开发人员或测试人员。11.一种增量覆盖信息的统计装置,其特征在于,包括 版本获取模块,用于获取待测版本代码和基线版本代码...
【专利技术属性】
技术研发人员:刘勇,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。