【Smoke Testing 釋義】測試
Smoke Testing 的概念最先源於製造業,用於測試管道。測試時,用鼓風機往管道里灌煙,看管壁外面是否有煙冒出來,以便檢驗管道是否有縫隙。這一測試顯然比較初級,更深層一點的測試至少要進行滲油測試、帶壓測試等等。Smoke Testing 只是一種初級、直觀的測試。ui
軟件測試中的 Smoke Testing 實際上用的是其引伸含義,並且是引伸了不止一道的含義,在這裏,Smoke Testing 實際上是個俚語就跟不少其餘源於美國軟件行業的名詞同樣。翻譯
之前我並不知道 Smoke Testing 有適當的中文翻譯,最先聽到冒煙測試這個詞仍是在個人顧問客戶那裏。據個人理解,這個翻譯只是字面翻譯,顯然並不能表明 Smoke Testing 的真實含義,換句話說冒煙測試只是 Smoke Testing 的字譯而非意譯。開發
Smoke Testing 在軟件測試中的意義,應該說取的是其原始概念中的目的而非手段。經過 Smoke Testing,在軟件代碼正式編譯並交付測試以前,先儘可能消除其表面的錯誤,減小後期測試的負擔。所以能夠說,Smoke Testing 是預測試。編譯
【軟件研發不一樣階段的 Smoke Testing】軟件
在實際的軟件測試工做中,Smoke Testing 在軟件研發的不一樣階段有所不一樣。大致能夠分爲三類:行業
造成集成測試版本之前Smoke Testing 是隨着代碼的不斷開發必作的一項工做,目的是驗證各個單元可以成功執行,並保證測試版本可以順利集成。工作
造成集成測試版本之後在代碼 check in 到 daily build 以前執行 Smoke Testing,以保證新的或者更改過的代碼不破壞集成版本的完成性和穩定性。build
後期預測試 Bug 的修正後期 daily build 相對穩定時,針對每一個 Bug 所作的 Bug Fix 都要先在乾淨的 build 中進行 Smoke Testing,測試經過的 Bug Fix 才能 check in 到新的 daily build 中。錯誤
【Smoke Testing 與 BVT】
從 Smoke Testing 的定義上看,BVT 彷佛能夠看做是 Smoke Testing,但在實際當中 BVT 是與 Smoke Testing 徹底獨立的一個概念,這是基於如下幾個方面: