首頁技術文章正文

決策表設計測試用例如何設計?

更新時間:2021-11-08 來源:黑馬程序員 瀏覽量:

實際測試中,如果輸入條件較多,再加上各種輸人與輸出之間相互的作用關系,畫出的因果圖會比較復雜,容易使人混亂。為了避免這種情況,人們往往使用決策表法代替因果圖法

決策表也稱為判定表,其實質(zhì)就是一嚴邏輯農(nóng)。在在序攻計發(fā)股初期,判定表就已經(jīng)被當作程序開發(fā)的輔助工具,幫助開發(fā)人員整埋開反模式和沉程,因為它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確。利用決策表可以設計出完整的測試用例集合。

為了讓大家明白什么是決策表,下面通過一個“圖書閱讀指南”來制作一個決策表。圖一無書閱讀指南指明了圖書閱讀過程中可能出現(xiàn)的狀況,以及針對各種情況給讀者的建議。在圖書閱讀過程中可能會出現(xiàn)3種情況:是否疲倦、是否對內(nèi)容感興趣、對書中的內(nèi)容是否感到糊涂。如果回答是肯定N,針對這8種組合,閱讀指南給讀看促制作的閱讀指南決策表這3種情況可以有23=8種組合、針對這8種組合,閱讀指南給讀者提供了4條建議:回到本章開頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息,據(jù)此制作的閱讀指南決策表下表所示。

圖書約等于指南決策表

表1


上表就是一個決策表,根據(jù)這個決策表閱讀圖書,對各種情況的處理一目了然,簡潔高效。

決策表通常由4個部分組成,具體如下。

(1)條件樁:列出問題的所有條件,除了某些問題對條件的先后次序有要求之外,通常決策表中所列條件的先后次序都無關緊要。

(2)條件項:條件項就是條件樁的所有可能取值。

(3)動作樁:動作樁就是問題可能采取的操作,這些操作一般沒有先后次序之分。

(4)動作項:指出在條件項的各組取值情況下應采取的動作。

這4個組成部分對應到表1中,條件樁包括是否疲倦、是否對內(nèi)容感興趣、對書中內(nèi)容是否感到糊涂;條件項包括“Y”與“N”;動作樁包括回到本章開頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息;動作項是指在問題綜合情況下所采取的具體動作,動作項與條件項緊密相關,它的值取決于條件項的各組取值情況。

在決策表中,任何一個條件組合的特定取值及其相應要執(zhí)行的操作稱為一條規(guī)則,即決策表中的每一列就是一條規(guī)則,每一列都可以設計一個測試用例,根據(jù)決策表設計測試用例就不會有所遺漏。

在實際測試中,條件樁往往很多,而且每個條件樁都有真假兩個條件項,有n個條件樁的決策表就會有2條規(guī)則,如果每條規(guī)則都設計一個測試用例,不僅工作量大,而且有些工作量可能是重復且無意義的,例如,在上面表中,第1、2條規(guī)則,第1條規(guī)則取值為:Y、Y、Y,執(zhí)行結果為“停止閱讀并休息”;第2條規(guī)則取值為:Y、Y、N,執(zhí)行結果也為“停止閱讀并休息”。對于這兩條規(guī)則來說,前兩個問題的取值相同,執(zhí)行結果一樣,因此第3個問題的取值對結果并無影響,這個問題就稱為無關條件項,使用“-”表示。忽略無關條件項,可以將這兩條規(guī)則進行合并,如下圖所示。

合并規(guī)則1與規(guī)則2
圖1 合并規(guī)則1與規(guī)則2

由圖1可知,規(guī)則1與規(guī)則2合并成了一條規(guī)則。由于合并之后的無關條件項(-)包含其他條件項取值,因此具有相同動作的規(guī)則還可進一步合并,如圖2所示。

進一步合并規(guī)則
圖2 進一步合并規(guī)則

將規(guī)則進行合并,可以減少重復的規(guī)則,相應地減少測試用例的設計,這樣可以大大降低軟件測試的工作量。圖書閱讀指南決策表最初有8條規(guī)則,進行合并之后,只剩下5條規(guī)則,簡化后的圖書閱讀指南決策表如表2所示。

簡化后的圖書于都指南決策表

表2是簡化后的圖書閱讀指南決策表,相比于表1,它簡潔了很多,在測試時只需要設計5個測試用例即可覆蓋所有的情況。

相比于因果圖,決策表能夠把復雜的問題按各種可能的情況一一列舉,簡明而易于理解,也避免遺漏,因此在多邏輯條件下執(zhí)行不同操作的情況,決策表使用的更多。



猜你喜歡

如何快速編寫完整測試用例?

測試用例是什么?有什么作用?

接口測試:如何才能設計出更好的測試用例?

黑馬程序員軟件測試課程

分享到:
在線咨詢 我要報名
和我們在線交談!