软件测试中基于决策表的测试
什么是决策表:
决策表用于各种工程领域来表示复杂的逻辑关系。该测试是测试软件及其需求管理的非常有效的工具。输出可能取决于许多输入条件,决策表给出了输入条件的各种组合的表格视图,这些条件的形式为 True(T) 和 False(F)。此外,它还提供了测试所需的一组条件及其相应的操作。
部分决策表:
在软件测试中,决策表有 4 个部分,分为以下几部分:
- 条件存根:条件列在决策表的左上角,用于确定特定操作或一组操作。
- 动作存根:所有可能的动作都在决策表的左下部分(即条件存根下方)给出。
- 条件条目:在条件条目中,将值输入到决策表的右上方。 在表的条件条目部分,有多个行和列,称为规则。
- 动作条目:在动作条目中,每个条目在决策表的右下部分都有一些关联的动作或一组动作,这些值称为输出。
决策表的类型:
决策表分为两种类型,如下所示:
- 有限条目:在有限条目决策表中,条件条目被限制为二进制值。
- 扩展条目:在扩展条目决策表中,条件条目具有两个以上的值。决策表使用多个条件,其中一个条件可能有许多可能性,而不是只有“真”和“假”被称为扩展条目决策表。
决策表的适用性:
- 规则评估的顺序对结果操作没有影响。
- 决策表只能在单元级别轻松应用。
- 一旦满足规则并选择了操作,就需要检查另一个规则。
- 这些限制并没有消除许多应用程序。
基于决策表的测试示例:
下面是程序的决策表,用于确定三个数字中的最大值,其中输入是正整数的三元组(x、y 和 z),值来自区间 [1, 300]。
表 1:三个数字中最大的决策表: Conditions R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 c1: x > = 1? F T T T T T T T T T T T T T c2: x <= 300? F T T T T T T T T T T T T c3: y > = 1? F T T T T T T T T T T T c4: x <= 300? F T T T T T T T T T T c5: z > = 1? F T T T T T T T T T c6: z <= 300? F T T T T T T T T c7: x>y? T T T T F F F F c8: y>z? T T F F T T F F c9: z>x? T F T F T F T F Rule Count 256 128 64 32 16 8 1 1 1 1 1 1 1 1 a1 : Invalid input X X X X X X a2 : x is largest X X a3 : y is largest X X a4 : z is largest X X a5 : Impossible X X