逻辑关系
逻辑关系(logic relationship)即“依赖关系”。在项目管理中,指表示两个活动(前导活动和后续活动)中一个活动的变更将会影响到另一个活动的关系。
· 强制依赖关系(所做工作中固有的依赖关系)
· 可自由处理的依赖关系(由项目队伍确定的依赖关系)
· 外部依赖关系(项目活动与非项目活动之间的依赖关系)
因果关系
因果关系(causality或causation)是一个事件(即“因”)和第二个事件(即“果”)之间的作用关系,其中后一事件被认为是前一事件的结果。一般来说,一个事件是很多原因综合产生的结果,而且原因都发生在较早时间点,而该事件又可以成为其他事件的原因。
决策表
百科
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来。
概念
决策表又称判断表,是一个用表格形式来整理逻辑关系的工具,由横向的条件(因)和动作(果)和纵向的规则(测试用例)组合而成。决策表是分析和表达多逻辑条件下执行不同操作情况的工具。
优点
决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。利用决策表能够设计出完整的测试用例集合。
决策表能罗列出所有的情况,并清晰的指出相应的处理方式,用户不需要考虑其中的逻辑关系就能一眼看出其中什么样的动作对应什么样的情况,这比程序语言中层层嵌套的逻辑语句要强多了。而所有可能情况的平面罗列,也能避免在程序语言编写中,因为逻辑的层层嵌套而产生遗漏,尤其在if-then-else结构中else部分是可选的情况下。
决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。
决策表的型式
有限决策表:所有条件都是二叉条件的决策表称为有限条件决策表。条件项中仅填以“真”或“假”或类似的表达(如T/F, Y/N, 1/0)。
扩展条目决策表:如果条件可以有多个值,则对应的决策表叫做扩展条目决策表。条件项中还可以填入数值或简短的文字。
决策表的组成
条件桩: 列出系统的所有输入,通常认为列出的输入次序无关紧要。
动作桩: 列出系统所有可能执行的操作,这些执行操作没有顺序约束。
条件项: 列出输入项的各种取值。
动作项: 列出输入项的各种取值情况下应该采取的动作。
规则:产生的规则就是我们所需的测试用例。
构造决策表的步骤
1.列出所有的条件桩和动作桩。
2.确定规则的个数。有n个条件的决策表有2的n次方个规则(每个条件取真、假值),每个条件取值的个数乘积(条件有多个值)。
3.填入条件项。列出了问题的所有条件,通常认为列出的条件的次序无关紧要。
4.填入动作项,得到初始决策表。列出在条件项的各种取值情况下应该采取的动作,这些操作的排列顺序没有约束。
5.简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。
适用范围
适用:在一个程序中,如果输入输出比较多,输入之间,输出之间相互制约的条件比较多,在这种情况下使用决策表比较合适,它可以清楚的表达他们之间的各种复杂关系。决策表特别适合于针对不同逻辑条件的组合,测试对象需要执行不同操作的场景。
1、if-then-else逻辑很突出
2、输入变量之间存在逻辑关系
3、涉及输入变量子集的计算
4、输入与输出之间存在因果关系
不适合
1、输入和输出不明确,或输入与输出的因果关系不明确的情况
2、被分析的特点和功能点过于复杂,输入项目很多的情况下。输入项过多,会造成决策表非常庞大,没有工具辅助的情
况下,难以操作。
3、系统输入之间相互约束少,不需要做大范围的组合测试时,不宜用本工程方法,不然会产生大量用例冗余。
4、系统输入之间存在顺序先后的可变性。例如,两个输入之间可以交换顺序,且交换顺序后,他们的输出是不一样的。
判定表的输入是无法排序的。