一、由打印机问题引入判定表:
打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)
假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。
等价类怎么做?
使用等价类一般都是在输入框的情况下使用的,在存在逻辑性的问题,是不适合的。此题中,提示的告警是存在优先级的,但是使用等价类设计的case是不能体现的
在一个程序中,如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况下应用决策表很合适,它可以很清楚地表达它们之间的各种复杂关系。
决策表法简述:
决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
二、判定表的使用
2.1等价类不能解决多输入而且输入之间不同组合产生不同的结果,输出之间存在逻辑关系,等价类无效类每个用例只能出现一次,不能覆盖多个无效等价类并存情况
2.2判定表(决策表):
可以通过输入的不同组合,产生不同的结果,不同的组合我们用二进制解决
2.3.二进制
1、3位 8 0---7 000 111
2 、4位 16 0---15 0000 1111
3 、5位 32 0---31 00000 11111
2.4 判定表的组成
- 条件桩:列出问题的所有条件
- 条件项:针对条件桩给出的条件列出所有可能取值
- 动作桩:列出问题规定的可能采取的操作
- 动作项:指出在条件项的各组取值情况下应采取的动作
打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)
假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。
1)列出条件桩和动作桩
条件桩: a)驱动程序是否正确 b)是否有纸张 c)是否有墨粉
动作桩: a) 打印内容 b)提示驱动程序不对
c)提示没有纸张 d)提示没有墨粉
3种情况,一共有8中组合,使用2进制表示,2的3次方=8,进行排列组合,就不会出现遗漏
判定表:无遗漏,所有情况都要考虑
2.5决策表的构造及简化
2.6.决策表的简化
对于n个条件的决策表,相应有2n规则(每个条件分别取真、假值),当n较大时,决策表很庞大。实际使用决策表时,常常先将它简化。决策表的简化以合并相似规则为目标,即若表中有两条或两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。