原文發佈於http://blog.csdn.net/iefreer/article/details/11559657
在測試領域,冒煙測試(smoke test)、可用性測試(sanity test)和迴歸測試(regression test)彼此之間很相似,範圍也有重疊,
所以比較容易混淆:都是在需求變更或問題修改後對系統全面測試之前的一種預測試,都是爲了發現是否在界面和代碼層面引入了問題。
我們可以用一個和河流相關的類比來更好的理解它們之間的差別,在類比之前,我們先了解下這幾個測試的簡單定義:
- Smoke Testing: 測試新特性有關的所有方面 (廣度) ,但不深入,用以判斷我們是否需要執行進一步的測試
- Sanity Testing: 測試新特性的有限正常功能,深入測試
- Regression testing: 迴歸新特性所有相關功能,避免引入代碼變更存在問題以及引入新問題,深入全面
如果我們拿一條河流來比喻,比如1000英尺寬,在水裏含有雜質(可以比作軟件中的bug),
那麼這三種類型的測試可以被看作如下:
對於Smoke Testing: 爲了找到河面所有的雜質,但不包括水面以下的
對於Sanity Testing: 爲了找到某個特定範圍內所有的雜質(比如200英尺半徑內),這不包含所有表面的雜質,但包含了那個範圍內水面下直到水底的雜質
對於Regression Testing: 爲了這片水域所有的雜質,表面的以及水面以下的
by iefreer