软件测试(第2版)_Paul学习06_04——Ch6等价类测试_04

6.4 佣金问题的等价类测试用例

6.4.1输入等价类

有效等价类:

L1={枪机数量:1≤lock≤70}

L2={枪机数量:-1}

S1={枪托数量:1≤stock≤80}

B1={枪管数量:1≤barrel≤90}

无效等价类:

L3={枪机数量:=0,或<-1}

L4={枪机数量:>70}

S2={枪托数量:<1}

S3={枪托数量:>80}

B2={枪托数量:<1}

B3={枪托数量:>90}

(1)WN

用例标识

枪机

枪托

枪管

预期输出

WN1

30

30

30

继续输入

WN2

-1

30

30

计算佣金

(2)SR

"立方体"的"一个角"

用例标识

枪机

枪托

枪管

预期输出

SR1

-2

30

30

输入超出范围

SR2

35

-1

30

输入超出范围

SR3

35

40

-1

输入超出范围

SR4

-2

-1

30

输入超出范围

SR5

-2

40

-1

输入超出范围

SR6

30

-1

-1

输入超出范围

SR7

-2

-1

-1

输入超出范围

 

6.4.2输出等价类测试用例

该例子的每一个输入有一个合理的等价类,二个无效等价类,通过有效等价类很难确定程序没有问题,通过对输出值域定义等价类会有一定的帮助。

 

销售额= 45×lock + 30×stock + 25×barrel

可以根据佣金值域定义三个变量的等价类:

S1 = {<lock,stock,barrel>,销售额≤1000}

S2 = {<lock,stock,barrel>,1000<销售额≤1800}

S3 = {<lock,stock,barrel>,销售额>1800}

可以参照第5章立方体来理解

用例标识

枪机

枪托

枪管

销售额

预期输出

OR1

5

5

5

500

50

OR2

15

15

15

1500

175

OR3

25

25

25

2500

360

扩展:

(1)与弱健壮性测试用例结合在一起,可得到相当不错的测试

(2)再增加一些边界检查,保证从1000、1800附近边界的转移是正确的。

(3)这并不是特别容易,因为我们只能选择枪机、枪托和枪管,碰巧这个例子中的约束设计使三元组的数据"搭配合适"

 

6.5指导方针和观察

(1)显然,等价类测试的弱形式不如强对应的强形式测试全面

(2)如果实现语言是强类型,则没必要使用强壮性测试

(3)如果错误条件非常重要,则进行健壮性测试是合适的

(4)如果输入数据以离散区间和集合定义,则等价类测试是合适的,也适用于如果变量值越界系统就会出现故障的系统

(5)通过结合边界值测试,等价类测试可得到加强

(6)如果程序函数很复杂,则等价类测试是被指示的

(7)强等价类测试假设变量是独立,相应的测试用例相乘会引起冗余问题。如果存在依赖关系,则常常会产生错误的测试用例

(8)在发现"合适"的等价关系之前,可能需要进行多次尝试,在有些情况下,如果不能肯定,最好对任何合理的实现进行再次预测

(9)强和弱形式的等价类之间的差别,有助于区分累进测试和回归测试

 

------------第6章结束--------------

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值