判定表设计测试用例

​ 判定表,又称为“决策表”,是一种表格状的图形工具,适合于处理判断条件比较多,各条件又相互组合,有多种决策方案的情况。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达具体明确。

组成部分

​ 判定表通常由四个部分组成,分别是

条件桩(Condition Stub)

​ 指所有条件的名称,列出的条件的先后次序无关紧要。

动作桩(Action Stub):

​ 指所有可能采取的操作,顺序没有约束。

条件项(Condition Entry):

​ 条件桩中的条件所有可能的取值。

动作项(Action Entry):

与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。

判定表编写步骤

​ 任何一个条件组合的特定取值及其相应要执行的操作称为一条规则(Rules),在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中条件有多少组合取值,也就有多少条规则。根据软件规格说明,建立判定表的步骤如下:

  • 第 1 步:分析需求,列出所有的条件桩和条件项;
  • 第 2 步:分析需求,列出所有的动作桩和动作项;
  • 第 3 步:根据规则,设计初始判定表;
  • 第 4 步:简化判定表,合并相似规则,设计测试用例。

判定表案例

超市产品销售

​ 超市中如果某产品的销售好并且库存低,则继续销售并增加该产品的进货;如果该产品销售好,但库存量不低,则继续销售;若该产品销售不好,但库存量低,则该产品下架;若该产品销售不好,且库存量不低,如果有空货架则继续销售,如果没有空货架,则该产品下架。

分析需求,列出条件桩
条件桩条件项
C1:销售好?True(T)或 False(F)
C2:库存低?True(T)或 False(F)
C3:有空货架?True(T)或 False(F)
继续分析需求,列出动作桩
动作桩动作项
A1:增加进货True(T)或 False(F)
A2:继续销售True(T)或 False(F)
A3:产品下架True(T)或 False(F)
根据规则,设计初始的判定表 👇
条件桩12345678
销量好TTTTFFFF
库存低TTFFTFFT
有空货架TFTFTTFF
动作桩
增加进货TT
继续销售TTTTT
下架TTT
简化判定表

​ 实际使用判定表时需要简化,简化是以合并相似规则为目标,若表中有 2 条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,则可以合并。

​ 根据表中情形,第 1、2 条规则其动作项一致,条件项中的前 2 个条件取值一致,只有第 3 个条件取值不同,说明第 3 个条件无论取何值,都对相应的动作没有影响,这 2 条规则可以合并。合并后的 C3 示为–,说明在当前规则中该条件的取值与动作的取值无关,称为无关条件。根据此原则,第 3、4 条规则和第 5、8条规则也可以合并,化简后的超市销售库存判定表如下表所示:

条件桩1、23、45、867
销量好TTFFF
库存低TFTFF
有空货架TF
动作桩
增加进货T
继续销售TTT
下架TT

房产基础中介费

有一个“计算房产基础中介费”的程序,规定中介费用政策如下:

  • 如果房屋销售总价少于 10 万元,那么基础中介费将是销售总价的 2%;
  • 如果房屋销售总价大于 10 万元,那么基础中介费将是销售总价的 1.5%,外加 1000 元;
  • 如果销售额大于 100 万元,那么基础中介费将是房屋销售总价的 1%,外加 1500 元;

另外房屋销售单价和客户的性质对中介费也有影响:

  • 若单价低于 1 万/m2,则外加基础中介费的 5%;若是老顾客,则减免外加基础中介费;
  • 若单价在 1 万/ m2 到 2 万/m2,则外加基础中介费的 2.5%;若是老顾客,则减免外加基础中介费;
  • 若单价在 2 万/m2 以上,则减免外加基础中介费;若是老顾客,则减去基础中介费的 5%。
分析需求,列出条件桩
条件桩条件项
C1:房屋销售总价S1:sale < 10万
S2:10万 <= sale < 100万
S3:sale >= 100万
C2:单价P1:price < 1万
P2: 1万 <= price < = 2万
P3: price > 2万
C3:客户性质B1: 新客户
B2: 老客户

​ 根据排列组合公式 3 * 3 * 2 = 18 所以有18种排列方式

在这里插入图片描述

列出动作桩
动作桩
A1:中介费将是销售总价的 2%
A2:销售总价的 1.5% + 1000
A3:销售总价的 1% + 1500
A4:外加基础中介费的 5%
A5:外加基础中介费的 2.5%
A6:减免外加基础中介费
根据规则,设计基础判定表

在这里插入图片描述

根据以上判定表,设计测试用例
用例编号销售总价(元)销售单价(元)客户性质预期输出
中介费-001500005000新客户1050
中介费-002500005000老客户1000
中介费-0035000010000新客户1025
中介费-0045000010000老客户1000
中介费-0055000020000新客户1000
中介费-0065000020000老客户950
中介费-0071000005000新客户2625
中介费-0081000005000老客户2500
中介费-00910000010000新客户2562.5
中介费-01010000010000老客户2500
中介费-01110000020000新客户2500
中介费-01210000020000老客户2375
中介费-01310000005000新客户11550
中介费-01410000005000老客户11000
中介费-015100000010000新客户11275
中介费-016100000010000老客户11000
中介费-017100000020000新客户11000
中介费-018100000020000老客户10450
  • 24
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值