軟體開發/程序開發上,測試流程佔據很重要的環節,而測試的方法又分為很多種,良好的測試流程,能讓軟體程序開發有良好的進展,這邊介紹其中一種測試方法,冒煙測試 ( smoke test )。
冒煙測試
什麼是冒煙測試?
英文 | Somke test, Somke testing |
中文/翻譯 | 冒煙測試 / 煙霧測試 |
俗稱/別稱 | 軟體冒煙測試 |
主要用途 | 測試軟體主要功能可行性,以確認軟體(開發、架構規劃、系統整合上)的穩定性。 |
冒煙測試一詞是工程領域的專有名詞,在軟體與硬體中,分別有著不同的解釋與定義,這邊主要介紹的是軟體的部分,它是程序開發的一種測試方法,英文叫 Smoke testing, 有興趣看原文介紹可以看看冒煙測試(軟體) 維基百科說明。
用白話來解釋,冒煙測試,就是「將系統中的主要流程,裡面所用到的主要功能(必要功能、重要功能或你無法掌控的新功能),優先串接起來進行測試,以確保用最少時間,檢核出該規劃的可行性」。
為什麼要做冒煙測試?
軟體開發,不論你是新軟體直接開發,還是新舊系統間的整合,在規劃上(很多時候是幾張圖紙)看似合理,但在實務執行層面往往因為:
- 系統規格與支援性
- 開發語言及版本
- 規劃人員的經驗與技術(最常見、最頭疼)
- 各合作廠商、單位間的技術落差
造成系統間銜接出問題,導致開發不順,或是一路毫無煞車的往懸崖開發,也因此,前期的在軟體開發、系統整合上,優先確認規劃可行性就變得非常重要。
冒煙測試的好處
前期進行冒煙測試,在系統整合與開發上非常常見與必要的,其好處在於:
- 直接驗證可行性:第一時間先確認路能不能通。
- 測試時間少:你不用進行全面測試,在開發初期針對重點進行即可。
- 避免開發翻車:系統開發最怕遇到,到後期才發現,系統之間無法對接的窘境,這將極大影響產品時程、成本。
因此,前期做冒煙測試,可協助專案人員與技術人員,在軟體開發上,有效管控可行性、時程、人力與成本。
冒煙測試簡單的範例
這邊用幾張圖簡單來舉例,假設我們目前有一項開發,需要將10項功能串起來,架構上如下圖:
上圖中,我們用顏色來對功能做視覺上的區分,假設,圖中的功能4是主要功能,功能9是串接外部的系統,帶有不確定性(如圖二)。
現在,如果我們要想要進行冒煙測試,來先確定主要功能與外部系統的功能,串接上是否可行,那麼我們便需要規畫一下測試路徑,如下圖:
從圖三中可以看出,我們並沒有要做全面性的測試,只是單單針對必要與不確定的地方,優先進行簡單測試,
圖三中測試路徑從開始到結束,涵蓋了主要功能(圖 – 功能4)與外部系統功能(圖 – 功能9),藉此可以測試出主要功能是否正常,以及在與外部功能串接時,該規劃是否可行,還是有需要作出調整。
結語
上面只是用比較簡單的方式來解說冒煙測試的用法,圖中只是最簡單的運用,這概念在不同情境與系統整合下都試用,有相關問題、缺漏、或描述錯誤,也歡迎告知或詢問。
發表迴響