软件测试中回归测试,你知道吗? ​

TestWhite 2018年5月14日00:01:41测试简介评论5592061字阅读6分52秒

    相信很多同学都是听过回归测试这个说法的吧,而自动化测试很多时候都应用在这个时候,今天就来说一说回归测试吧。

 

一、软件回归测试的定义: 

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法

1、回归测试是指重复以前的全部或部分的相同功能测试

2、新加入测试的模块,可能对其他模块产生副作用,因此要进行某些程度的回归测试

3、回归测试的重心,是以关键性模块为核心

 

二、做回归测试的好处如下:

1、自动回归测试将大幅度降低系统测试、维护升级等阶段的成本,回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都可以进行多次回归测试。

 

2、回归测试的意义:

1)在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试;因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的

 

3、做回归测试的测试用例的选择:

1)对于一个软件开发项目来说,项目的测试组在实施测试的过程中会将所开发的测试用例保存到“测试用例库”中,并对其进行维护和管理。当得到一个软件的基线版本时,用于基线版本测试的所有测试用例就形成了基线测试用例库。在需要进行回归测试的时候,就可以根据所选择的回归测试策略,从基线测试用例库中提取合适的测试用例组成回归测试包,通过运行回归测试包来实现回归测试。保存在基线测试用例库中的测试用例可能是自动测试脚本,也有可能是测试用例的手工实现过程。

2)同时测试用例的维护是一个不间断的过程,通常可以将软件开发的基线作为基准,维护的主要内容包括下述几个方面,

(1)删除过时的测试用例:

因为需求的改变等原因可能会使一个基线测试用例不再适合被测试系统,这些测试用例就会过时,例如,某个变量的界限发生了改变,原来针对边界值的测试就无法完成对新边界测试。所以,在软件的每次修改后都应进行相应的过时测试用例的删除

 

(2)改进不受控制的测试用例:

随着软件项目的进展,测试用例库中的用例会不断增加,其中会出现一些对输入或运行状态十分敏感的测试用例:,这些测试不容易重复且结果难以控制,会影响回归测试的效率,需要进行改进,使其达到可重复和可控制的要求。

(3)删除冗余的测试用例:

如果存在两个或者更多个测试用例针对一组相同的输入和输出进行测试,那么这些测试用例是冗余的。冗余测试用例的存在降低了回归测试的效率:,所以需要定期的整理测试用例库,并将冗余的用例删除掉。

(4)增添新的测试用例:

如果某个程序段、构件或关键的接口在现有的测试中没有被测试,那么应该开发新测试用例重新对其进行测试:,并将新开发的测试用例合并到基线测试包中,通过对测试用例库的维护不仅改善了测试用例的可用性,而且也提高了测试库的可信性,同时还可以将一个基线测试用例库的效率和效用保持在一个较高的级别上。

3)选择回归测试应该兼顾效率和有效性两个方面,常用的选择回归测试的方式包括:

(1)再测试全部用例:

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

(2)基于风险选择测试:

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

(3)基于操作剖面选择测试:

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

(4)再测试修改的部分

当测试者对修改的局部部分有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。

通常,一个回归错误一定涉及一个新的、修改的或删除的代码段,在允许的条件下,回归测试尽可能覆盖受到影响的部分。

4)回归测试的基本过程:

(1)重点测试软件中被修改的部分;

(2)从原基线测试用例库中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库。

(3)依据一定的策略从测试用例库中选择测试用例测试被修改的软件。

(4)如果必要,生成新的测试用例集,用于测试无法充分测试到的软件部分。

(5)用新软件测试用例集执行修改后的软件。

  • 我们QQ群
  • QQ扫一扫
  • weinxin
  • 微信公众号
  • 公众号扫一扫
  • weinxin
TestWhite
  • 本文由 发表于 2018年5月14日00:01:41
  • 请您在转载时请务必保留本文链接:https://www.playezu.com/12491.html
阿里云小店
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定