美文网首页软件测试
你真的了解回归测试吗?

你真的了解回归测试吗?

作者: 刘晓佳rachel | 来源:发表于2021-04-08 14:11 被阅读0次

转自公众号文章:https://mp.weixin.qq.com/s/G_n8yfm-1V-1e06Z8X9VSQ

图片

什么是回归测试

回归测试(regression test)是在程序被修改后启动的一个测试过程****。其目的在于验证程序被修改后,程序仍然按照原有测试用例正常运行。

在开发阶段,回归测试可用于发现缺陷并被修复后,重新验证带缺陷功能块这一阶段。

图片

回归测试和普通测试的区别

许多人常以为回归测试只是普通测试的拓展,然而事实并非完全如此。回归测试与普通测试存在着以下几点区别。

1. 测试计划有不同

普通测试的测试计划使用的测试用例全是新增未曾执行过的,常用于代码开发阶段。

而回归测试测试计划中使用的测试用例为已经被执行过的。

2. 测试范围不同

普通测试旨在于检测程序的正确性,包括单模块功能正确性以及模块交互的正确性。

而回归测试只关注产生缺陷或新增功能点的程序正确性。

3. 时间消耗不同

普通测试大约占产品研发-交付周期一半以上。

而回归测试与之相比,只占用很少的一部分时间。

4. 开发信息不同

普通测试阶段,开发人员与测试人员关系和距离较近,测试人员获取开发信息比较容易和全面。

而回归测试可以在任何时间、地点执行,测试人员获取开发信息相比不会那么易得。

5. 完成时间不同

回归测试要求的完成时间远远小于普通测试,因为回归测试只会针对部分功能进行测试。

6. 频率不同

回归测试在产品生命周期内会被频繁执行(如每个缺陷被修复后都会被执行)。

而普通测试一旦在产品交付后就会被终止。

image.gif

回归测试的分类

回归测试可被分为两类:递进型回归测试(Progressiveregression testing)和修正型回归测试(corrective regression testing)

递进型回归测试是指对原有测试用例进行修改,以适配测试修改后的程序(如新需求引入导致的模块或功能增删)。

修正型回归测试与递进型回归测试相反,主要特点在于原有测试用例不做任何修改。修正型回归测试主要用于修正程序设计错误或缺陷修复后的测试,其目的在于验证程序严格按照测试用例的输入输出描述运行。

递进型回归测试和修正型回归测试的区别总结如下表1所示:

image.gif

表1

递进型回归测试和修正型回归测试的区别

通过前面部分可以知道,回归测试总的目的是检测原有模块/功能点或新增模块/功能点运行正常、无缺陷。那么我们如何进行回归测试呢?

回归测试流程与普通测试流程大同小异,都需要经过测试用例准备、测试计划(可有可无)、测试执行、测试报告输出等步骤。

image.gif

如何进行回归测试

以数学形式表示回归测试使用的用例,可以这样说明:假如某开发周期的软件功能集合为P,与之对应的测试用例集为T。

在回归测试时,我们可以使用测试用例集T、对新增/修改(比如修复缺陷)后的功能集P、进行测试。其中P、⊂P,T、⊂T。以此可见,针对回归测试,关键点在于测试用例集T、的选取

那么如何选取回归测试用例集呢?

常用:根据代码修改部分选取回归测试用例集,或根据数据流图选取回归测试用例集等方法。简而言之,收集需要回归测试的功能集P、相关信息,在用例库中检索出与之关联的测试用例集T、。

还是让我们用实例说明进行回归测试的整个流程吧,结合第三部分的阐述,以两个例子来说明不同的回归测试类型,如何进行回归测试。

1. 修正型回归测试

修正型回归测试主要用于检测出缺陷后并修复缺陷后进行,使用流程图表示这个过程可以如下图所示:

图片

图1 修正型回归测试流程图

假设:开发周期D内,软件功能集为P={P1,P2,P3,P4,P5},对应测试用例集为T={T1,T2,T3,T4,T5}。

经过普通测试后,提交缺陷集B={B2,B3},B2是T2用例发现的与P2功能相关的缺陷,B3是T3用例发现的与P3功能相关的缺陷。

经过缺陷修复后,需要对检测出缺陷的功能P2,P3进行回归测试,回归测试用例集为T、={T2,T3},T2和T3用例不做任何修改进行测试。

2. 递进型回归测试

递进型回归测试通常针对对原有功能进行增删等修改后进行,递进型流程图和所处阶段如下图2所示,递进型回归测试可用于当前开发周期对原有功能进行修改后启动。

image.gif

图2 递进型回归测试流程图

假设:开发周期Dn+1内,软件功能集为P={P1,P2,P3,P4,P5、,P6,P7},其中P1-P4为软件原有功能,P6、P7为开发周期Dn+1内新增功能,P5、为对原有P5功能进行修改后的功能。

对应测试用例集为T包含原有用例集T1-T4,新增用例集T6,、7,和修改后的测试用例T5、。即T={T1,T2,T3,T4,T5、,T6,T7}。

在递进型回归测试阶段,需要对P5、功能进行回归测试,使用的测试用例为对原有T5用例进过修改,以适配新P5、的T5、用例。

图片

清楚回归测试的意义

回归测试在测试活动中经常被提及和使用,常有测试人员不清楚常规(普通)测试和回归测试的意义,以及如何进行过回归测试。经过本文的介绍,可以帮助测试人员更好地了解和回归测试活动。

相关文章

网友评论

    本文标题:你真的了解回归测试吗?

    本文链接:https://www.haomeiwen.com/subject/pgxvkltx.html