判定表法
判定表(Desision table)用於表示和分析複雜的邏輯關係,描述了在不同條件(Condition)下執行的動作(Action)集合。判定表本質上就是真值表的擴展,每個條件由兩種可能的賦值擴展到多種可能的賦值,並且可以通過將多值條件拆分成多個二值條件轉爲真值表。
題目
設計自動售貨機的測試用例,因果圖和判定表如下,以判定表第6列和第23列爲例,描述輸入條件與輸出結果並寫出推理演算過程。
其中結點C1,C2,C3,C4,C5表示原因(Cause),結點E21,E22,E23,E24,E25表示結果(Effect),結點T11,T12,T13,T14表示中間狀態(Middle status),結點之間的連線表示結點之間的關係。
解答
第6列
- 輸入條件:11010
表示在售貨機有零錢找的情況下,投入1元硬幣並按下【橙汁】按鈕
- 輸出結果:00110
表示售貨機找回5角硬幣並送出橙汁飲料
- 推理演算過程
條件:C1,C2,C4
C4∨C5⇒T12
T12∧C2⇒T11
T11∧C1⇒T13
T13⇒E23
T13∨T3⇒T14
T14∧C5⇒E25
結果:E23,E25
第23列
- 輸入條件:01001
表示在售貨機沒有零錢找的情況下,投入1元硬幣並按下【啤酒】按鈕
- 輸出結果:11000
表示售貨機【零錢找完】燈亮並退還1元硬幣
- 推理演算過程
條件:¬C1,C2,C5
¬C1⇒E21
C4∨C5⇒T12
T12∧C2⇒T11
T11∧¬C1⇒E22
結果:E21,E22