Pairwise Testing (变量值对测试)

上一篇 / 下一篇  2009-08-27 10:41:46 / 个人分类:实践实战

关于测试有一条众所周知的普遍定律就是:没有100%覆盖的测试面。而另一方面的一个不争的事实却是:庞大的测试组合不可避免。举例来说,我曾经测过一个转码软件,该软件支持wmv格式的转码输出,对于wmv格式具体的设置参数包括这么几项:

codecwmv-7, wmv-8, wmv-9, wmv-vc1

frame. size: 128x96, 176x144, 320x240, 352x288, 480x270, 640x480, 720x480, 720x576

frame. rate: 14.97, 15, 23.97, 25, 29.97

aspect ratio: 4:3, 16:9

bitrate mode: 1-pass CBR, 2-pass CBR, 2-pass VBR

所有的输出变量值的组合是:4x8x5x2x3=960

毫无疑问,这是一个比较大的测试覆盖组合,那么是每次测试都一条不落的执行一遍还是可以有其它方式呢?这时候一种称之为pairwise testing的测试方法就派上用场了。

这种测试方法不是去组合所有“变量值”而是组合所有“变量值对”。目前来说,没有什么软件理论能够论证这种测试方法的可行性,提出这种测试策略是基于如下假设:即大多数的软件缺陷要么是单模式缺陷(注一)要么是双模式缺陷(注二),而“变量值对”测试就是建立了一个同时测试单模式和双模式缺陷的最小子集,不过已记载的一些数据却说明了该方法的实际有效性。如:AT&T在对其基于局域网的邮件系统进行的测试中,应用pairwaise testing得到的1000条测试用例比其原有的1500条测试用例多抓出20%的缺陷而测试精力却减少了50%。National Institute of Standards and Technology在一项对医疗设备测试所进行的15年追踪中发现,有98%的软件缺陷可以通过“变量值对”测试抓获。而另一项对Mozilla网页浏览器的缺陷分析显示,76%的缺陷可以通过“变量值对”测试抓获。

那么如何实际运用这种测试方法呢?两个途径。

第一,James Bach基于allpairs算法写了一个小工具可以用来生成“变量值对”表。这个工具可以从这里下载http://www.satisfice.com/tools.shtml 这个exe工具用起来也很简单。首先在excel里把所有的变量以及可取值罗列如下:

codec

frame. size

frame. rate

aspect ratio

bitrate mode

wmv-7

128x96

14.97

4:03

1-pass CBR

wmv-8

176x144

15

16:09

2-pass CBR

wmv-9

320x240

23.97

2-pass VBR

wmv-vc1

352x288

25

 

 

480x270

29.97

 

 

640x480

 

 

720x480

 

 

720x576

 

 

 

存为.txt格式,然后将该txt文件(例如input.txt)放在和exe工具同一个目录下,进入命令行运行窗口,在exe工作目录下运行命令allpairs.exe input.txt > output.txt,回车,你会看到output.txt生成,将里面的内容全部拷贝到excel表格里即可。上面例子得出的结果如下:

case

codec

frame. size

frame. rate

aspect ratio

bitrate mode

1

wmv-7

128x96

14.97

4:03

1-pass CBR

2

wmv-8

128x96

15

16:09

2-pass CBR

3

wmv-8

176x144

14.97

4:03

2-pass VBR

4

wmv-7

176x144

15

16:09

1-pass CBR

5

wmv-9

TAG:

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 13011
  • 日志数: 9
  • 图片数: 2
  • 建立时间: 2007-12-23
  • 更新时间: 2009-08-27

RSS订阅