前一陣子, Small town 翻譯了一些測試名詞, 這些名詞對於測試不熟的開發人員來說, 是非常有幫助的, 因為很多人在一開始的時候, 真的被這一堆詞彙給搞昏.
 
15 testing methods all developers should know
 
今天我也來用一個圖表, 幫助測試初學者, 很快地把一堆測試術語給記起來
 
image
 
軟體測試的方法, 根據是否利用受測程式, 可以分成以下兩種
(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
    d. Decision Table Testing
        列出程式所思考的邏輯條件, 排列出所有可能情況, 並且確認其所產生的輸出或是對應的系統行為是否正確
 
白箱測試常見的種類有以下幾種:
    a. 控制流程測試 (Control Flow Testing)
        根據程式的控制流程結點來測試. 例如
            Line Coverage: 開立個案來經過程式內的每行
            Branch Coverage: 開立個案來經過程式內的分支
 
    b. 資料流程測試 (Data Flow Testing)
        根據程式內的變數來測試
            All defs: 開立個案來經過程式內每個變數被設值的地方
            All uses開立個案來經過程式內每個變數被參照的地方
 
 
這個圖表其實還可以再擴展和分類, 不過目前應該這樣應該還算夠用. 希望這個圖表可以幫助大家很快釐清這些繁瑣的測試名詞
 
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()