紀錄工作經驗、相關知識,解決技術相關問題。

網站相關

冒煙測試 (Smoke testing) 意思與範例

smoke testing

smoke testing

軟體開發/程序開發上,測試流程佔據很重要的環節,而測試的方法又分為很多種,良好的測試流程,能讓軟體程序開發有良好的進展,這邊介紹其中一種測試方法,冒煙測試 ( smoke test )。

冒煙測試

什麼是冒煙測試?

英文Somke test, Somke testing
中文/翻譯冒煙測試 / 煙霧測試
俗稱/別稱軟體冒煙測試
主要用途測試軟體主要功能可行性,以確認軟體(開發、架構規劃、系統整合上)的穩定性。
Smoke test 基本資料

冒煙測試一詞是工程領域的專有名詞,在軟體與硬體中,分別有著不同的解釋與定義,這邊主要介紹的是軟體的部分,它是程序開發的一種測試方法,英文叫 Smoke testing, 有興趣看原文介紹可以看看冒煙測試(軟體) 維基百科說明

用白話來解釋,冒煙測試,就是「將系統中的主要流程,裡面所用到的主要功能(必要功能、重要功能或你無法掌控的新功能),優先串接起來進行測試,以確保用最少時間,檢核出該規劃的可行性」。

為什麼要做冒煙測試?

軟體開發,不論你是新軟體直接開發,還是新舊系統間的整合,在規劃上(很多時候是幾張圖紙)看似合理,但在實務執行層面往往因為:

  1. 系統規格與支援性
  2. 開發語言及版本
  3. 規劃人員的經驗與技術(最常見、最頭疼
  4. 各合作廠商、單位間的技術落差

造成系統間銜接出問題,導致開發不順,或是一路毫無煞車的往懸崖開發,也因此,前期的在軟體開發、系統整合上,優先確認規劃可行性就變得非常重要。

冒煙測試的好處

前期進行冒煙測試,在系統整合與開發上非常常見與必要的,其好處在於:

  1. 直接驗證可行性:第一時間先確認路能不能通。
  2. 測試時間少:你不用進行全面測試,在開發初期針對重點進行即可。
  3. 避免開發翻車:系統開發最怕遇到,到後期才發現,系統之間無法對接的窘境,這將極大影響產品時程、成本。

因此,前期做冒煙測試,可協助專案人員與技術人員,在軟體開發上,有效管控可行性、時程、人力與成本。

冒煙測試簡單的範例

這邊用幾張圖簡單來舉例,假設我們目前有一項開發,需要將10項功能串起來,架構上如下圖:

圖一 - 功能串接示意
圖一 – 功能串接示意

上圖中,我們用顏色來對功能做視覺上的區分,假設,圖中的功能4是主要功能,功能9是串接外部的系統,帶有不確定性(如圖二)。

圖二 - 功能串接示意 - 主要功能、外部系統功能凸顯示意
圖二 – 功能串接示意 – 主要功能、外部系統功能凸顯示意

現在,如果我們要想要進行冒煙測試,來先確定主要功能與外部系統的功能,串接上是否可行,那麼我們便需要規畫一下測試路徑,如下圖:

圖三 - 功能串接示意-測試路徑
圖三 – 功能串接示意-測試路徑

從圖三中可以看出,我們並沒有要做全面性的測試,只是單單針對必要與不確定的地方,優先進行簡單測試,

圖三中測試路徑從開始到結束,涵蓋了主要功能(圖 – 功能4)與外部系統功能(圖 – 功能9),藉此可以測試出主要功能是否正常,以及在與外部功能串接時,該規劃是否可行,還是有需要作出調整。

結語

上面只是用比較簡單的方式來解說冒煙測試的用法,圖中只是最簡單的運用,這概念在不同情境與系統整合下都試用,有相關問題、缺漏、或描述錯誤,也歡迎告知或詢問。

發表迴響