一.概述

  引用維基百科中回歸測試的定義: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認為有可能出問題的功能,應該重點測試

  三.總結

  一般來說,不會每次測試都采用完全重復方法,也不會采用一種采用選擇性的測試,具體如何選擇策略,要根據項目的資源,進度,重要程度,公司的軟件開發流程等因素綜合決定采取什么樣的策略