如何更高效的进行回归测试?
 

2009-05-19 来源:IT168

 

1、回归测试基本策略及其评价

基于以上基本原则的阐述,回归测试的基本策略目前有如下几种,现一一进行阐述。

1.1 回归测试方式

GTRT:全面用例回归测试选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较安全的方法,再测试全部用例具有最低的遗漏回归错误的风险,但测试成本最高。全部再测试几乎可以应用到任何情况下,基本上不需要进行分析和重新开发,但是,随着开发工作的进展,测试用例不断增多,重复原先所有的测试将带来很大的工作量,往往超出了我们的预算和进度(即使在引入了回归测试自动化来缓解回归测试的工作强度及时间进度压力)。

BRRT:基于风险的回归测试可以基于一定的风险标准来从基线测试用例库中选择回归测试包。首先运行最重要的、关键的和可疑的测试,而跳过那些非关键的、优先级别低的或者高稳定的测试用例,这些用例即便可能测试到缺陷,这些缺陷的严重性也仅有三级或四级。一般而言,测试从主要特征到次要特征。

BORT:基于操作剖面的回归测试如果基线测试用例库的测试用例是基于软件操作剖面开发的,测试用例的分布情况反映了系统的实际使用情况。回归测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些针对最重要或最频繁使用功能的测试用例,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障。这种方法可以在一个给定的预算下最有效的提高系统可靠性,但实施起来有一定的难度。

BIRT:基于影响面分析的回归测试当测试者对修改的局部化有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。通常,一个回归错误一定涉及一个新的、修改的或删除的代码段。在允许的条件下,回归测试尽可能覆盖受到影响的部分。

1.2 回归测试基本策略

评价具体的回归测试基本策略评价表如下所示:

图表2 回归测试基本策略评价表

全面用例回归测试的策略是最安全的策略,但已经运行过许多次的回归测试不太可能揭示新的错误,而且很多时候,由于时间、人员、设备和经费的原因,不允许选择再测试全部用例的回归测试策略,此时,可以选择适当的策略,进行缩减的回归测试。某一个项目的回归测试往往是针对具体的情况,分别引用不同的执行策略而确定的。

2、系统回归测试解决方案

2.1 回归测试基本策略在系统的引用说明

备选策略:全面用例回归测试具体介绍如前。就如以上所言,其优势在于回归覆盖率,但是对目前的系统而言,无论是作为手工测试还是自动化测试,其前期的投入巨大,在短期内可能无法取得良好的效果。就中长期建设,可考虑该方案。

备选策略:基于风险的回归测试具体介绍如前。基于风险的回归测试在系统中的实施难度在于前期的功能风险筛选。自动化实施难度一般,但缺乏业务连贯性是该策略的致命问题。

备选策略:基于操作剖面的回归测试具体介绍如前。基于操作剖面的回归测试可以有效降低前期投入,在开始的初期,可以筛选特定的测试案例库用以进行回归测试,其优点在于业务面方向性明确,可以有效保障在用系统的核心关键业务问题可及早发现,但其缺点也是较明显的:覆盖率不足,且自动化实施的难度偏大

备选策略:基于影响面分析的回归测试具体介绍如前。基于影响面分析的回归测试是单元级测试。在系统上,基于影响面分析的回归测试的主要优点是可以大幅降低测试案例库的大小,但是,基于业务层面的考虑,在线系统一般都很少考虑使用该策略。同时,该策略在实施的分析阶段内要求较为规范的开发流程,以使测试开发人员能实现回归测试自动化。从目前的情况看,在系统实施该项测试的可能性不大。

2.2 系统回归测试策略模型

综合评定了以上四种基本策略在系统上的引用说明,现提出如下的策略选择方法参考解决当前系统回归测试问题,提升业务系统的品质保障,规避更新升级可能带来的故障风险。该策略模型的基本思想如下:

实现基础:

1)基于系统测试用例库,并对测试案例按策略进行划分及补充

综合策略:

1)以BORT为主策略

2)BIRT及BRRT为辅助型策略,支持BORT主策略,对相关的回归测试集合进行补充

3)当持续运维到一定阶段后,将逐步形成GTRT策略的覆盖

见图表3所示:

图表3 系统回归测试组合策略模型


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织