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

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

 

 

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

 

 

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 來使用, 讓你的條件更加豐富.

 

 

文章標籤
全站熱搜
創作者介紹
創作者 kojenchieh 的頭像
kojenchieh

David Ko的學習之旅

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