-
1 电子教材
-
2 PPT
10.2 决策表的介绍
10.2.1 什么是决策表
决策表(decision table)又称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
10.2.2 决策表的构成
决策表可分为四个部分:条件项、条件取值、动作项和动作取值(如图10-2所示)。其中条件项表示规格说明书中所有可能的输入,条件取值表示所有输入条件的所有一可能的取值,动作项表示规格说明书中所有可能的输出,动作取值表示在怎样的取值条件下会产生哪些相应的输出。
决策表的每一列对应一个测试用例。值得注意的有以下几点:
(1)各条件项和动作项的排列次序不分先后。
(2)所有测试用例的执行次序不分先后。
(3)条件的取值若与等价类划分结合起来,则由此得到的决策表可保证输入域测试完备。
(4)动作项应进行细化,确保明确每个测试用例的输出。
(5)动作项并非互斥,在同一组输入条件下,可以同时取得多个动作项的输出。
(6)决策表的条件项一般仅涉及有效输入数据,但对应的动作项并非限于有效输出,即可以是对有效数据的处理,也可以是对无效数据的合理反馈。

图10-2 决策表的组成
其中:动作项和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。
将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。
10.2.3 决策表的化简
通过化简,决策表可以识别出规格说明书中各输入条件之间、输入与输出之问的各种关系,从而达到降低测试用例规格,避免测试冗余的目的。化简的前提有两个。
(1)输出相同。欲化简的两个测试用例的输出应完全相同。
(2)输入相似。欲化简的两个测试用例的输入应相似,即仅有一个输入条件取值可以不相同,其余所有输入条件取值完全相同。化简的结果是使得某个输入条件的取值对测试用例的输出无影响,这也符合等价类中元素等价的概念。
化简决策表时应注意如下几点:
(1)每次仅能针对一个输入条件进行合并化简。
(2)可以通过每次对不同的输入条件进行合并化简,最终达到分层不断化简的目的,可大大缩减测试用例集合的规模。
(3)每次合并化简并非限于两个测试用例之间,当输入与等价类划分结合起来的时候,若某个输入条件可划分为多个有效等价类(至少3个),且该输入条件的取值对系统输出无影响,那么这多个等价类对应的测试用例可同时进行合并化简,这样也可实现测试用例规模的迅速下降。

