一种快速软件系统回归测试的方法及装置制造方法及图纸

技术编号:14485083 阅读:143 留言:0更新日期:2017-01-26 17:45
本发明专利技术公开了一种快速软件系统回归测试的方法及装置,主要应用于系统测试环节,用以简化回归测试过程,尽早发现复杂Bug,提高测试效率。该方法不依赖于人的主观判断,对测试资源、测试环境和测试者要求都很低,方便实施。该方法包括:根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;根据变化单元的复杂度及用户接口使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;依据上述测试范围和优先级顺序实施测试。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种黑盒软件系统回归测试的方法及装置。
技术介绍
近些年,软件的功能越来越丰富,复杂度也越来越高。随之,黑盒系统测试的测试用例数成倍增长,执行一次全集回归测试的时间大幅度增加,已经成为影响产品快速发布的重要因素之一。尤其在升级维护项目中,需求一般来源于客户,存在需求变化快、时间要求紧、绝大部分代码属于继承等特点,原有的穷举所有测试用例的测试策略存在的周期长、效率低的问题愈加凸显。凭经验选择部分子集进行回归,虽然可以大幅度的减少测试时间,但测试质量无法保证,存在很大的漏测风险。回归测试优化技术的重点是如何选择有效的回归测试包来保证测试有效性并提高测试效率。如何平衡成本与风险,业内进行了众多优化技术研究,大部分都集中在对每一个测试需求对应的多个测试用例约简技术和测试用例优先级技术上,对测试范围优化技术鲜有涉猎。测试用例集约简技术是回归测试时仍要覆盖每一个测试需求,例如粒子群优化(PSO)算法、启发式算法、遗传算法、基于数据依赖及控制依赖的用例选择方法等。但上述测试方法及装置存在两点问题:一是,对系统测试者的能力要求很高,或者需要掌握用户会如何的全部场景,或者需要对被测软件的设计非常了解,清楚了解每个测试用例在代码中的执行路径,这是大多数系统测试人员都无法掌握的。二是,对测试环境和测试资源的要求较高。尤其是嵌入式系统,测试资源紧张、测试手段匮乏,很难实施。综上,需要寻求并设计一种效率更高、对测试者能力和测试资源要求都较低的黑盒软件系统回归测试装置。
技术实现思路
本专利技术实施例提供了一种快速软件系统回归测试的方法及装置,用以解决目前软件系统回归测试效率不高,不全面的问题。方法的关键是分析变化部分的代码与系统用户接口的关系,从而确定回归测试用例范围和优先级顺序。通过本方法可以大幅度裁剪测试用例,同时精确圈定测试用例集,避免漏测。本专利技术实施例提供的一种快速软件系统回归测试的方法包括:步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;步骤(3)依据上述测试范围和优先级顺序实施测试。本专利技术实施例提供的一种快速软件系统回归测试的装置包括:模块(1)代码变化分析模块,用于分离出代码发生变化的单元。结果输出给全集测试用例筛选装置和复杂度分析模块。模块(2)使用关系分析模块,用于分析代码中所有单元之间的使用关系。结果输出给全集测试用例筛选装置和测试用例优先级排序模块。模块(3)复杂度分析模块,用于分析发生变化的单元的复杂度。结果输出给测试用例优先级排序模块。模块(4)全集黑盒系统测试用例筛选模块,用于从全集黑盒系统测试用例集中筛选出应用于测试的测试用例。结果输出给测试用例优先级排序模块和测试用例执行模块。模块(5)测试用例优先级排序模块,用于对测试用例集中的测试用例进行优先级排序。结果输出给测试用例执行模块。模块(6)测试用例执行模块,用于测试用例的执行。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种快速软件系统回归测试的方法示意图;图2为本专利技术实施例提供的一种快速软件系统回归测试的装置的模块关系示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术的一种快速软件系统回归测试的方法与装置的具体实施方式作进一步详细描述。本专利技术实施例提供了一种快速软件系统回归测试的方法及装置,用以解决目前软件系统回归测试效率不高,不全面的问题。通过本方法可以大幅度裁剪测试用例,同时精确圈定测试用例集,避免漏测。如图1所示,所述方法包括:步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;步骤(3)依据上述测试范围和优先级顺序实施测试。较佳的,步骤(1)中根据代码差异以及使用关系,获得全部变化影响的用户接口全集,包括:分析代码差异,分离出代码发生变化的单元;分析代码中所有单元之间的使用关系,分析出每个单元被哪些单元直接使用,以及直接使用了哪些函数;分析代码发生变化的单元被哪些用户接口单元使用。较佳的,步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,包括:评估每个变化单元的复杂度;依据复杂度评估值对变化单元进行排序,分配顺序号;分析每个用户接口使用的代码发生变化的单元;将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。如图2所示,所述装置包括:模块(1)代码变化分析模块,用于分离出代码发生变化的单元。结果输出给全集测试用例筛选装置和复杂度分析模块。模块(2)使用关系分析模块,用于分析代码中所有单元之间的使用关系。结果输出给全集测试用例筛选装置和测试用例优先级排序模块。模块(3)复杂度分析模块,用于分析发生变化的单元的复杂度。结果输出给测试用例优先级排序模块。模块(4)全集黑盒系统测试用例筛选模块,用于从全集黑盒系统测试用例集中筛选出应用于测试的测试用例。结果输出给测试用例优先级排序模块和测试用例执行模块。模块(5)测试用例优先级排序模块,用于对测试用例集中的测试用例进行优先级排序。结果输出给测试用例执行模块。模块(6)测试用例执行模块,用于测试用例的执行。较佳的,模块(2)使用关系分析模块,包括:以单元为单位,分析出每个单元被哪些单元直接使用,以及直接使用了哪些单元。较佳的,模块(4)全集黑盒系统测试用例筛选模块,包括:分析代码发生变化的单元被哪些用户接口单元使用;从全集黑盒系统测试用例集中筛选出上述用户接口单元对应的黑盒系统测试用例集。较佳的,模块(5)测试用例优先级排序模块,包括:依据复杂度评估值对变化单元进行排序,分配顺序号;分析每个用户接口单元使用的代码发生变化的单元;将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。经实践证明本专利技术提供的这种快速软件系统回归测试的方法及装置,简单可行,能够以更高的效率、更全面的覆盖率的完成软件系统回归测试。显然,本领域的技术人员可以对本专利技术进行各种改动和变型而不脱离本专利技术的精神和范围。这样,倘若本专利技术的这些修改和变型属于本专利技术权利要求及其等同技术的范围之内,则本专利技术也意图包含这些改动和变型在内。本文档来自技高网...
一种快速软件系统回归测试的方法及装置

【技术保护点】
一种快速软件系统回归测试的方法,其特征在于,该方法包括:步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;步骤(3)依据上述测试范围和优先级顺序实施测试。

【技术特征摘要】
1.一种快速软件系统回归测试的方法,其特征在于,该方法包括:步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;步骤(3)依据上述测试范围和优先级顺序实施测试。2.如权利要求1所述的方法,其特征在于,步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,包括:分析代码差异,分离出代码发生变化的单元;分析代码中所有单元之间的使用关系,分析出每个单元被哪些单元直接使用,以及直接使用了哪些函数;分析代码发生变化的单元被哪些用户接口单元使用。3.如权利要求1所述的方法,其特征在于,步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,包括:评估每个变化单元的复杂度;依据复杂度评估值对变化单元进行排序,分配顺序号;分析每个用户接口使用的代码发生变化的单元;将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。4.一种快速软件系统回归测试的装置,其特征在于,该装置包括:模块(1)代码变化分析模块,用于分离出代码发生变化的单元;结果输出给全集测试用例筛选装置和复杂度分析模块;模块(...

【专利技术属性】
技术研发人员:吕如茜
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

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

1