Smoke testing,Sanity testing and Regression testing
??????本篇文章將簡單系統地介紹冒煙測試(Smoke testing)、可用性測試(Sanity testing)及回歸測試(Regression testing),并對三種測試進行對比。
文章目錄
- 一、 冒煙測試(Smoke testing)
- 起源
- 總結起來,==冒煙測試具有以下五特征==:
- 二、可用性測試(Sanity testing)
- 三、回歸測試(Regression testing)
- 回歸測試分為兩類:
- 回歸測試步驟:
- 四、三種測試的對比
一、 冒煙測試(Smoke testing)
起源
??????Smoke testing起源于管道測試——通過往管道中灌煙,查看管道是否冒煙,來初步判斷管道是否有縫隙。
??????由此我們可以推斷出Smoke Testing 只是一種初級、直觀的測試。類似地,在軟件測試環境中,冒煙測試指的是測試構建(Build)的基本功能。如果測試失敗,構建將被宣布為不穩定,并且在構建的冒煙測試通過之前不再測試。
總結起來,冒煙測試具有以下五特征:
??????冒煙測試與BVT雖然相似,但仍有一定的區別,兩者在執行階段、內容、執行結果對后續工作的影響等方面有著本質區別。
二、可用性測試(Sanity testing)
??????Sanity Testing 是在接收到軟件構建(Build)后進行的一種測試,在代碼或功能上做了細微的更改,以確定缺陷已被修復,并且不會因這些更改而引入進一步的問題。目標是確定所建議的功能大致如預期的那樣工作。如果Sanity Testing失敗,那么構建將被拒絕,以節省進行更嚴格測試所需的時間和成本。
??????Sanity Testing 通常是無腳本的,它用于確定應用程序的某個部分在發生微小更改后是否仍在工作。因此,Sanity Testing 是一種狹義的回歸測試,它主要關注一個或幾個功能領域。
??????需要在軟件構建中執行Sanity Testing和Smoke Testing時,應首先執行Smoke Testing,然后再繼續進行Sanity Testing。
三、回歸測試(Regression testing)
??????回歸測試一種黑盒測試技術,包括重新執行受代碼更改影響的測試,以確認此次修改沒有引入新的錯誤。在整個軟件開發生命周期中,這些測試應該盡可能頻繁地執行。
回歸測試分為兩類:
1. 完全回歸(Retest all):
??????測試時選擇基線測試用例庫中的所有用例進行回歸測試,這是一種最為保險的策略,相對于部分回歸策略,其可以將遺漏regression bug的概率降到最低,但這種方式同時也是所有策略中成本最高的一種方式。
2. 部分回歸:
??????部分回歸是指在回歸測試時選擇基線測試用例庫中的一部分用例進行回歸測試,而不是所有用例全部執行,相對于完全回歸測試,這種測試策略效率很高,并且所需要的時間和成本比較少,但也沒有完全回歸覆蓋率高(或者說遺漏回歸bug的概率比完全測試高)。
回歸測試步驟:
四、三種測試的對比
| 深度 | 不深入 | 深入 | 深入 |
| 廣度 | 廣泛全面 | 有限 | 廣泛全面 |
總結
以上是生活随笔為你收集整理的Smoke testing,Sanity testing and Regression testing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DDR SDRAM芯片DQS的作用以及读
- 下一篇: 使用Beyond Compare合并代码