冒煙測試

冒煙測試

這一術語源自硬體行業。對一個硬體或硬體組件進行更改或修復後,直接給設備加電。如果沒有冒煙,則該組件就通過了測試。在軟體中,“冒煙測試”這一術語描述的是在將代碼更改嵌入到產品的源樹中之前對這些更改進行驗證的過程。在檢查了代碼後,冒煙測試是確定和修復軟體缺陷的最經濟有效的方法。冒煙測試設計用於確認代碼中的更改會按預期運行,且不會破壞整個版本的穩定性。

基本介紹

  • 中文名:冒煙測試
  • 外文名:smoke testing
  • 隸屬:自由測試
  • 行業:計算機
概述,分類,套用,現狀,意義,注意事項,

概述

冒煙測試是在軟體開發過程中的一種針對軟體版本包的快速基本功能驗證策略,是對軟體基本功能進行確認驗證的手段,並非對軟體版本包的深入測試。冒煙測試也是針對軟體版本包進行詳細測試之前的預測試,執行冒煙測試的主要目的是快速驗證軟體基本功能是否有缺陷。如果冒煙測試的測試例不能通過,則不必做進一步的測試。進行冒煙測試之前需要確定冒煙測試的用例集,對用例集要求覆蓋軟體的基本功能。這種版本包出包之後的驗證方法通常稱為軟體版本包的門檻用例驗證。
冒煙測試屬於HLT(highleveltest)測試,HLT通常指SDV(系統設計驗證)/SIT(系統集成測試)/SVT(系統驗證測試)等測試活動。HLT是站在系統的角度對整個版本進行測試,測試對象是一個完整的產品而不是產品內部的模組,常見的HLT測試包括系統測試和驗收測試。
冒煙測試可以手動執行,也可以自動化執行。穩定的系統適合自動化冒煙測試,集成過程中的系統適合手工冒煙測試,因為冒煙測試內容在動態變化,變化中的自動化腳本維護工作量比較大。
冒煙測試(smoke testing),據說是微軟起的名字。在《微軟項目求生法則》一書第14章“構建過程”關於冒煙測試,就是開發人員在個人版本的軟體上執行目前的冒煙測試項目,確定新的程式代碼不出故障。冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路板基本功能檢查。任何新電路板焊好後,先通電檢查,如果存在設計缺陷,電路板可能會短路,板子冒煙了。

分類

冒煙測試的對象是每一個新編譯的需要正式測試的軟體版本。通過冒煙測試,在軟體代碼正式編譯並交付測試之前,先儘量消除其表面的錯誤,減少後期測試的負擔。冒煙測試的執行者是版本編譯人員。因此可以說,冒煙測試是預測試。在實際的軟體測試工作中,冒煙測試在軟體研發的不同階段有所不同。大體可以分為三類:
1)形成集成測試版本以前:驗證各個單元能夠成功執行,並保證測試版本能夠順利集成;
2)形成集成測試版本:以保證新的或者更改過的代碼不破壞集成版本的完成性和穩定性;
3)後期預測試缺陷的修正:針對每個缺陷所做的缺陷修正都要先在乾淨的連結環境中進行冒煙測試,測試通過後才能更新相關軟體版本。

套用

冒煙測試的對象是每一個新編譯的需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。
在一般軟體公司,軟體在編寫過程中,內部需要編譯多個版本(Builds),但是只有有限的幾個版本需要執行正式測試(根據項目開發計畫),這些需要執行的中間測試版本,在剛剛編譯出來後,軟體編譯人員需要進行基本性能確認測試,例如是否可以正確安裝/卸載,主要功能是否實現,是否存在嚴重當機或數據嚴重丟失等Bug。如果通過了該測試,則可以根據正式測試文檔進行正式測試。否則,就需要重新編譯版本,再次執行版本可接收確認測試,直到成功。

現狀

新版本的基本功能確認的測試,有的公司稱為版本健康檢查(Build Sanity Check)。
對於編譯的本地化軟體新版本,除了進行上面提到的各種檢查,還要檢查是否在新的本地化版本中正確包含了全部應該本地化的檔案。可以採用檔案和目錄結構比較工具,首先比較源語言版本和本地化版本的檔案和目錄中的檔案數目、檔案名稱稱和檔案日期等,這個過程稱為版本鏡像檢查(Build Image Check);其次,分別安裝源語言版本和本地化版本,比較安裝後的檔案和目錄結構中的檔案數目、檔案名稱稱和檔案日期等,這個過程稱為版本安裝檢查(Build Installing Check)。

意義

冒煙測試,在軟體生命周期中所占有的時間比例較低,同時具有注重通過性輕細節的特點,因此經常被開發、測試人員所忽視。事實上,冒煙測試是軟體測試過程中一個不可或缺的節點,一個好的冒煙測試過程,對於軟體測試效率的提升具有重要意義。
冒煙測試冒煙測試
(1)冒煙測試是對軟體質量的總體檢驗。
通過冒煙測試,能夠快速確認軟體是否具備測試準入條件,避免出現正式測試階段全面開展後甚至到測試中後期才才發現阻塞型缺陷等嚴重影響測試進度浪費人力物力的情況。
(2)冒煙測試是測試人員對測試流程的熟悉。
通過冒煙測試,測試人員可以迅速熟悉測試總體流程,這一方面有助於測試人員準確制定測試時間計畫,合理安排工作進度;另一方面也有助於測試人員提前做好相關設備、數據的準備,為正式測試的開展奠定基礎。

注意事項

冒煙測試執行,與正式測試的區別在於二者側重點不同,冒煙測試關注的是阻塞型缺陷,包括但不限於流程不通、主要功能未實現等,而正式測試則屬於全面、細緻的測試,需要儘可能的發現全部缺陷並按其嚴重性進行區分。冒煙測試過程中,需要注意的是:
1、開發協同
冒煙測試階段有幾個特點,一是該階段軟體可能存在較多缺陷,特別是阻塞型缺陷,測試工作隨時可能陷入停滯狀態;二是該階段測試人員對軟體的流程、功能等熟悉程度較低,難免會出現找不到合適的測試方法甚至是找不到功能模組的情況從而延遲測試進度;三是該階段的時間一般僅占整個軟體生命周期的極小部分,這就需要開發人員實時回響,儘快解決各類問題。因此,在冒煙測試階段,測試人員與開發人員的協同工作十分重要。
2、注重效率
冒煙測試應以效率為先,儘量縮短測試時間提高測試效率。要在關注主流程、重點功能的前提下,抓關鍵缺陷驗數據準備,對於諸如頁面不美觀、用戶體驗不佳等缺陷可在冒煙階段有選擇的予以過濾。例如:測試系統登錄,關注點應針對用戶名、密碼、校驗碼的輸入及提交完成,對於非法字元的校驗、登錄框是否美觀、錯誤提示是否準確等均屬於次要關注點,不納入冒煙測試範圍。
3、評估用例
冒煙測試過程同時也是對測試用例進行評估的一個過程,要充分利用這一階段,對前期形成的測試案例進行檢驗,及時對案例進行補充、刪減和修訂,使案例更貼合實際,更具有可執行。

熱門詞條

聯絡我們