CN103699488B - 基于调用关系依赖图的回归测试方法及系统 - Google Patents

基于调用关系依赖图的回归测试方法及系统 Download PDF

Info

Publication number
CN103699488B
CN103699488B CN201310745825.1A CN201310745825A CN103699488B CN 103699488 B CN103699488 B CN 103699488B CN 201310745825 A CN201310745825 A CN 201310745825A CN 103699488 B CN103699488 B CN 103699488B
Authority
CN
China
Prior art keywords
version
call relation
methods
measured
dependency graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310745825.1A
Other languages
English (en)
Other versions
CN103699488A (zh
Inventor
陈伟鸿
刘威
李剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Ucweb Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ucweb Inc filed Critical Ucweb Inc
Priority to CN201310745825.1A priority Critical patent/CN103699488B/zh
Publication of CN103699488A publication Critical patent/CN103699488A/zh
Application granted granted Critical
Publication of CN103699488B publication Critical patent/CN103699488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种基于调用关系依赖图的回归测试方法及系统,其中的方法包括:将从版本管理库中获取的待比较版本的所有方法进行转存;将版本管理库更新至待测版本,获取待测版本的所有方法之间的调用关系,并进行存储;将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取方法变更集;根据所存储的调用关系生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注;根据所标注的方法确定待测版本的回归范围,并根据回归范围进行回归测试。通过本发明能够使回归测试的范围更加精准且更有目的性,同时也能够使研发人员分析出所提交测试的代码是否存在错改漏改,确保所修改的代码都能完整的覆盖其影响面。

Description

基于调用关系依赖图的回归测试方法及系统
技术领域
本发明涉及软件测试技术领域,更为具体地,涉及一种基于调用关系依赖图的回归测试方法及系统。
背景技术
软件测试是软件生命周期的一个必要的阶段,其直接关系着软件的质量。在软件生命周期的任何一个阶段中,只要软件发生了改变,就可能给该软件带来问题。因此,每当软件发生变化时,就必须进行回归测试,以便于确定修改是否达到了预期的目的,以及检查修改是否损害了软件原有的正常功能。
现有的回归测试没有一个比较精准的标准,多半都是靠测试人员的经验、习惯以及项目的特性进行回归验收,测试范围不够准确,并且大范围的回归测试耗时耗力,甚至有时候还会遗漏测试点,造成测试覆盖率不全的问题。
在传统的黑盒测试中,测试人员都不太接触研发的代码,因此测试人员对研发人员所修改的代码也没有感知,测试人员只是依靠研发人员的测试建议和测试风险来评估回归测试的范围,如此便会造成以下问题:
一、研发人员只是修改了几行代码,但测试人员并不清楚修改的这几行代码对其他代码的影响,只能依靠研发人员单方面的推断来评估,造成回归测试范围不够精准。
二、研发人员在修改了代码之后,有可能其自身对修改的代码所产生的影响也缺乏认识,如此便会给出错误的测试建议和测试范围,导致测试风险增加,使回归测试变成无用功。
三、有可能研发人员只是对一些方法中的不是很重要的代码进行了修改,但为了达到项目的上线标准,测试人员却不敢不进行回归测试,如此不仅使测试没有针对性,并且还会造成回归测试的时间太长,从而延缓项目的上线时间,甚至错过产品发布的最好良机。
鉴于上述问题,如何既能缩短回归测试的测试时间,又能使回归测试的测试范围变得更加精确且更有目的性,成为测试人员亟待解决的问题。
发明内容
鉴于上述问题,本发明的目的是提供一种基于调用关系依赖图的回归测试方法及系统,以缩短回归测试的测试时间,使回归测试的测试范围变得更加精确且更有目的性。
根据本发明的一个方面,提供一种基于调用关系依赖图的回归测试方法,包括:
将从版本管理库中获取的待比较版本的所有方法进行转存;
将版本管理库更新至待测版本,然后编译待测版本,获取待测版本的所有方法之间的调用关系,并进行存储;
将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集;
根据所存储的调用关系生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注;
根据在调用关系依赖图中所标注的方法确定待测版本的回归范围,并根据回归范围进行回归测试。
其中,在将从版本管理库中获取的待比较版本的所有方法进行转存之前,还包括:利用版本管理库所提供的接口,通过持续集成工具从版本管理库中获取待比较版本的所有方法;或者,直接从版本管理库中获取待比较版本的所有方法。
其中,在获取待测版本的所有方法之间的调用关系的过程中,通过java字节码框架获取待测版本的所有方法之间的调用关系。
另一方面,本发明提供一种基于调用关系依赖图的回归测试系统,包括:
方法转存单元,用于将从版本管理库中获取的待比较版本的所有方法进行转存;
调用关系获取单元,用于将版本管理库更新至待测版本,然后编译待测版本,获取待测版本的所有方法之间的调用关系,并进行存储;
变更集生成单元,用于将待测版本的所有方法与方法转存单元中所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集;
变更方法标注单元,用于根据所存储的调用关系生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注;
回归测试单元,用于根据在调用关系依赖图中所标注的方法确定待测版本的回归范围,并根据回归范围进行回归测试。
利用上述根据本发明的基于调用关系依赖图的回归测试方法及系统,通过分析待测版本与待比较版本这两个版本的源码,得出两个版本之间发生变更的方法,以及待测版本的方法之间的调用关系,生成调用关系依赖图,使研发和测试人员依据该调用关系依赖图和变更的方法分析出待测版本改动的影响面,从而使得回归测试的范围更加精准且更有目的性,同时通过依赖关系图,也能够使研发人员分析出所提交测试的代码是否存在错改漏改,确保所修改的代码都能完整的覆盖其影响面。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例的基于调用关系依赖图的回归测试方法的流程示意图;
图2为根据本发明实施例的基于调用关系依赖图的回归测试系统逻辑结构框图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
以下将结合附图对本发明的具体实施例进行详细描述。
针对前述现有的回归测试方法容易造成回归测试范围不精准、测试风险大和测试缺少目的性的问题。本发明通过对待测版本和待对比版本两个版本之间的方法进行比较,生成方法变更集,同时获取待测版本的方法之间的调用关系,生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注,从而使研发人员可以依据该标注对待测版本进行检查和分析,确认是否有修改遗漏,并同时给出测试人员相应的测试建议;同样的,测试人员可以依据该标注对待测版本进行分析,确定出回归测试的范围,使回归测试的范围更加精准且更有目的性。
为了说明本发明提供的基于调用关系依赖图的回归测试方法,图1示出了根据本发明实施例的基于调用关系依赖图的回归测试方法的流程。
如图1所示,本发明提供的基于调用关系依赖图的回归测试方法包括:
S110:将从版本管理库中获取的待比较版本的所有方法进行转存。
其中,在将从版本管理库中获取的待比较版本的所有方法进行转存之前,还包括:利用版本管理库所提供的接口,通过持续集成工具从版本管理库中获取待比较版本的所有方法;或者,直接从版本管理库中获取待比较版本的所有方法。
需要说明的是,上述的待比较版本是相对于待测版本而言的。实际上,持续集成工具能够持续构建版本管理库中的所有版本。也就是说,版本管理库中的所有版本都可以被持续集成工具所托管,通过持续集成工具可以获取版本管理库中的任何一个版本的代码(即一个版本中的所有方法)。
另外需要说明的是,持续集成工具包括:jenkins、CruiseControl和LuntBuild等,或者还可以根据需求构建持续集成工具。
具体地,由于不同版本管理库所提供的接口都不一样,因此,通过持续集成工具便能够轻易获取待测版本的代码。例如,版本管理库提供的是SVN接口,那么持续集成工具就会使用SVN接口获取代码,如果版本管理库提供的是git接口,那么持续集成工具就会使用git接口获取代码。
其中,在将从版本管理库中获取的待比较版本的所有方法进行转存的过程中,将所获取的待比较版本的所有方法转存到存储系统中。其中,该存储系统包括文件存储系统、数据库或者其他存储系统。
具体地,将所获取的待比较版本的所有方法进行转存的目的是:为了避免版本管理库所提供的接口差异所造成的版本之间的方法比较的适配难度,将所获取的某个版本的代码进行转存,可以按照用户所设计的数据结构去存储,更有利于下述所进行的两个版本之间的方法级别的比较。
S120:将版本管理库更新至待测版本,然后编译待测版本,获取待测版本的所有方法之间的调用关系,并进行存储。
其中,在获取待测版本的所有方法之间的调用关系的过程中,通过java字节码框架获取待测版本的所有方法之间的调用关系。其中,java字节码框架包括ASM、javaassist、bcel或者其他java字节码框架。在获取待测版本的所有方法之间的调用关系,并进行存储的过程中,将调用关系存储在运行系统的内存或者文件存储系统中。
S130:将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。
其中,在将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集的过程中,通过源代码分析框架将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。其中,源代码分析框架包括JDT AST、javaparser或者其他源代码分析框架;方法变更集包括修改的方法集、新增的方法集和删除的方法集。
S140:根据所存储的调用关系生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注。
具体地,根据修改的方法集、新增的方法集和删除的方法集,在调用关系依赖图中将修改的方法、新增的方法和删除的方法分别进行标注。
S150:根据在调用关系依赖图中所标注的方法确定待测版本的回归范围,并根据回归范围进行回归测试。
具体地,研发人员可以依据该标注对待测版本进行检查和分析,确认是否有修改遗漏,并同时给出测试人员相应的测试建议;测试人员可以依据该标注对待测版本进行分析,确定出待测版本的回归范围,并进行回归测试。
通过图1所示的流程可以看出,本发明所提供的基于调用关系依赖图的回归测试方法能够使测试人员更好的对待测版本进行回归测试,使回归测试的范围更加精准且更有目的性,同时也能够使研发人员分析出所提交测试的代码是否存在错改漏改,确保所修改的代码都能完整的覆盖其影响面。
为了更为清楚的说明本发明所提供的基于调用关系依赖图的回归测试方法,下述以示例的方式对本发明所提供的基于调用关系依赖图的回归测试方法进行详细说明。
需要说明的是,在本发明的其中一个示例中,使用jenkins从版本管理库中获取代码。具体地:
在jenkins上搭建一个持续构建的job,配置jenkins上的代码库分支,通过jenkins获取相应分支相应版本的源代码,同时利用jenkins的参数化构建,给用户提供一个可选框,用于输入待比较版本和更新版本。
对于待比较版本,当获取到代码管理库对应的版本之后,则先删除数据库中的方法表,其中方法表里面存放了方法名、方法体、参数和路径,然后遍历jenkins托管的所有java文件,利用AST提供的API获取包名和类名,获取方法名,并将方法的路径、方法名、参数、实现体全都转存入数据库中。
对于更新版本则通过版本管理库更新至待测版本,然后使用ASM扫描得出待测版本的每个方法的依赖关系,即得出类似A->B,B->C这样的数据结构,并保存在内存中。
将待测版本的所有方法与存入数据库中的初始版本的所有方法进行比较,获取变更列表,即添加、修改、删除的类。其中,通过AST提供的API获取的方法变更列表。
其中,对于添加的类,则通过AST获取方法内容保存在内存中的添加方法Add_List,并存入数据库的方法表中;
对于修改的类,则通过AST获取包名和类名,通过path寻找表中的旧方法列表并将该方法设置一个标记位为false;通过AST遍历获得修改后的方法body体,与数据库存放的旧方法进行对比,若没有旧的方法,即在数据库中找不到相应的方法,则证明这个方法是这个修改的类新增的,即将这个方法添加到数据库的表中,并加入添加方法Add_List;若有旧的方法,则进行diff操作,如果有改动,则将标记位设置为true,并且修改数据库的方法表中对应的方法实体;最后,将修改类中的修改的方法且标记位为true的方法依次存入Modifie_List;对于那些标记位为false的方法即为删除的方法,则将其存入Deleted_List中;
对于删除的类,通过path寻找表中的方法列表,将这些方法添加的删除的方法列表Delete_List中,并存入内存,并将数据库中的方法从表中删除;
调用第三方图片生成工具Graphviz根据修改方法列表和添加方法列表生成调用关系依赖图;并将所有变更方法存入json文件供图片读取数据。在图片中将变更的方法标示出来,并与待比较版本进行对比。
通过上述示例并结合下述场景,能够充分地体现出本发明所提供的基于调用关系依赖图的回归测试方法的优点。
场景一
开发人员修改了类A方法a的几行代码,打印了相关的log,为了调试使用,对功能并没有影响,从调用关系依赖图来看,也只是修改了方法a,且调用关系并没有相关的改变,即调用a的方法都没有修改,因此分析出来的结果是可以不进行回归测试。
场景二
开发人员修改了类B方法b的代码,添加了本次功能需要添加的业务代码,加上了排重的处理,从调用关系依赖图看,修改了b方法,同时调用b方法的c方法也相应地修改了,且c方法为MVC层的controller层,通过这个action,我们定位到了某个页面c,因此分析出来的结果是,需要对页面c进行验证测试,验证是否符合业务提出的需求,其他没有涉及到此功能的无需进行回归,只需精准回归c页面即可。
场景三
开发人员修改了类D方法d的代码,d方法是一个DAO层的代码,由于修改了代码,从逻辑上看必须修改d方法对应的service方法e,但是从依赖关系图看,研发只是修改了DAO层的d方法,而调用d方法的service方法e并没有任何修改,因此分析出的结果是开发改漏了代码,应该修改e方法的代码适应d方法,因此在提测前避免了错误。
与上述方法相对应,本发明还提供一种基于调用关系依赖图的回归测试系统,图2示出了根据本发明实施例的基于调用关系依赖图的回归测试系统逻辑结构。
如图2所示,本发明提供的基于调用关系依赖图的回归测试系统200包括方法转存单元210、调用关系获取单元220、变更集生成单元230、变更方法标注单元240和回归测试单元250。
其中,方法转存单元210用于将从版本管理库中获取的待比较版本的所有方法进行转存。其中,方法转存单元210在将从版本管理库中获取的待比较版本的所有方法进行转存之前,还包括:利用版本管理库所提供的接口,通过持续集成工具从版本管理库中获取待比较版本的所有方法;或者,直接从版本管理库中获取待比较版本的所有方法。
需要说明的是,上述的待比较版本是相对于待测版本而言的。实际上,持续集成工具能够持续构建版本管理库中的所有版本。也就是说,版本管理库中的所有版本都可以被持续集成工具所托管,通过持续集成工具可以获取版本管理库中的任何一个版本的代码(即一个版本中的所有方法)。
另外需要说明的是,持续集成工具包括:jenkins、CruiseControl和LuntBuild等,或者还可以根据需求构建持续集成工具。
具体地,由于不同版本管理库所提供的接口都不一样,因此,通过持续集成工具便能够轻易获取待测版本的代码。例如,版本管理库提供的是SVN接口,那么持续集成工具就会使用SVN接口获取代码,如果版本管理库提供的是git接口,那么持续集成工具就会使用git接口获取代码。
其中,方法转存单元210在将从版本管理库中获取的待比较版本的所有方法进行转存的过程中,将所获取的待比较版本的所有方法转存到存储系统中。其中,该存储系统包括文件存储系统、数据库或者其他存储系统。
具体地,将所获取的待比较版本的所有方法进行转存的目的是:为了避免版本管理库所提供的接口差异所造成的版本之间的方法比较的适配难度,将所获取的某个版本的代码进行转存,可以按照用户所设计的数据结构去存储,更有利于下述所进行的两个版本之间的方法级别的比较。
调用关系获取单元220用于将版本管理库更新至待测版本,然后编译待测版本,获取待测版本的所有方法之间的调用关系,并进行存储。
其中,调用关系获取单元220在获取待测版本的所有方法之间的调用关系的过程中,通过java字节码框架获取待测版本的所有方法之间的调用关系。其中,java字节码框架包括ASM、javaassist、bcel或者其他java字节码框架。调用关系获取单元220在获取待测版本的所有方法之间的调用关系,并进行存储的过程中,将调用关系存储在运行系统的内存或者文件存储系统中。
变更集生成单元230用于将待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。
其中,变更集生成单元230在生成方法变更集的过程中,通过源代码分析框架将待测版本的所有方法与方法转存单元210中所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。其中,源代码分析框架包括JDT AST、javaparser或者其他源代码分析框架;方法变更集包括修改的方法集、新增的方法集和删除的方法集。
变更方法标注单元240用于根据所存储的调用关系生成调用关系依赖图,并根据方法变更集,在调用关系依赖图中对变更的方法进行标注。
具体地,根据变更集生成单元230所生成的修改的方法集、新增的方法集和删除的方法集,在调用关系依赖图中将修改的方法、新增的方法和删除的方法分别进行标注。
回归测试单元250用于根据在调用关系依赖图中所标注的方法确定待测版本的回归范围,并根据回归的范围进行回归测试。
具体地,研发人员可以依据变更方法标注单元240所标注的方法,对待测版本进行检查和分析,确认是否有修改遗漏,并同时给出测试人员相应的测试建议;测试人员可以依据该标注对待测版本进行分析,确定出待测版本的回归范围,并进行回归测试。
通过上述能够看出,本发明所提供的基于调用关系依赖图的回归测试方法及系统,通过分析得出两个版本之间发生变更的方法,以及待测版本的方法之间的调用关系,生成调用关系依赖图,使研发和测试人员依据该调用关系依赖图和变更的方法分析出待测版本改动的影响面,从而使得回归测试的范围更加精准且更有目的性,同时通过依赖关系图,也能够使研发人员分析出所提交测试的代码是否存在错改漏改,确保所修改的代码都能完整的覆盖其影响面。
如上参照附图以示例的方式描述了根据本发明的基于调用关系依赖图的回归测试方法及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的基于调用关系依赖图的回归测试方法及系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

Claims (13)

1.一种基于调用关系依赖图的回归测试方法,包括:
将从版本管理库中获取的待比较版本的所有方法进行转存;
将所述版本管理库更新至待测版本,然后编译所述待测版本,获取所述待测版本的所有方法之间的调用关系,并进行存储;
将所述待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集;
根据所存储的调用关系生成调用关系依赖图,并根据所述方法变更集,在所述调用关系依赖图中对所述变更的方法进行标注;
根据在所述调用关系依赖图中所标注的方法确定所述待测版本的回归范围,并根据所述回归范围进行回归测试。
2.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,在将从版本管理库中获取的待比较版本的所有方法进行转存之前,还包括:
利用所述版本管理库所提供的接口,通过持续集成工具从所述版本管理库中获取所述待比较版本的所有方法;或者,
直接从所述版本管理库中获取所述待比较版本的所有方法。
3.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,在将从版本管理库中获取的待比较版本的所有方法进行转存的过程中,
将所获取的待比较版本的所有方法转存到存储系统中。
4.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,在获取所述待测版本的所有方法之间的调用关系的过程中,
通过java字节码框架获取所述待测版本的所有方法之间的调用关系。
5.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,在获取所述待测版本的所有方法之间的调用关系,并进行存储的过程中,
将所述调用关系存储在运行系统的内存或者文件存储系统中。
6.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,在将所述待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集的过程中,
通过源代码分析框架将所述待测版本的所有方法与所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。
7.如权利要求1所述的基于调用关系依赖图的回归测试方法,其中,所述方法变更集包括修改的方法集、新增的方法集和删除的方法集。
8.一种基于调用关系依赖图的回归测试系统,包括:
方法转存单元,用于将从版本管理库中获取的待比较版本的所有方法进行转存;
调用关系获取单元,用于将所述版本管理库更新至待测版本,然后编译所述待测版本,获取所述待测版本的所有方法之间的调用关系,并进行存储;
变更集生成单元,用于将所述待测版本的所有方法与所述方法转存单元中所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集;
变更方法标注单元,用于根据所存储的调用关系生成调用关系依赖图,并根据所述方法变更集,在所述调用关系依赖图中对所述变更的方法进行标注;
回归测试单元,用于根据在所述调用关系依赖图中所标注的方法确定所述待测版本的回归范围,并根据所述回归范围进行回归测试。
9.如权利要求8所述的基于调用关系依赖图的回归测试系统,其中,所述方法转存单元在将从版本管理库中获取的待比较版本的所有方法进行转存之前,还包括:
利用所述版本管理库所提供的接口,通过持续集成工具从所述版本管理库中获取所述待比较版本的所有方法;或者,
直接从所述版本管理库中获取所述待比较版本的所有方法。
10.如权利要求8所述的基于调用关系依赖图的回归测试系统,其中,所述方法转存单元在将从版本管理库中获取的待比较版本的所有方法进行转存的过程中,
将所获取的待比较版本的所有方法转存到存储系统中。
11.如权利要求8所述的基于调用关系依赖图的回归测试系统,其中,所述调用关系获取单元在获取所述待测版本的所有方法之间的调用关系的过程中,
通过java字节码框架获取所述待测版本的所有方法之间的调用关系。
12.如权利要求8所述的基于调用关系依赖图的回归测试系统,其中,所述调用关系获取单元在获取所述待测版本的所有方法之间的调用关系,并进行存储的过程中,
将所述调用关系存储在运行系统的内存或者文件存储系统中。
13.如权利要求8所述的基于调用关系依赖图的回归测试系统,其中,所述变更集生成单元在生成方法变更集的过程中,
通过源代码分析框架将所述待测版本的所有方法与所述方法转存单元中所转存的待比较版本的所有方法进行比较,获取发生变更的方法,生成方法变更集。
CN201310745825.1A 2013-12-30 2013-12-30 基于调用关系依赖图的回归测试方法及系统 Active CN103699488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310745825.1A CN103699488B (zh) 2013-12-30 2013-12-30 基于调用关系依赖图的回归测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310745825.1A CN103699488B (zh) 2013-12-30 2013-12-30 基于调用关系依赖图的回归测试方法及系统

Publications (2)

Publication Number Publication Date
CN103699488A CN103699488A (zh) 2014-04-02
CN103699488B true CN103699488B (zh) 2017-01-04

Family

ID=50361024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310745825.1A Active CN103699488B (zh) 2013-12-30 2013-12-30 基于调用关系依赖图的回归测试方法及系统

Country Status (1)

Country Link
CN (1) CN103699488B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914384B (zh) * 2014-04-10 2016-04-27 国家电网公司 一种需求变更驱动的自动化测试方法
CN106354625A (zh) * 2015-07-21 2017-01-25 北京搜狗科技发展有限公司 一种测试范围确定方法及装置
CN106557414A (zh) * 2015-09-28 2017-04-05 富士通株式会社 应用程序测试系统和方法
CN105389262B (zh) * 2015-12-23 2019-02-15 北京奇虎科技有限公司 一种针对界面测试生成测试建议的方法和装置
CN105701220B (zh) * 2016-01-14 2019-07-12 周敏 一种企业内部业务数据系统及处理方法
CN107229487B (zh) * 2016-03-25 2020-09-29 阿里巴巴集团控股有限公司 代码处理方法及装置
CN106445548B (zh) * 2016-10-11 2021-01-01 武汉斗鱼网络科技有限公司 一种测试包下发方法和装置
CN107085555A (zh) * 2017-04-19 2017-08-22 广州视源电子科技股份有限公司 代码测试方法、装置、终端及存储介质
CN107203468B (zh) * 2017-04-19 2020-09-25 哈尔滨工程大学 一种基于ast的软件版本演化对比分析方法
CN107480050B (zh) * 2017-07-17 2020-10-27 上海爱数信息技术股份有限公司 一种自动测试更新包的测试方法
CN107688534A (zh) * 2017-07-26 2018-02-13 平安科技(深圳)有限公司 分层测试方法、装置、计算机设备和存储介质
CN107729227B (zh) * 2017-07-26 2020-03-06 深圳壹账通智能科技有限公司 应用程序测试范围确定方法、系统、服务器和存储介质
CN110007920B (zh) * 2018-01-04 2022-07-29 阿里巴巴集团控股有限公司 一种获取代码依赖关系的方法、装置及电子设备
CN111124872A (zh) * 2018-10-31 2020-05-08 上海哔哩哔哩科技有限公司 基于差异代码分析的分支检测方法、装置及存储介质
CN110008108B (zh) * 2018-11-12 2022-10-18 创新先进技术有限公司 回归范围确定方法、装置、设备及计算机可读存储介质
CN109582288B (zh) * 2018-11-30 2022-02-15 创新先进技术有限公司 一种生产配置回流的方法、系统和存储介质
CN111258876B (zh) * 2018-11-30 2023-08-01 中国移动通信集团浙江有限公司 一种微服务架构下的精确回归测试方法及装置
CN109947657A (zh) * 2019-04-03 2019-06-28 广东电网有限责任公司 一种企业级信息管理系统的变动范围分析方法和系统
CN112099838B (zh) * 2019-06-17 2023-08-15 腾讯科技(深圳)有限公司 确定版本差异的方法、装置及存储介质
CN110554954B (zh) * 2019-07-19 2020-12-01 中国科学院软件研究所 一种结合静态依赖和动态执行规则的测试用例选择方法
CN111752843B (zh) * 2020-06-29 2024-02-13 百度在线网络技术(北京)有限公司 用于确定影响面的方法、装置、电子设备及可读存储介质
CN112256637A (zh) * 2020-10-19 2021-01-22 贝壳技术有限公司 一种基于抽象语法树的文件管理方法、装置及存储介质
CN112486563A (zh) * 2020-12-02 2021-03-12 车智互联(北京)科技有限公司 一种代码管理方法、系统、计算设备及可读存储介质
CN112817637A (zh) * 2021-04-16 2021-05-18 四川新网银行股份有限公司 获得系统代码修改后受影响的对外提供服务接口的方法
CN113297076B (zh) * 2021-05-21 2023-06-23 建信金融科技有限责任公司 基于调用链图的服务变更识别方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2460407A (en) * 2008-05-27 2009-12-02 Symbian Software Ltd Using coverage data to choose software regression tests
CN103176895B (zh) * 2011-12-22 2016-03-30 阿里巴巴集团控股有限公司 一种回归测试方法和系统
CN102831060B (zh) * 2012-08-24 2015-07-08 东南大学 一种基于修改影响分析的部件软件回归测试用例更新方法
CN103425584B (zh) * 2013-08-27 2016-01-13 上海复深蓝信息技术有限公司 基于Java字节码的大型应用回归测试信息处理方法

Also Published As

Publication number Publication date
CN103699488A (zh) 2014-04-02

Similar Documents

Publication Publication Date Title
CN103699488B (zh) 基于调用关系依赖图的回归测试方法及系统
EP2976716B1 (en) Prioritization of tests of computer program code
Potdar et al. An exploratory study on self-admitted technical debt
US8140911B2 (en) Dynamic software tracing
US8397104B2 (en) Creation of test plans
US20140130020A1 (en) Static analysis of computer code to determine impact of change to a code component upon a dependent code component
US20150026664A1 (en) Method and system for automated test case selection
CN104461899B (zh) 测试过程中分析资源消耗量的方法、测试终端及系统
US10209984B2 (en) Identifying a defect density
US20160283357A1 (en) Call stack relationship acquiring method and apparatus
CN105138461A (zh) 一种应用程序的接口测试方法及装置
CN109542761A (zh) 软件质量评估方法、装置及存储介质
CN107729235B (zh) 定位代码缺陷生产者的方法、装置、设备及计算机可读介质
CN105630674A (zh) 一种针对界面的测试方法和装置
CN103823665B (zh) 一种sdk活跃度分析方法、网络服务器及系统
US9563541B2 (en) Software defect detection identifying location of diverging paths
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
CN115292197A (zh) 一种软件测试方法、装置、电子设备及存储介质
US20130024846A1 (en) Real-Time Code Coverage Results in AD-HOC Testing
CN103902445B (zh) 一种回归测试对象确定方法及装置
US9824175B1 (en) Method and system of evaluation of validity of a refinement rule for a hardware emulation
US20160048629A1 (en) Automatic generation of test layouts for testing a design rule checking tool
CN113641628A (zh) 数据质量检测方法、装置、设备及存储介质
Goel et al. Testability estimation of framework based applications
US8458523B2 (en) Meta attributes in functional coverage models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200715

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 100080 building 16, building 1610-1620, building 18, Building 29, Suzhou Street, Beijing, Haidian District

Patentee before: UC MOBILE Ltd.