判定表法:从多个方面详细阐述

发布时间:2023-05-23

一、简介

判定表法(Decision Table)是一种测试用例设计技术,它最初是由A.L.托马斯凯据而提出的。从实现最小化的测试用例集合的角度,是一种非常有效和实用的技术。顾名思义,判定表法就是通过判定表的形式来生成测试用例。 在判定表法中,将待测系统所有可能的情况及其预期的输出结果用表格的形式展示出来,再通过构建判定规则的方式对这张表进行分析,从而得出最优的测试用例集合。因为该方法具有简单直观、能够全面覆盖、易于检查和修改等多种优点,因此广泛应用于测试用例设计。

二、判定表法的表格表示形式

判定表包括条件部分和结果部分两个部分。条件部分中列出了多个条件,每个条件代表一个待验证的事物或参数,结果部分即为每个条件都可能满足的所有情况对应的结果。判定表就是由条件部分和结果部分构成的二维表格。它的表头是所有条件的静态值,每一行则是针对各种可能情况进行的结果和动作的列表。

条件1	条件2	...	条件n	动作1	动作2	...	动作m
值1/1	值1/2	...	值1/n	结果1	结果2	... 结果m
值2/1	值2/2	...	值2/n	结果1	结果2	... 结果m
...	...	...	...	...	...	...	...
值k/1	值k/2	...	值k/n	结果1	结果2	... 结果m

在实际应用中,表格行数在10行至数百行之间,而列数通常在20列以内。表格的单元格中表示各个条件对应的结果,有时也放置一些说明信息。

三、判定表方法的优点

相比较其他测试用例设计技术,判定表法具有如下优点:

  1. 判定表法适合在系统设计初期使用,可以对系统进行全面的覆盖测试。
  2. 在测试用例变化时,可以快速修改和维护判定表。
  3. 判定表法可以通过行与行之间的比较、列与列之间的比较,确保测试用例完整性和一致性。
  4. 判定表法实现简单,不需要太多的技巧,易于学习和使用。

四、判定表法的实际应用

判定表法在实际应用中有着广泛的应用,例如:

  1. 在企业级Web应用中,判定表法通常用于离线测试,模拟各种意外和异常情况,以测试应用程序的性能和健壮性。
  2. 在游戏开发领域,判定表法通常用于游戏关卡设计中,以构建逻辑和难度均衡的关卡。
  3. 在银行、保险和证券等行业中,判定表法通常用于模拟各种业务场景,确保交易的正确性和安全性。 判定表法既可以独立使用,也可以和其他测试用例设计技术相结合使用,以达到更优的测试目的。

代码示例

以下是一个简单的判定表示例:

男	未婚	年龄小于30岁	计算优惠10%
男	已婚	年龄小于30岁	计算优惠5%
男	已婚	年龄大于等于30岁	计算优惠15%
女	未婚	年龄小于30岁	计算优惠15%
女	已婚	年龄小于30岁	计算优惠10%
女	已婚	年龄大于等于30岁	计算优惠20%