如何做好回归测试

上一篇 / 下一篇  2009-09-14 17:11:58 / 个人分类:项目管理

什么是回归测试

回归测试(Regression testing)是指代码在发生修改之后重新测试之前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的缺陷是否在软件新版本上再次出现。

为什么做回归测试?

回归测试的目的在于验证之前出现过但已经修复好的缺陷是否重新出现及是否引入新的缺陷。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。为了修正某缺陷时必须更改源代码,就有可能影响这部分源代码所控制的功能,所以在验证修正好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。因此应当鼓励对所有回归测试用例进行自动化测试

 

 

如何有效的做回归测试?

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

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

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

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

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

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

 

实例:Remote access

问题描述:

问题1.代码发生修改后,测试组没有介入测试。由开发代替完成。

解决方案:由测试部门负责回归测试。

 

 

问题2.回归测试时,有测试列表,但是没有100%执行。由于硬件原因无法测试的情况没有标注N/A.

解决方案:

Ø        如果时间充裕,执行全部用例

Ø        如果时间紧张的话,执行优先级高的用例。

1.新修改的功能,以及关联功能

2.用例中级别比较高的用例

3.最致命的部分,譬如说安全隐患,数据泄露,加密注册

4.程序的主干功能

 

问题3  remote access项目没有专门的测试人员,前一版本的测试员和后一版本的测试员不是同一人,可能出现知识断层。

解决方案:人员跟随项目,负责更新维护测试用例,执行测试。保证测试连续性。

建议4 有条件的引入自动化工具,基线功能自动化。常用的主干功能自动化测试。


TAG:

 

评分:0

我来说两句

Open Toolbar