煙霧測試
出自 MBA智库百科(https://wiki.mbalib.com/)
煙霧測試(smoke testing)
目錄 |
煙霧測試是一組用以確定系統處於穩定狀態、所有的主要功能都具備並且能夠在 “ 正常 ” 條件下運行的測試用例。煙霧測試不能由測試小組獨立來建立;它應該是通過聯合的方式,至少是在與開發員達成一致的情況下建立的。煙霧測試的目標是顯示穩定性、而不是發現系統的每個 bug ,必須在系統測試環境中運行。
煙霧測試,在《微軟項目求生法則》一書第 14 章 “ 構建過程 ” 關於煙霧測試,就是開發人員在個人版本的軟體上執行目前的煙霧測試項目,確定新的程式代碼不出故障。 在人類的日常生活中也存在著各種領域的煙霧測試,以及災害的避免。
煙霧測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路板功基本功能檢查。任何新電路板焊好後,先通電檢查,如果存在設計缺陷,電路板可能會短路,板子煙霧了。
煙霧測試的對象是每一個新編譯的需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以進行後續的正式測試工作。煙霧測試的執行者是版本編譯人員。
在軟體工作組中,軟體在編寫過程中執行 Daily Build 和煙霧測試,如果無法成功編譯,或者編譯成功但是無法執行,則啟動小組討論直到修改完善錯誤為止。內部需要編譯多個版本 (Builds) ,但是只有有限的幾個版本需要執行正式測試(根據項目開發計劃),這些需要執行的中間測試版本,在剛剛編譯出來後,軟體編譯人員需要進行基本性能確認測試,例如是否可以正確安裝 / 卸載,主要功能是否實現,是否存在嚴重死機或數據嚴重丟失等 Bug 。如果通過了該測試,則可以根據正式測試文檔進行正式測試。否則,就需要重新編譯版本,再次執行版本可接收確認測試,直到成功。
新版本的基本功能確認檢查的測試,有的公司稱為版本健康檢查 (Build Sanity Check) 。對於編譯的本地化軟體新版本,除了進行上面提到的各種測試檢查,還要檢查是否在新的本地化版本中正確包含了全部應該本地化的文件。可以通過採用文件和目錄結構比較工具,首先比較源語言版本和本地化版本的文件和目錄中的文件數目、文件名稱和文件日期等,這個過程稱為版本鏡像檢查 (Build Image Check) 。其次,分別安裝源語言版本和本地化版本,比較安裝後的文件和目錄結構中的文件數目、文件名稱和文件日期等,這個過程稱為版本安裝檢查 (Build Installing Check) 。
1.建立每日組建
每日組建會需要小組成員一起工作,也會鼓勵開發人員保持同步。如果新組建的反覆運算發生延遲,則延遲可能輕易地造成具有多個相依性的產品發生未同步的情形。遵循程式,每日建置以及煙霧測試任何已變更或新的二進位碼檔案,可以確保得到更高的品質。
3.註意事項
請將每日組建設定為小組的最高優先順序。如果因為簽入的程式碼尚未經過煙霧測試,使得組建損毀了,開發人員和軟體測試人員就必須停止所有其他工作,直到問題解決為止。損毀組建應該不會受到太過嚴格的處罰,但是處罰會著重在要求小組將建置適當的每日組建做為第一優先任務。不需要執行詳盡的測試。執行煙霧測試的目的不在於,確保二進位檔桉為100%無錯誤,這會需要相當多的時間。請執行煙霧測試,以較高的層級驗證組建。您可以確保二進位檔案中的變更不會使一般組建不穩定,或是造成功能上的嚴重錯誤。
3.Web測試和負載測試
建置Web測試和負載測試時,建議在執行任何長時間且負載過重的測試之前,先執行煙霧測試。在Web測試和負載測試中,煙霧測試屬於簡短、負載較輕的測試。在針對測試進行效能或壓力測試(Stress Testing)之前,請使用煙霧測試,驗證每個設定都已正確地設定,並且如預期般正常運作。