1、為什么用判定表設計測試用例?
等價類方法詳細的考慮了需求輸入域,但對於輸入域與輸入域存在關聯時無法覆蓋,(比如等價類划分設計測試用例時,設計一條新的測試用例,使其僅覆蓋一個無效等價類,直至所有的無效等價類完全被覆蓋,沒有考慮無效等價類與無效等價類的組合情況)。所以需要一種能考慮輸入域間的互相關系設計方法來考慮業務描述性的測試需求。
2、什么是判定表?
判斷表是分析喝表達若干輸入條件下,被測對象根據輸入作出不同響應的工具,適用於業務邏輯關系和多種條件組合情況。
判定表的結構
條件樁:被測對象的所有輸入
條件項:針對條件樁可能輸入的真假值
動作樁:針對條件樁被測對象可能采取的所有動作
動作項:針對動作樁,被測對象響應可能結果取值
3、怎么用判定表設計測試用例?
步驟:
一、列出所有的條件和動作
二、根據提取出來的條件樁和動作樁,設計判定表確定規則的個數(假如有n個條件,每個條件有2個取值(0、1),就可以產生2的n次方種規則)
三、填寫判定表
四、簡化判定表(合並判定表是犧牲測試充分性,混亂業務邏輯為代價。8條以內的規則不建議合並)
五、抽取測試用例(簡化判定表后,可抽取判定表中的每一條規則作為測試用例,判定表得到的是測試規則,不是最終的測試用例。規則不能驗證功能點正確性,僅驗證業務規則的正確性)
4、判定表設計測試用例的優缺點?
優點:判定表充分考慮了輸入域之間的組合情況,每條規則覆蓋了多條輸入條件,考慮輸入的約束關系,降低了漏測的風險。同時利用判定表可推斷出需求規格本身的邏輯性,反向證明了需求的正確。
缺點:當輸入項過多時,規則數以2的n次方劇增,判定表會非常龐大,采用判定表合並時會造成邏輯缺失,業務混亂錯誤的情況。
5、判斷表設計測試用例的例子
示列一:停機或欠費不允許主被叫
步驟一:列出所有的條件和動作
條件:停機/欠費
動作:主被叫
步驟二:確定規則數
有3個條件,每個條件有2個取值,故有8個規則
步驟三:填寫判定表
步驟四:只有4條規則不合並,8條以下的規則不建議合並
步驟五:規則抽取:
(1)用戶不停機不欠費,可進行主被叫
(2)用戶不停機欠費,不允許主被叫
(3)用戶停機不欠費,不允許主被叫
(4)用戶停機欠費,不允許住被叫