前一陣子, Small town 翻譯了一些測試名詞, 這些名詞對於測試不熟的開發人員來說, 是非常有幫助的, 因為很多人在一開始的時候, 真的被這一堆詞彙給搞昏.
15 testing methods all developers should know
今天我也來用一個圖表, 幫助測試初學者, 很快地把一堆測試術語給記起來
軟體測試的方法, 根據是否利用受測程式, 可以分成以下兩種
(1) 靜態測試 (Static Testing): 不藉由執行受測程式的方式來驗證
a. 靜態分析 (Static Analysis):
會利用一些工具, 來分析受測程式的程式碼 或是相關設定檔, 來看看是否符合某些規範, 或是否有可能的風險.
b. 檢視 (Review):
查看需求文件, 設計文件, 或測試文件等, 來看看是否正確. 通常在軟體開發前期進行
c. 搭檔編程 (Pair Programming)
一個人開發, 一個說要如何測試, 在這過程不斷檢視和討論程式內容
(2) 動態測試 (Dynamic Testing): 藉由執行受測程式的的方式來驗證
a. 黑箱測試 (Black Box Testing)
不管程式內部結構為何, 觀察受測系統的行為, 來看是否符合需求
b. 白箱測試 (White Box Testing)
根據程式內部的結構 (Structure), 也就是控制流程節點和變數, 來進行測試
黑箱測試常見的種類有以下幾種: (不只以下幾種)
a. Equivalence Class Testing:
把輸入或輸出的值分成幾個區域, 每個區域找一個代表值來近行測試
b. Boundary Values Testing
輸入或輸出變數的值有邊界時, 可根據其邊界來開立測試個案
c. Pairwise Testing
可參考這篇: Pairwise testing 這種組合測試技好用嗎?
d. Decision Table Testing
列出程式所思考的邏輯條件, 排列出所有可能情況, 並且確認其所產生的輸出或是對應的系統行為是否正確
白箱測試常見的種類有以下幾種:
a. 控制流程測試 (Control Flow Testing)
根據程式的控制流程結點來測試. 例如
Line Coverage: 開立個案來經過程式內的每行
Branch Coverage: 開立個案來經過程式內的分支
b. 資料流程測試 (Data Flow Testing)
根據程式內的變數來測試
All defs: 開立個案來經過程式內每個變數被設值的地方
All uses: 開立個案來經過程式內每個變數被參照的地方
這個圖表其實還可以再擴展和分類, 不過目前應該這樣應該還算夠用. 希望這個圖表可以幫助大家很快釐清這些繁瑣的測試名詞
全站熱搜
留言列表