一种增量覆盖信息的统计方法和装置的制作方法

文档序号:6370465阅读:305来源:国知局
专利名称:一种增量覆盖信息的统计方法和装置的制作方法
一种增量覆盖信息的统计方法和装置
技术领域
本发明涉及计算机软件测试技术领域,特别涉及一种增量覆盖信息的统计方法和
>J-U装直。
背景技术
软件测试是保证软件质量的重要手段,软件必须通过测试才能确保其在应用环境中工作正常。在软件的项目开发过程中,开发人员会有针对性地做部分单元测试(即单 测),以检验软件单元有无错误,是否与设计吻合,而后将完成的软件提交给测试人员进行测试。为提高开发人员提测代码的质量,测试人员会制定一些测试准入的标准,比如,要求提测代码新增函数的行覆盖率必须达到60%以上等。然而,通常情况下开发人员并不知道提测软件的质量是否达到要求,比如不清楚单元测试的覆盖率是否达到测试准入的要求,就可能导致提测软件不能达到准入要求。测试人员在每次测试前,都必须手动统计新增和修改函数的增量覆盖信息,这必然会影响测试人员的工作效率。而且由于测试人员手动统计的覆盖信息不够准确,还容易导致误判。在提测时,开发人员会就提测软件的内容和测试人员进行测试重点沟通,告知测试人员新增和修改了哪些功能。然而,开发人员通常不会说明他们已经测试了哪些功能,测试人员往往会设计出一些开发人员已经测试过的重复用例,导致不必要的重复工作。另外,沟通过程中可能出现开发人员遗漏了对部分新增功能点的说明,可能会导致漏测。

发明内容有鉴于此,本发明提供了一种增量覆盖信息的统计方法和装置,能够自动地获取增量覆盖信息,使得测试人员能够根据增量覆盖信息有针对性的设计测试用例,提高测试效率和准确率,减少漏测。具体技术方案如下—种增量覆盖信息的统计方法,该方法包括以下步骤SI、获取待测版本代码和基线版本代码;S2、对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息;以及,将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息;S3、利用所述新增或修改的函数信息,从所述所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。根据本发明一优选实施例,在所述步骤SI之前,该方法还包括生成配置文件,其中配置文件的内容至少包括待测版本号、基线版本号、待测版本代码的路径和基线版本代码的路径;所述步骤SI具体包括
利用所述配置文件中待测版本号和待测版本代码的路径,获取待测版本代码;利用所述配置文件中基线版本号和基线版本代码的路径,获取基线版本代码。
根据本发明一优选实施例,所述对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息,具体包括对所述待测版本代码运行所有的单测用例,生成覆盖统计文件;从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息;根据函数在文件中的行号,统计被覆盖到的行号和行数。根据本发明一优选实施例,在获取所述待测版本代码中所有函数的覆盖信息之前,还包括将包含预设关键字的函数、包含预设关键字的文件或目录下所有的函数过滤掉。根据本发明一优选实施例,所述将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息,具体包括从所述待测版本代码中的日志文件,获取新增或修改的文件及文件名;获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数;获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信
肩、O根据本发明一优选实施例,所述新增或修改的函数信息包括新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。根据本发明一优选实施例,所述步骤S3具体包括将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数;根据所述被覆盖到的行号和该些行号所在的函数名,得到新增或修改的函数中被覆盖到的函数和函数个数。根据本发明一优选实施例,所述步骤S3还包括利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,计算增量的行
覆盖率;利用得到的新增或修改的函数总数与被覆盖到的新增或修改的函数个数,计算增
量的函数覆盖率。根据本发明一优选实施例,所述增量覆盖信息包括以下所列中的一种或几种结合新增或修改的函数覆盖率、新增或修改的行覆盖率、已被覆盖的新增或修改函数名称、未被覆盖的新增或修改函数名称。根据本发明一优选实施例,该方法还包括判断统计得到的增量覆盖信息是否满足预设要求;对于增量覆盖信息不满足预设要求的待测版本代码,发出报警邮件给相应的开发人员或测试人员。一种增量覆盖信息的统计装置,该装置包括
版本获取模块,用于获取待测版本代码和基线版本代码;全覆盖获取模块,用于对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息;增量获取模块,用于将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息;增量覆盖统计模块,用于利用所述增量获取模块获取的新增或修改的函数信息,从所述全覆盖获取模块获取的所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信肩、O根据本发明一优选实施例,在所述步骤SI之前,该方法装置还包括配置模块,用于生成配置文件,其中配置文件的内容至少包括待测版本号、基线版本号、待测版本代码的路径和基线版本代码的路径;所述版本获取模块利用所述配置文件中待测版本号和待测版本代码的路径,获取待测版本代码;所述版本获取模块利用所述配置文件中基线版本号和基线版本代码的路径,获取基线版本代码。根据本发明一优选实施例,所述全覆盖获取模块,具体配置为对所述待测版本代码运行所有的单测用例,生成覆盖统计文件;从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息;根据函数在文件中的行号,统计被覆盖到的行号和行数。根据本发明一优选实施例,该装置还包括关键字过滤模块,用于将包含预设关键字的函数、包含预设关键字的文件或目录下所有的函数过滤掉;所述全覆盖获取模块仅对过滤后剩余的函数获取覆盖信息。根据本发明一优选实施例,所述增量函数获取模块,具体配置为从所述待测版本代码中的日志文件,获取新增或修改的文件及文件名;获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数;
获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信
肩、O根据本发明一优选实施例,所述新增或修改的函数信息包括新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。根据本发明一优选实施例,所述增量覆盖统计模块具体配置为将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数;根据所述被覆盖到的行号和该些行号所在的函数名,得到新增或修改的函数中被覆盖到的函数和函数个数。根据本发明一优选实施例,所述增量覆盖统计模块的具体配置,还包括利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,计算增量的行覆盖率;利用得到的新增或修改的函数总数与被覆盖到的新增或修改的函数个数,计算增
量的函数覆盖率。根据本发明一优选实施例,所述增量覆盖信息包括以下所列中的一种或几种结合新增或修改的函数覆盖率、新增或修改的行覆盖率、已被覆盖的新增或修改函数名称、未被覆盖的新增或修改函数名称。根据本发明一优选实施例,该装置还包括判断模块,用于判断所述增量覆盖统计模块统计得到的增量覆盖信息是否满足预 设要求;结果输出模块,用于将所述判断模块的判断结果显示输出,对于增量覆盖信息不满足预设要求的待测版本代码,结果输出模块发出报警邮件给相应的开发人员或测试人员。由以上技术方案可以看出,本发明提供的增量覆盖信息的统计方法和装置,自动统计提测版本的增量信息,大大提高准入测试的效率,能够清晰地统计出已被单测覆盖的新增和修改过的函数,以及未被覆盖到的新增和修改过的函数,使得测试人员能够快速获取增量覆盖信息,并根据覆盖情况有针对性的设计测试用例,提高测试人员的工作效率,减少漏测。

图I为本发明实施例一提供的增量覆盖信息的统计方法流程图;图2a为本发明实施例一中步骤S102的具体方法流程图;图2b为本发明实施例一中步骤S103的具体方法流程图;图2c为本发明实施例一中步骤S104的具体方法流程图;图3为本发明实施例二提供的增量覆盖信息的统计方法流程图;图4为本发明实施例二提供的配置文件示意图;图5为本发明实施例三提供的增量覆盖信息的统计装置示意图;图6为本发明实施例四提供的增量覆盖信息的统计装置示意图。
具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。由于程序的更改或升级,对于一个功能模块的程序代码会有先后不同的几个版本,每个版本中包含有若干个文件,每个文件由一个或多个函数组成,一个函数包括若干数量的代码行。一个程序代码在提测时,其覆盖率或增量覆盖率需要达到准入要求,才能被测试人员接收。在测试人员制定的测试准入的标准中,一般会要求提测代码的行覆盖率和函数覆盖率。其中至少被执行一次的代码行数 行覆盍率=- 可执行的代码行总数
_____ 已被覆盖到的函数个数 函数覆盖率=- 全部函数总个数
,一 -m ^ ^ 至少被执行一次的新增和修改的代码行数
増重Ir覆盖半=-
新增和修改的代码行数总和
■ 已被覆IISI的新增和修改的函(数个数 增童函数覆盖率=- 新增和修改的函数总和一般来说,开发人员升级新的版本,要么是为了修复一些bug,要么就是为了增加新的功能,因而只有少数文件会被修改而发生变化,或者也可能是增加一些新文件。在进行软件测试时,测试人员则主要关注那些修改的文件和新增加的文件。因此,本发明主要针对增量覆盖信息进行判断。实施例一、图I是本实施例提供的增量覆盖信息的统计方法流程图,如图I所示,该方法包括步骤S101、获取待测版本代码和基线版本代码。通常基线版本代码是待检测版本代码的修改和新增的基础,可以是待检测版本代码的前一版本代码,也可以是用户指定的版本代码。获取待检测版本代码和与该待检测版本代码相应的基线版本代码,包括版本中程序代码的所有文件及日志文件。步骤S102、对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息。单测用例是针对部分单元进行的测试子项目。对于模块中的一个软件单元,研发或测试人员会针对该单元不同输入情况编写多个测试用例,以检测该单元有无错误,是否符合预期结果,这多个测试用例构成了该单元的单测用例。随着研发和测试的不断累积,这些单测用例可以是一个不断完善和改进的用例集合。获取与待测版本代码中软件单元相关的所有单测用例,并运行得到待测版本代码中所有函数的覆盖信息,包括各个文件中被覆盖到的行号和行数。图2a是本步骤的具体方法流程图,如图2a所示,具体包括步骤S102_l、对所述待测版本代码运行所有的单测用例,生成覆盖统计文件。覆盖统计文件通常采用xml (可扩展标记语言)文件来处理,利用已有的单测用例运行工具运行所有的单测用例,使用“一xml—coverage-clover”等类似参数,当所有的单测用例运行完毕后会生成一个xml文件。xml文件中至少包括以下内容单测用例覆盖到的每个文件路径,每个文件中每一行被单测用例覆盖的次数。
步骤S102_2、从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息。从覆盖统计文件中,可以得到各个文件中所有行具体的覆盖信息,包括哪些行被覆盖到,哪些行未被覆盖到。例如,某个xml文件中的部分信息〈file name = " /**/**/su_group. php" >〈line num = " 4" type = " stmt" count = " 6" />〈line num = " 5" type = " stmt" count = " 6" />〈line num = " 6" type = " stmt" count = " 6" />〈line num = " 7" type = " stmt" count = " 6" /> 〈line num = " 8" type = " stmt" count = " 6" />〈line num = " 9" type = " stmt" count = " 6" />〈line num = " 10" type = " stmt" count = " 6" />〈line num = " 11" type = " stmt" count = " 6" />〈line num = " 12" type = " stmt" count = " 6" />〈line num = " 14" type = " stmt" count = " 6" />〈line num = " 15" type = " stmt" count = " 0" />〈line num = " 16" type = " stmt" count = " 0" />以上信息表示文件su_group. php文件中4-14行都被单测用例覆盖了 6次,15-16行没有被覆盖到。步骤S102_3、根据函数在文件中的行号,统计被覆盖到的行号和行数。根据各个函数在对应文件中的行号,即按照代码行在整个文件中的行号进行统计。一个代码行可能在某个单测用例中未能被执行过,即未被覆盖到,但可以在另一单测用例中被覆盖到。因而,在整个覆盖统计文件中,统计被覆盖到至少一次的行号和行数。继续参见图1,步骤S103、将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息。所述新增或修改的函数信息可以包括但不限于以下信息新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。图2b是本步骤的具体方法流程图,如图2b所示,具体包括步骤S103_l、从所述待测版本代码中的日志文件,获取新增或修改的文件名及对应文件。一个程序文件发生修改后才能够提交到代码库,提交代码时日志文件会记录具体的文件提交信息,包含文件名等。利用提交的日志文件,提取出文件名,如果该文件名是在基线版本中存在的文件名,则该文件就是发生修改的文件,如果不存在于基线版本中,则该文件就是新增的文件。例如,一个模块的两个不同版本基线版本和待测版本,基线版本中包含文件a,b,c三个文件,待测版本中修改了文件a,并且添加了新的文件d。相应地,待测版本提交代码的日志文件的信息为File a modified 2012-3-2523:50:53File d modified 2012-3-2523:50:53分析待测版本的日志信息,其中文件名包括a和d。获取基线版本中的文件名称然后进行对比,可以判断出文件a是发生了修改的文件,文件d是新增的文件。从待测版本代码中,提取新增或修改的文件名对应的文件。步骤S103_2、获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数。对步骤S103_l提取到的新增或修改的文件加以分析,获取新增的行号或修改的 行号。对于新增的文件中所有函数都是新增函数,获取新增的行号和行数。对于修改的文件,将其与基线版本代码中对应的文件进行对比,通过文件对比算法(diff算法),找出不同的代码行,获取修改文件修改的行号和行数。例如,对待测版本中的文件a和文件d加以分析,步骤S103_l提取到的文件a和d中的函数信息[filename:a, {fund : (I, 20), func2: (21, 34),… funcn: (205, 256)}][filename: d, {fund : (I, 23), func2: (24, 50),… funcn: (105, 206)}]通过diff算法,比较基线版本和待测版本中的文件a,得到发生修改的行号为18-25,行数为8。步骤S1033、获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信息。根据步骤S103_2中得到的新增或修改的行号,对应文件中函数的行号范围,得到新增或修改的函数信息,统计新增或修改的函数个数。例如,将a文件中发生修改的行号和待测版本代码的文件a中函数的行号范围进行比较可知文件a中funcl和func2发生了修改,函数个数为2。文件d中的所有函数都为新增函数,函数个数为文件d中的函数个数。值得一提的是,上述步骤S102和步骤S103的顺序可以调换。继续参见图1,步骤S104、利用步骤S103获取到的新增或修改的函数信息,从步骤S102获取的所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。所述增量覆盖信息可以但不限于包括新增或修改的函数覆盖率、新增或修改的行覆盖率、已被覆盖的新增或修改函数名称、未被覆盖的新增或修改函数名称。图2c是本步骤的具体方法流程图,如图2c所示,具体包括步骤S104_l、将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数。利用步骤S103_2中获取的新增的行号或修改的行号,与步骤S102_3中统计的被覆盖到的行号进行比对,将能够匹配的行号作为新增或修改文件中被覆盖到的行号,并统计行数。例如,文件a中经过步骤S103_2得到发生修改的行号为18_25,步骤S102_3中统计到被覆盖到的行号为15-20,则将能够匹配的行号18-20作为文件a中被覆盖到的行号,统计行数为3。步骤S104_2、根据所述被覆盖到的行号和该些行号所在的函数名,得到新增或修改的函数中被覆盖到的函数和函数个数。新增或修改的函数信息包括新增或修改的函数以及该些新增或修改的函数在文件中的行号范围。例如文件a中被修改的函数有funcl和func2,则函数信息包括[{funl, range(10,20)},{fun2, range(21,34)}]利用步骤S104_l得到的被覆盖到的行号,根据新增或修改的函数在文件中的行号范围,确定被覆盖到的函数,统计被覆盖到的函数个数。新增或修改的函数中如果有一行被覆盖到,则认为该函数被覆盖到。
例如,文件a中第18-20行被覆盖到,对应文件a中函数funcl的行号范围(I,20),可确定文件a中函数funcl为被覆盖到的函数。步骤S104_3、利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,
计算增量的行覆盖率。
权利要求
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.一种增量覆盖信息的统计装置,其特征在于,包括 版本获取模块,用于获取待测版本代码和基线版本代码; 全覆盖获取模块,用于对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息; 增量获取模块,用于将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息; 增量覆盖统计模块,用于利用所述增量获取模块获取的新增或修改的函数信息,从所述全覆盖获取模块获取的所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。
12.根据权利要求11所述的装置,其特征在于,在所述步骤SI之前,该方法装置还包括 配置模块,用于生成配置文件,其中配置文件的内容至少包括待测版本号、基线版本号、待测版本代码的路径和基线版本代码的路径; 所述版本获取模块利用所述配置文件中待测版本号和待测版本代码的路径,获取待测版本代码; 所述版本获取模块利用所述配置文件中基线版本号和基线版本代码的路径,获取基线版本代码。
13.根据权利要求11所述的装置,其特征在于,所述全覆盖获取模块,具体配置为 对所述待测版本代码运行所有的单测用例,生成覆盖统计文件; 从生成的覆盖统计文件中,提取各个文件中每行的覆盖信息; 根据函数在文件中的行号,统计被覆盖到的行号和行数。
14.根据权利要求11或13所述的装置,其特征在于,该装置还包括 关键字过滤模块,用于将包含预设关键字的函数、包含预设关键字的文件或目录下所有的函数过滤掉; 所述全覆盖获取模块仅对过滤后剩余的函数获取覆盖信息。
15.根据权利要求11所述的装置,其特征在于,所述增量函数获取模块,具体配置为 从所述待测版本代码中的日志文件,获取新增或修改的文件及文件名; 获取新增的文件对应新增的行号和行数,以及,将修改的文件与所述基线版本代码中对应的文件进行对比,获取修改文件修改的行号和行数; 获取所述新增的行号或修改的行号所在的函数名,得到所述新增或修改的函数信息。
16.根据权利要求11或15所述的装置,其特征在于,所述新增或修改的函数信息包括 新增或修改的代码行号、新增或修改的函数行号范围、新增或修改的函数名以及新增或修改的代码所在的文件名。
17.根据权利要求15所述的装置,其特征在于,所述增量覆盖统计模块具体配置为 将新增文件中所有行的行号或修改文件中修改的行号,与所述被覆盖到的行号进行比对,得到新增或修改文件中被覆盖到的行号和行数; 根据所述被覆盖到的行号和该些行号所在的函数 名,得到新增或修改的函数中被覆盖到的函数和函数个数。
18.根据权利要求17所述的装置,其特征在于,所述增量覆盖统计模块的具体配置,还包括 利用得到新增或修改的行数总和与被覆盖到的新增或修改的行数,计算增量的行覆盖率; 利用得到的新增或修改的函数总数与被覆盖到的新增或修改的函数个数,计算增量的函数覆盖率。
19.根据权利要求11所述的装置,其特征在于,所述增量覆盖信息包括以下所列中的一种或几种结合 新增或修改的函数覆盖率、新增或修改的行覆盖率、已被覆盖的新增或修改函数名称、未被覆盖的新增或修改函数名称。
20.根据权利要求11所述的装置,其特征在于,该装置还包括 判断模块,用于判断所述增量覆盖统计模块统计得到的增量覆盖信息是否满足预设要求; 结果输出模块,用于将所述判断模块的判断结果显示输出,对于增量覆盖信息不满足预设要求的待测版本代码,结果输出模块发出报警邮件给相应的开发人员或测试人员。
全文摘要
本发明提供了一种增量覆盖信息的统计方法和装置,所述方法包括S1、获取待测版本代码和基线版本代码;S2、对所述待测版本代码运行所有的单测用例,获取所述待测版本代码中所有函数的覆盖信息;以及,将所述待测版本代码与所述基线版本代码进行比对,获取新增或修改的函数信息;S3、利用所述新增或修改的函数信息,从所述所有函数的覆盖信息中,统计得到新增或修改的增量覆盖信息。相较于现有技术,本发明能够自动地统计提测版本的增量信息,使得测试人员能够快速地获取增量覆盖信息,并根据增量覆盖信息有针对性的设计测试用例,提高测试效率和准确率,减少漏测。
文档编号G06F11/36GK102722436SQ20121017228
公开日2012年10月10日 申请日期2012年5月29日 优先权日2012年5月29日
发明者刘勇 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1