一.概述

  引用维基百科中回归测试的定义:Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to the software, such as functional enhancements, patches or configuration changes,简言之是在软件系统增加新功能,修复bug,配置改变之后所进行的测试,以确定本来已经存在的功能没有引入新的bug.

  二.回归测试方法

  1.完全重复测试

  这个是运行所有的测试用例,以确保新功能,老的功能,依然运行良好.这种方法适合测试人员充足的情况,或者自动化测试代码覆盖率很高的时候,总之,是能够有时间执行完所有的测试用例.

  曾经在一个敏捷开发的项目中,每一个Iteration(3个星期),都会有一星期的时间去做当前Phase的完全回归测试,但是对上一个Phase的功能,则不进行验证

  2.选择性的重复测试

  是在验证新的功能或者配置功能正常之外,有选择性的做回归测试.其实具体怎么选择,完全可以根据项目的情况具体分析,我认为,以下的几点可以参考

  a.刚刚增加的新功能以及新修复的bug,这个是一定要验证的

  b.系统中重要的功能,如果有将测试用例分优先级的话,优先级高的测试用例应该要被执行到

  c.与developer交流,确定哪些功能是受新的改变而有可能发生问题的.这些developer认为有可能出问题的功能,应该重点测试

  三.总结

  一般来说,不会每次测试都采用完全重复方法,也不会采用一种采用选择性的测试,具体如何选择策略,要根据项目的资源,进度,重要程度,公司的软件开发流程等因素综合决定采取什么样的策略