[技術探討] 白箱 VS 黑箱 測試的方式介紹

白箱VS黑箱測試的方式介紹

當系統軟體開發到達一定的程度時,測試人員接下來將緊鑼密鼓展開系統軟體測試,講到軟體測試就會提到大家最常聽到的兩種測試方式:白箱測試(white-box testing黑箱測試(black-box testing

白箱測試又稱透明盒測試(glass box testing)、結構測試(structural testing),測試人員以程式設計結構面進行系統測試與檢驗,例如說當測試人員在使用新線上訂單系統時,需依使用者操作邏輯面去進行測試:

1.使用者選擇商品成立一筆訂單
2.在單據內填寫設定相關必填資料後完成訂單
3.完成訂單後再進行線上繳款動作
4.成功完成線上繳款交易等模擬測試

測試人員在以上操作過程中,系統不能出現無回應狀態、以及不可出現例外錯誤,當出現錯誤時需停止測試,將相關問題回報給開發人員進行修正及調整,調整完成再進行測試。在做白箱測試的同時,以程式需求面的角度來撰寫測試案例,測試人員按照測試案例知道測試目標在哪裡,可成功模擬出使用者的操作情境,易貼近使用者的使用習慣,容易找出使用者會遇到的操作問題。

而黑箱測試又稱黑盒測試,也是軟體測試方法,測試人員以程式安全面進行系統測試與檢驗,例如測試人員在使用新線上訂單系統時,以模擬黑客方式進行測試:

1.使用線上訂單系統進行測試時,輸入商品數量的極大值或極小值的執行情形是否有錯

2.在單據內在填寫相關欄位資料時,填寫錯誤格式資料,例如手機號碼的格式錯誤或長度過長。

測試人員在以上操作過程中,以駭客的思考模式對系統進行檢測,若檢測結果影響到系統穩定性與安全性時,需請開發人員進行修正與調整。

以上介紹的這兩種測試方式,對於系統開發測試來說都有它們優點,但同時也存在它們的缺點。白箱測試的主要優點在於可明確定義測試目標在哪裡,依使用者情境使用系統,但是此測試方式是照著一般使用者情境操作系統,在正規方式操作下很難測出系統漏洞,在撰寫測試案例時也需考慮測試複雜度,若測試流程太複雜或太容易,可能會讓測試人員無法知道測試目標在哪,或是耗費一段時間在一項測試案例,影響專案時程,而且此測試方式不適合在上線中的系統進行測試,較適合在系統開發階段或未上線的階段進行測試。而黑箱測試的主要優點在於不需參考測試案例進行測試,模擬黑客方式進行測試,可以有效檢測系統弱點,但是此測試方式不是以程式設計結構面進行測試,不容易測到程式結構面問題,需耗費長時間的反覆測試才能確保系統穩定性與安全性。

看完以上介紹的白箱測試與黑箱測試的優缺點後,就知道兩種測試方式各有不同的用途所在,能交叉使用這兩種測試方式測到BUG,不管黑箱白箱都是好「箱」。

 


發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料