判定表法
判定表(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