一种回归测试方法和系统技术方案

技术编号:8862249 阅读:206 留言:0更新日期:2013-06-28 01:29
本申请提供了一种回归测试方法和系统,其中的方法具体包括:收集变更代码,并依据所述变更代码分析得到相应的变更代码信息,所述变更代码信息包括变更的类及方法;依据预置的类与类、方法与方法之间的关联关系,对所述变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法;依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例;执行所述回归测试用例,得到相应的用例执行结果。本申请能够减少人工干预,实现回归测试的自动化,提高回归测试的效率。

【技术实现步骤摘要】

本申请涉及测试
,特别是涉及一种回归测试方法和系统
技术介绍
在软件生命周期的各个阶段,无论是由于修改软件自身的缺陷还是由于用户的需求变更,都必须对软件进行针对性的回归测试,以检查各项修改或变更是否能满足用户的需求。在大规模的软件研发企业,每天有大量的系统、功能更新,因此大量代码的新增等变更不可避免。在回归测试领域,现有技术是比较死板的,就是在每天某个时刻对所有预设系统进行回归测试,如果需要立即对某个系统或某个功能进行回归测试,则需要人工干预:用户需要首先登陆测试用例管理系统,人工判断并选择出需要运行的测试用例,然后启动之,这导致回归测试的效率大大降低。这里,测试用例(TC,Test Case),指对被测的特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高回归测试的效率。
技术实现思路
本申请提供一种回归测试方法和系统,以减少人工干预,实现回归测试的自动化,提高回归测试的效率。为了解决上述问题,本申请公开了一种回归测试方法,包括:收集变更代码,并依据所述变更代码分析得到相应的变更代码信息,所述变更代码信息包括变更的类及方法;依据预置的类与类、方法与方法之间的关联关系,对所述变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法;依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例;执行所述回归测试用例,得到相应的用例执行结果。优选的,所述方法还包括:在执行回归测试用例前,获取所述回归测试用例的目标应用和目标机器;在执行所述回归测试用例的过程中,记录相应目标机器中的目标应用运行过的代码;在所述用例执行结果为失败时,通过分析所记录的目标应用运行过的代码,定位相应的软件缺陷中的类及方法。优选的,所述变更代码信息还包括变更的应用、jar包或URL ;所述方法还包括:依据预置的应用与类、应用与方法、应用与应用、jar包与类、jiar包与方法、URL与类或URL与方法之间的关联关系,对所述变更的应用、jar包或URL进行依赖分析,得到所有可能受到变更影响的类及方法或应用;在得到所有可能受到变更影响的应用时,所述方法还包括:依据预置的应用与测试用例之间的对应关系,得到与所述所有可能受到变更影响的应用相应的测试用例,作为回归测试用例。优选的,在对所述变更的类及方法进行依赖分析前,所述方法还包括:依据预置的代码变更次数参数或时间参数,对收集和分析得到的变更的类及方法进行汇总;对汇总的变更的类及方法进行去重处理。所述去重处理包括在:在遍历所述汇总的变更的类及方法的过程中,相同的变更的类及方法仅记录一次;所述对所述变更的类及方法进行依赖分析为,依据预置的类与类、方法与方法之间的关联关系,对去重处理后的变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法。优选的,所述执行所述回归测试用例的步骤包括:依据所述所有可能受到变更影响的类及方法所在的应用,发布所述应用的最新程序;在已发布最新程序的环境下执行所述回归测试用例,得到相应的用例执行结果。优选的,所述执行所述回归测试用例的步骤包括:依据定时回归策略或变更次数上限策略,针对所述回归测试用例创建任务对象,确定任务对象的信息,并保存至数据库;依据所述任务对象的信息,执行数据库中的任务对象。优选的,所述收集变更代码的步骤为,通过监控代码服务器,收集所有的变更代码。另一方面,本申请还公开了一种回归测试系统,包括:收集装置,用于收集变更代码;变更分析装置,用于依据所述变更代码分析得到相应的变更代码信息,所述变更代码信息包括变更的类及方法;第一依赖分析装置,用于依据预置的类与类、方法与方法之间的关联关系,对所述变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法;第一回归测试用例获取装置,用于依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例;用例执行装置,用于执行所述回归测试用例,得到相应的用例执行结果。优选的,所述系统还包括:应用信息获取装置,用于在执行回归测试用例前,获取所述回归测试用例的目标应用和目标机器;记录装置,用于在执行所述回归测试用例的过程中,记录相应目标机器中的目标应用运行过的代码 '及代码分析装置,用于在所述用例执行结果为失败时,通过分析所记录的目标应用运行过的代码,定位相应的软件缺陷中的类及方法。优选的,所述变更代码信息还包括变更的应用、jar包或URL ;所述系统还包括:第二依赖分析装置,用于依据预置的应用与类、应用与方法、应用与应用、jar包与类、jiar包与方法、URL与类或URL与方法之间的关联关系,对所述变更的应用、jar包或URL进行依赖分析,得到所有可能受到变更影响的类及方法或应用;第二回归测试用例获取装置,用于在得到所有可能受到变更影响的应用时,依据预置的应用与测试用例之间的对应关系,得到与所述所有可能受到变更影响的应用相应的测试用例,作为回归测试用例。与现有技术相比,本申请具有以下优点:首先,本申请自动收集并分析所有变更代码得到变更的类及方法,并进一步依据依赖分析得到所有可能受到变更影响的类及方法,以及依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例;因此,相对于现有技术,本申请能够减少人工干预,实现回归测试的自动化,提高回归测试的效率。其次,相对于调用全部的测试用例进行测试以避免有漏网之鱼的现有技术,由于本申请收集并分析所有变更代码得到变更的类及方法以确定代码的变更所引起需要回归测试的范围,因此,能够起到缩小回归测试范围的效果,而且能够进一步提高回归测试的效率,节省机器资源。再者,本申请还可以在执行回归测试用例的过程中,记录相应目标机器中的目标应用运行过的代码;这样,在相应的用例执行结果为失败时,记录的就是含有缺陷的代码,此时,可以通过分析所记录的目标应用运行过的代码,定位相应的软件缺陷中的类及方法;另外,本申请还可以通过人工进一步分析这些代码将目标应用缺陷定位到行的级别。附图说明图1是本申请一种回归测试方法实施例1的流程图; 图2是本申请一种回归测试方法实施例2的流程图;图3是本申请一种回归测试方法实施例3的流程图;图4是本申请一种回归测试方法的应用示例;图5是本申请一种回归测试系统实施例的结构图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。在需要立即对某个系统或某个功能进行回归测试时,因为代码的变更所引起需要回归测试的范围在原有回归测试方案中不可获得,并且测试用例与变更的代码没有关联关系,所以现有技术在选择需要回归的用例时需要人工干预。本申请专利技术人注意到了这一点,创造性地提出了本申请的专利技术构思:1、本申请自动收集并分析所有变更代码得到变更的类及方法,并进一步依据依赖分析得到所有可能受到变更影响的类及方法;所有可能受到变更影响的类及方法能够确定代码的变更所引起需要回归测试的范围;2、本申请自动集成代码关联测试用例功能,也即,预置类及方法与测试用例之间的本文档来自技高网...

【技术保护点】
一种回归测试方法,其特征在于,包括:收集变更代码,并依据所述变更代码分析得到相应的变更代码信息,所述变更代码信息包括变更的类及方法;依据预置的类与类、方法与方法之间的关联关系,对所述变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法;依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例;执行所述回归测试用例,得到相应的用例执行结果。

【技术特征摘要】
1.一种回归测试方法,其特征在于,包括: 收集变更代码,并依据所述变更代码分析得到相应的变更代码信息,所述变更代码信息包括变更的类及方法; 依据预置的类与类、方法与方法之间的关联关系,对所述变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法; 依据预置的类及方法与测试用例之间的对应关系,得到与所述所有可能受到变更影响的类及方法相应的测试用例,作为回归测试用例; 执行所述回归测试用例,得到相应的用例执行结果。2.如权利要求1所述的方法,其特征在于,还包括: 在执行回归测试用例前,获取所述回归测试用例的目标应用和目标机器; 在执行所述回归测试用例的过程中,记录相应目标机器中的目标应用运行过的代码;在所述用例执行结果为失败时,通过分析所记录的目标应用运行过的代码,定位相应的软件缺陷中的类及方法。3.如权利要求1所述的方法,其特征在于,所述变更代码信息还包括变更的应用、jar包或URL ; 所述方法还包括: 依据预置的应用与类、应用与方法、应用与应用、jar包与类、jiar包与方法、URL与类或URL与方法之间的关联关系,对所述变更的应用、jar包或URL进行依赖分析,得到所有可能受到变更影响的类及方法或应用; 在得到所有可能受到变更影响的应用时,所述方法还包括: 依据预置的应用与测试用例之间的对应关系,得到与所述所有可能受到变更影响的应用相应的测试用例,作为回归测试用例。4.如权利要求1所述的方法,其特征在于,在对所述变更的类及方法进行依赖分析前,所述方法还包括: 依据预置的代码变更次数参数或时间参数,对收集和分析得到的变更的类及方法进行汇总; 对汇总的变更的类及方法进行去重处理。所述去重处理包括在:在遍历所述汇总的变更的类及方法的过程中,相同的变更的类及方法仅记录一次; 所述对所述变更的类及方法进行依赖分析为,依据预置的类与类、方法与方法之间的关联关系,对去重处理后的变更的类及方法进行依赖分析,得到所有可能受到变更影响的类及方法。5.如权利要求1所述的方法,其特征在于,所述执行所述回归测试用例的步骤包括: 依据所述所有可能受到变更影响的类及方法所在的应用,发布所述应用的最新...

【专利技术属性】
技术研发人员:马治国李子乐李国栋商锦波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1