判定表法
判定表(decision table),是指一个表格,用于显示条件和条件导致动作的集合。是分析和表达多逻辑条件下执行不同操作的工具。
为什么要有判定表法?
前面我们讲到的等价类划分,边界值分析这些方法都只是单个的输入测试,并没有什么逻辑和组合关系,但是我们的程序又是多种多样的复杂关系,所以我们需要一种方法来适用多种组合。
判定表的几个基本条件:
条件桩:列出问题的所有条件
动作桩:列出可能采取的所有操作
条件项:列出所有条件的取值
动作项:所有取值条件下输出的情况
通常:0表示某条件不出现,1表示某条件出现
怎么使用?
让我们来看一下这个例子:
拿最近抖音比较热门的关于现在老师是否合格为题
怎样算一个好老师?有责任心、关爱学生、肯定是一个好老师;但是只要是不把教学放在首位肯定不是一个老师
那么根据上面的题目,我们首先分析一下条件桩有哪些?
1.有责任心
2.关爱学生
3.不把教学放在首位
一般来讲 如果有n个条件,那么我们的输入条件就是2n次方
可以得出以上8种情况,那么我们再来看,只要是不把教学放首位的肯定都是差老师,可以得出有4种情况其实是一样的。
最终简化:
1.有责任心,关爱学生,把教学放首位:好老师
2.不把教学放首位:差老师
3.有责任心,不关爱学生,把教学放首位:好老师
4.无责任心,不关爱学生,把教学放首位:好老师
5.无责任心,关爱学生,把教学放首位:好老师