黑盒测试中的判定表法(也称为决策表法)是一种用于测试具有多个输入条件和多个输出结果的系统的方法。它通过构建一个表格来展示所有可能的输入条件组合以及相应的输出结果,从而帮助测试人员系统地设计测试用例。以下是对黑盒测试判定表法的详细介绍及举例:
一、判定表法的定义
判定表法是一种黑盒测试技术,它通过分析和表达多种输入条件下系统执行不同动作的情况,来设计和生成测试用例。判定表由条件桩、条件项、动作桩、动作项等部分组成,能够清晰地展示输入条件和输出结果之间的关系。
二、判定表法的组成
- 条件桩:列出被测对象的所有输入条件。
- 条件项:针对每个条件桩,列出所有可能的输入取值。
- 动作桩:列出被测对象可能采取的所有操作或表现。
- 动作项:在条件项的各种取值组合下,被测对象所采取的具体动作或表现。
三、判定表法的步骤
- 列出所有的条件桩和动作桩:根据需求规格说明书,确定所有的输入条件和可能的输出结果。
- 填入条件项和动作项:针对每个条件桩,列出所有可能的输入取值;针对每个动作桩,在条件项的各种取值组合下,确定相应的输出结果。
- 生成初始判定表:将条件项和动作项填入表格中,形成初始的判定表。
- 化简判定表(可选):如果判定表中有相似的规则或条件项之间存在依赖关系,可以进行化简以减少测试用例的数量。但需要注意的是,化简过程中应谨慎进行,以避免遗漏重要的测试场景。
- 设计测试用例:根据判定表中的规则,设计具体的测试用例。每个测试用例应覆盖一个或多个规则,以确保测试的全面性。
四、举例
- 如果用户年龄小于18岁或大于60岁,则不给予贷款优惠。
- 如果用户年龄在18到60岁之间且账户余额大于10000元,则给予贷款优惠。
- 其他情况下,不给予贷款优惠。
根据这个需求,我们可以设计如下的判定表:
条件桩 | 条件项 | 动作桩 | 动作项 |
---|---|---|---|
年龄 | <18 | 是否给予贷款优惠 | 不给予 |
18-60 | 根据余额判断 | ||
>60 | 不给予 | ||
账户余额 | <=10000 | 不给予 | |
>10000 | 给予 |
根据这个判定表,我们可以设计以下测试用例:
- 测试用例1:用户年龄为17岁,账户余额为5000元,预期结果是不给予贷款优惠。
- 测试用例2:用户年龄为25岁,账户余额为8000元,预期结果是不给予贷款优惠。
- 测试用例3:用户年龄为45岁,账户余额为12000元,预期结果是给予贷款优惠。
- 测试用例4:用户年龄为61岁,账户余额为20000元,预期结果是不给予贷款优惠。