Allpairs


Operating System

Win98

Win2K

WinXP

 

Printer

HP 4050

HP 4100

要测试全路径,测试用例必须如下:

CASE

OS

Printer

1

Win98

HP 4050

2

Win98

HP 4100

3

Win2K

HP 4050

4

Win2K

HP 4100

5

WinXP

HP 4050

6

WinXP

HP 4100

但如果我们加上第三个参数

Duplex Print

Y

N

CASE

OS

Printer

Duplex

1

Win98

HP 4050

Y

2

Win98

HP 4100

Y

3

Win2K

HP 4050

Y

4

Win2K

HP 4100

Y

5

WinXP

HP 4050

Y

6

WinXP

HP 4100

Y

7

Win98

HP 4050

N

8

Win98

HP 4100

N

9

Win2K

HP 4050

N

10

Win2K

HP 4100

N

11

WinXP

HP 4050

N

12

WinXP

HP 4100

N

每个参数的所有组合共有12个TC(3*2*2)。

但是,我们真正需要的是,保证每个参数的每个值成对出现在至少一个用例中。那么,我们得到更少的用例。我们实际上只需要设计6个TC。

CASE

OS

Printer

Duplex

1

Win98

HP 4050

Y

2

Win98

HP 4100

N

3

Win2K

HP 4050

N

4

Win2K

HP 4100

Y

5

WinXP

HP 4050

Y

6

WinXP

HP 4100

N

如果三个参数中一个参数的某个值,与其他两个参数的某值组成的测试用例将引发一个bug,我们已经在测试集中包含了它。不过,如果是三个特定值的组合引发了一个bug,这个测试集可能会遗漏这个特定的TC,但是至少我们把任意两两组合的情况都包含了。

比如我们有10个参数,每个参数有26个值,所有排列组合的TC共有141,167,095,653,376(26^10)。运用Allpairs算法仅需要1094个TC。Allpairs的覆盖比全路径覆盖要容易实现和测试得多。

利用Allpairs设计的TC结果如下:

图片上传功能暂时关闭,敬请谅解。

 


第一部分是TC。“pairings”列显示的是符合的对数。如第3行”Win98 HP4050 Y”符合”Win98

HP4050”(第12行)、”

HP4050 Y” (第24行)、Win98 Y” (第18行)。

第二部分是帮助你了解两两成对组合的情况。列出了每对的情况,在第一部分TC中包含的次数,是哪个TC包含的。

 

不需要关心的参数值。有时我们不需要关心TC的某些参数。因为它的成对组合情况已经全部被覆盖了。这种情况下我们选取最少的成对作为该TC的测试数据。Allpairs用”~”表示无关的参数。具体例子可以看原文[1]。

备注:

测试设计

1、  选取合理的测试参数和值。注意遗漏。

2、  当一个无关紧要的值(Allpairs标记为”~”),选取最可能失败的值。

其他工具

说了一个收费的工具(6000刀),产生的用例更少,但是Allpairs是免费的工具。

个人观点:

1、大而明显的缺陷就是文中描述的,可能会遗漏某些特定值的组合,遗漏bug。这时需要定位到底是由哪个或者哪几个因素造成的。热议问题之一,测试绝非易事。

2、这种算法关注输入情况,还没有考虑到输出。

3、基于3种或3种以上的参数价值较高,参数越多价值越高。如果我们测试中普遍出现的只有2维参数,没有必要采用此种算法。

原文地址:

[1] A free, open source tool to produce pairwise test cases,http://www.satisfice.com/tools/pairs.zip。一个免费开源的用来产生pairwise测试样例的小工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值