軟體測試的方法有很多種, 其中黑箱測試方法被使用最多, 主要的原因是容易上手, 進入門檻不高. 所以很多測試人員會使用這種方法. 可是很多人對於何時該使用卻不是很清楚, 因此讓我們來做個簡單的比較吧

1. ECT (Equivalence Class Testing)
a. 說明: 將受測軟體的輸入資料, 切成好幾個分割(partitions), 對於每個分割, 將會有測試個案去涵蓋它
b. 適用時機
比較小的功能, 或是單一 API. 或是畫面某個 input control
c. partition 的選擇, 是決定你測得好不好的重要關鍵
d. ECT and BVT 這兩種方法最多人使用, 可是不見得是最系統化的方法來開個案.

 

ECT  

2. BVT (Boundary Values Testing)
a. 說明: 因為大部分的錯誤都發生在極值, 所以 BVT  的測試是著重於找出代表性的邊界值, 來驗證系統的正確性
b. 適用時機
比較小的功能, 或是單一 API. 或是畫面某個 input control
c. 這個方法最容易開出測試個案, 因為只要知道輸入的值域範圍, 馬上就可以列出測試個案

 

BVT  

3. UCT (User Case Testing)
a. 說明: Use cases 是一種從使用者角度, 來描述系統行為的一種方法. 它由一連串由系統執行的行為所組成, 這些行為可能會對使用者產生一些價值. 所以 UCT 是測試 use case 中所有 scenario 的組合.
b. 適用時機
使用者在進行驗收測試.
c. 開出來的測試個案對使用者最有意義

4. Pairwise Testing (PT)
a. 說明: 當你有很多測試環境的組合, 例如 3 個 browser, 5 個 OS, 4 個資料庫, 你將會有很多環境組合要測試. PT 會利用每兩兩組合的方式, 而不是去測試所有的組合, 來降低索要測試的組合量
b. 適用時機
要降低測試的組合可以使用. 不過建議自己先列出最重要, 或是風險最高的組合. 之後再利用 PT 來補不足的之處.

5. STD (State Transition Testing)
a. 說明: 利用一些涵蓋條件(涵蓋所有 state, event 或是 transition), 展開 state transition diagram 的 scenario, 讓我們可以最小集合, 測試大部份的狀況
b. 適用時機
設計階段時用來驗證是否所有 event 都考慮周密, 或者要對模組做自動化測試適合使用

6. DTT (Decision Table Testing)
a. 說明: 列出程式所思考的邏輯條件, 排列出所有可能情況, 並且確認其所產生的輸出或是對應的系統行為是否正確
b. 適用時機
適合複雜的功能, 或者是比較 high level 的功能
c. 開出來的測試個案對使用者還算有意義, 但是對於開發團隊, 可以用來釐清需求的範圍和正確性

d. 通常在列邏輯條件時, 可以搭配 ECT 來使用, 讓你的條件更加豐富.

 

printer_decision_table  

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kojenchieh 的頭像
    kojenchieh

    David Ko的學習之旅

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