更新時(shí)間:2021-11-08 來(lái)源:黑馬程序員 瀏覽量:
實(shí)際測(cè)試中,如果輸入條件較多,再加上各種輸人與輸出之間相互的作用關(guān)系,畫出的因果圖會(huì)比較復(fù)雜,容易使人混亂。為了避免這種情況,人們往往使用決策表法代替因果圖法。
決策表也稱為判定表,其實(shí)質(zhì)就是一嚴(yán)邏輯農(nóng)。在在序攻計(jì)發(fā)股初期,判定表就已經(jīng)被當(dāng)作程序開發(fā)的輔助工具,幫助開發(fā)人員整埋開反模式和沉程,因?yàn)樗梢园褟?fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確。利用決策表可以設(shè)計(jì)出完整的測(cè)試用例集合。
為了讓大家明白什么是決策表,下面通過一個(gè)“圖書閱讀指南”來(lái)制作一個(gè)決策表。圖一無(wú)書閱讀指南指明了圖書閱讀過程中可能出現(xiàn)的狀況,以及針對(duì)各種情況給讀者的建議。在圖書閱讀過程中可能會(huì)出現(xiàn)3種情況:是否疲倦、是否對(duì)內(nèi)容感興趣、對(duì)書中的內(nèi)容是否感到糊涂。如果回答是肯定N,針對(duì)這8種組合,閱讀指南給讀看促制作的閱讀指南決策表這3種情況可以有23=8種組合、針對(duì)這8種組合,閱讀指南給讀者提供了4條建議:回到本章開頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息,據(jù)此制作的閱讀指南決策表下表所示。
表1
上表就是一個(gè)決策表,根據(jù)這個(gè)決策表閱讀圖書,對(duì)各種情況的處理一目了然,簡(jiǎn)潔高效。
決策表通常由4個(gè)部分組成,具體如下。
(1)條件樁:列出問題的所有條件,除了某些問題對(duì)條件的先后次序有要求之外,通常決策表中所列條件的先后次序都無(wú)關(guān)緊要。
(2)條件項(xiàng):條件項(xiàng)就是條件樁的所有可能取值。
(3)動(dòng)作樁:動(dòng)作樁就是問題可能采取的操作,這些操作一般沒有先后次序之分。
(4)動(dòng)作項(xiàng):指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。
這4個(gè)組成部分對(duì)應(yīng)到表1中,條件樁包括是否疲倦、是否對(duì)內(nèi)容感興趣、對(duì)書中內(nèi)容是否感到糊涂;條件項(xiàng)包括“Y”與“N”;動(dòng)作樁包括回到本章開頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息;動(dòng)作項(xiàng)是指在問題綜合情況下所采取的具體動(dòng)作,動(dòng)作項(xiàng)與條件項(xiàng)緊密相關(guān),它的值取決于條件項(xiàng)的各組取值情況。
在決策表中,任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為一條規(guī)則,即決策表中的每一列就是一條規(guī)則,每一列都可以設(shè)計(jì)一個(gè)測(cè)試用例,根據(jù)決策表設(shè)計(jì)測(cè)試用例就不會(huì)有所遺漏。
在實(shí)際測(cè)試中,條件樁往往很多,而且每個(gè)條件樁都有真假兩個(gè)條件項(xiàng),有n個(gè)條件樁的決策表就會(huì)有2條規(guī)則,如果每條規(guī)則都設(shè)計(jì)一個(gè)測(cè)試用例,不僅工作量大,而且有些工作量可能是重復(fù)且無(wú)意義的,例如,在上面表中,第1、2條規(guī)則,第1條規(guī)則取值為:Y、Y、Y,執(zhí)行結(jié)果為“停止閱讀并休息”;第2條規(guī)則取值為:Y、Y、N,執(zhí)行結(jié)果也為“停止閱讀并休息”。對(duì)于這兩條規(guī)則來(lái)說(shuō),前兩個(gè)問題的取值相同,執(zhí)行結(jié)果一樣,因此第3個(gè)問題的取值對(duì)結(jié)果并無(wú)影響,這個(gè)問題就稱為無(wú)關(guān)條件項(xiàng),使用“-”表示。忽略無(wú)關(guān)條件項(xiàng),可以將這兩條規(guī)則進(jìn)行合并,如下圖所示。
圖1 合并規(guī)則1與規(guī)則2
由圖1可知,規(guī)則1與規(guī)則2合并成了一條規(guī)則。由于合并之后的無(wú)關(guān)條件項(xiàng)(-)包含其他條件項(xiàng)取值,因此具有相同動(dòng)作的規(guī)則還可進(jìn)一步合并,如圖2所示。
圖2 進(jìn)一步合并規(guī)則
將規(guī)則進(jìn)行合并,可以減少重復(fù)的規(guī)則,相應(yīng)地減少測(cè)試用例的設(shè)計(jì),這樣可以大大降低軟件測(cè)試的工作量。圖書閱讀指南決策表最初有8條規(guī)則,進(jìn)行合并之后,只剩下5條規(guī)則,簡(jiǎn)化后的圖書閱讀指南決策表如表2所示。
表2是簡(jiǎn)化后的圖書閱讀指南決策表,相比于表1,它簡(jiǎn)潔了很多,在測(cè)試時(shí)只需要設(shè)計(jì)5個(gè)測(cè)試用例即可覆蓋所有的情況。
相比于因果圖,決策表能夠把復(fù)雜的問題按各種可能的情況一一列舉,簡(jiǎn)明而易于理解,也避免遺漏,因此在多邏輯條件下執(zhí)行不同操作的情況,決策表使用的更多。
猜你喜歡