黑盒測(cè)試方法大對(duì)決
軟件測(cè)試的方法有很多種, 其中黑盒測(cè)試方法被使用最多, 主要的原因是容易上手, 進(jìn)入門坎不高. 所以很多測(cè)試人員會(huì)使用這種方法. 可是很多人對(duì)于何時(shí)該使用卻不是很清楚, 因此讓我們來做個(gè)簡(jiǎn)單的比較吧
1. ECT (Equivalence Class Testing)
a. 說明: 將受測(cè)軟件的輸入數(shù)據(jù), 切成好幾個(gè)分割(partitions), 對(duì)于每個(gè)分割, 將會(huì)有測(cè)試個(gè)案去涵蓋它
b. 適用時(shí)機(jī)
比較小的功能, 或是單一 API. 或是畫面某個(gè) input control
c. partition 的選擇, 是決定你測(cè)得好不好的重要關(guān)鍵
d. ECT and BVT 這兩種方法最多人使用, 可是不見得是最系統(tǒng)化的方法來開個(gè)案.
2. BVT (Boundary Values Testing)
a. 說明: 因?yàn)榇蟛糠值腻e(cuò)誤都發(fā)生在極值, 所以 BVT 的測(cè)試是著重于找出代表性的邊界值, 來驗(yàn)證系統(tǒng)的正確性
b. 適用時(shí)機(jī)
比較小的功能, 或是單一 API. 或是畫面某個(gè) input control
c. 這個(gè)方法最容易開出測(cè)試個(gè)案, 因?yàn)橹灰垒斎氲闹涤蚍秶? 馬上就可以列出測(cè)試個(gè)案
3. UCT (User Case Testing)
a. 說明: Use cases 是一種從使用者角度, 來描述系統(tǒng)行為的一種方法. 它由一連串由系統(tǒng)執(zhí)行的行為所組成, 這些行為可能會(huì)對(duì)用戶產(chǎn)生一些價(jià)值. 所以 UCT 是測(cè)試 use case 中所有 scenario 的組合.
b. 適用時(shí)機(jī)
使用者在進(jìn)行驗(yàn)收測(cè)試.
c. 開出來的測(cè)試個(gè)案對(duì)使用者最有意義
4. Pairwise Testing (PT)
a. 說明: 當(dāng)你有很多測(cè)試環(huán)境的組合, 例如 3 個(gè) browser, 5 個(gè) OS, 4 個(gè)數(shù)據(jù)庫, 你將會(huì)有很多環(huán)境組合要測(cè)試. PT 會(huì)利用每?jī)蓛山M合的方式, 而不是去測(cè)試所有的組合, 來降低索要測(cè)試的組合量
b. 適用時(shí)機(jī)
要降低測(cè)試的組合可以使用. 不過建議自己先列出最重要, 或是風(fēng)險(xiǎn)最高的組合. 之后再利用 PT 來補(bǔ)不足的之處.
5. STD (State Transition Testing)
a. 說明: 利用一些涵蓋條件(涵蓋所有 state, event 或是 transition), 展開 state transition diagram 的 scenario, 讓我們可以最小集合, 測(cè)試大部份的狀況
b. 適用時(shí)機(jī)
設(shè)計(jì)時(shí)間時(shí)用來驗(yàn)證是否所有 event 都考慮周密, 或者要對(duì)模塊做自動(dòng)化測(cè)試適合使用
6. DTT (Decision Table Testing)
a. 說明: 列出程序所思考的邏輯條件, 排列出所有可能情況, 并且確認(rèn)其所產(chǎn)生的輸出或是對(duì)應(yīng)的系統(tǒng)行為是否正確
b. 適用時(shí)機(jī)
適合復(fù)雜的功能, 或者是比較 high level 的功能
c. 開出來的測(cè)試個(gè)案對(duì)使用者還算有意義, 但是對(duì)于開發(fā)團(tuán)隊(duì), 可以用來厘清需求的范圍和正確性
d. 通常在列邏輯條件時(shí), 可以搭配 ECT 來使用, 讓你的條件更加豐富.
posted on 2014-07-24 09:49 順其自然EVO 閱讀(176) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄