软件回归测试及其实践

发表于:2014-10-29来源:uml.org.cn作者:不详点击数: 标签:回归测试
本文描述了软件回归测试的概念和进行回归测试的基本步骤,介绍了可用于回归测试的 测试用例库的维护方法,给出了几种可以可保证回归测试效率和有效性的回归测试策略,总

  摘要:本文描述了软件回归测试的概念和进行回归测试的基本步骤,介绍了可用于回归测试的

  测试用例库的维护方法,给出了几种可以可保证回归测试效率和有效性的回归测试策略,总结

  了回归测试时应该注意的一些实际问题。

  关键词:回归测试;测试用例;基线测试用例库

  Software Regression Testing and It’s Practice

  Abstract:The article present the conception of regression testing and the step

  of executing this testing. Introduce how to maintenance the test case library

  which used in regression testing ,and provide the method of ensure regression

  testing’s validity. Finally, it gives some problem must be careful in the period

  of regression testing.

  Keywords:regression testing;test case;baseline test case library

  作者简介:李丹(1978-),女,江苏如东人,信息产业部电子第五研究所助理工程师,从事

  软件可靠性研究及测试工作。

  一、 概述

  在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软

  件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模

  块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错

  误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表

  现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修

  改的部分产生新的问题,使本来工作正常的功能产生错误。同样,在有新代码加入软件的时

  候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。因此,

  每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目

  的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修

  改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。

  回归测试在软件生命周期中扮演着重要的角色,因忽视回归测试而造成严重后果的例子不

  计其数,导致阿里亚娜5型火箭发射失败的软件缺陷就是由于复用的代码没有经过充分的回归

  测试造成的。

  回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比

  重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发

  布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。

  因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

  二、 回归测试策略

  对于一个软件开发项目来说,项目的测试组在实施测试的过程中会将所开发的测试用例保

  存到“测试用例库”中,并对其进行维护和管理。当得到一个软件的基线版本时,用于基线版

  本测试的所有测试用例就形成了基线测试用例库。在需要进行回归测试的时候,就可以根据所

  选择的回归测试策略,从基线测试用例库中提取合适的测试用例组成回归测试包,通过运行回

  归测试包来实现回归测试。保存在基线测试用例库中的测试用例可能是自动测试脚本,也有可

  能是测试用例的手工实现过程。

  回归测试需要时间、经费和人力来计划、实施和管理。为了在给定的预算和进度下,尽可

  能有效率和有效力地进行回归测试,需要对测试用例库进行维护并依据一定的策略选择相应的

  回归测试包。

  1、测试用例库的维护

  为了最大限度地满足客户的需要和适应应用的要求,软件在其生命周期中会频繁地被修改

  和不断推出新的版本,修改后的或者新版本的软件会添加一些新的功能或者在软件功能上产生

  某些变化。随着软件的改变,软件的功能和应用接口以及软件的实现发生了演变,测试用例库

  中的一些测试用例可能会失去针对性和有效性,而另一些测试用例可能会变得过时,还有一些

原文转自:http://www.ltesting.net