「Smoke Test」(煙霧測試)是一個軟體工程術語,源自硬體維護:當維修完一個電子設備後,通電時如果不冒煙,就代表最基礎的電路是通的。 在軟體開發中,它指的是對軟體版本進行最基本、最核心功能的快速驗證,以確保系統的主要功能運作正常,值得進行後續更詳細的測試。 核心目的:確認「是否可以測試」 Smoke test 就像是開車前的檢查:你不需要測試空調冷不冷或音響好不好,你只需要確認引擎發得動、輪胎沒扁、剎車有用。如果這幾點都沒過,那討論導航功能就沒有意義了。 Smoke Test 的主要特點 - 覆蓋範圍廣但不深:它會測試整個系統的所有主要路徑,但不會測試細節。 - 快速執行:通常在幾分鐘內完成。 - 自動化為主:為了效率,現代開發流程(CI/CD)通常會將其自動化。 - 拒絕機制:如果 Smoke test 失敗,測試團隊會直接退回該版本,開發者必須修復後重新提交。 實際應用範例:電商網站 假設你開發了一個電商 App,當天的 Smoke test 可能包含: 1. 使用者能否正常登入? 2. 首頁是否能正常顯示商品? 3. 商品能否加入購物車? 4. 結帳流程是否能走到最後一步? 如果「加入購物車」功能壞了,測試人員就不會浪費時間去測試「優惠券折抵邏輯」或「多國語言顯示」,因為核心流程已中斷。 為什麼它很重要? 1. 節省資源:及早發現致命錯誤,避免測試人員在一個根本動不了的版本上浪費精力。 2. 快速回饋:開發者能立刻知道剛上傳的代碼是否破壞了基礎結構。 3. 提升信心:通過 Smoke test 代表系統的「骨架」是穩健的。