我想做些事,我想做些有用的事,我想做些我可以做到的事,我想做些软件开发和测试的事……

正交试验设计法

上一篇 / 下一篇  2007-09-05 14:14:13 / 个人分类:测试管理

%Ra:nu2js!Y*h0  我们在设计用例的时候,解析需求各功能点时,常常依据是每个功能点的不同输入条件会遍历出N多个用例,使我们的测试工作量之巨大;在测试的过程中感觉有的用例好像不需要再执行了,因为前一个用例感觉已经把它覆盖到了;但又好像不是很牢,应该再执行一下这个用例的。在这种左右为难的情况下,感觉通过正交试验设计法来设计这种用例会让我们的工作做起来比较轻松,而且质量方面也得到很好的保障。
4s.vz"nE}-{`&q0  正交试验设计法,是通过所遍历出的用例做分析,根据公式或经验挑出覆盖面比较全的用例,过滤掉一些不必要的用例,也减轻我们的工作量,定位测试重点。此方法的详细介绍见下……
51Testing软件测试网!|A~kX$ECDw[

8jBT1^uR4rBM0===============================

O/Ye.I.s G Z0

OATS:即Orthogonal ArrayTestingStrategy,正交表测试策略。

xvsga0

 

Sn(QF!e0

1      OATS的概念:

次数(Runs):简单的说,就是次数是多少,就有多少个用例。

;Ou7T.^*yL o_%N0

因素数(Factors):简单的说,就是有多少个变量。51Testing软件测试网B Q#jZ'E1Be5E

水平数(Levels):比如有三个变量,其中变量取值最多的是四个值,那么水平数就是四。

P7QC ?:|7`2uibP0

强度(Strength):即变量间的相互关系,当强度为二时,只考虑变量两两之间的影响,如果强度为三,同考虑三个变量对结果的影响;当强度增加时,用例的个数会急剧增加。

[7w8yH%Pk y!c5Q0

 51Testing软件测试网.u:i7V9Q?

正交表的表现形式:Lrunslevels^factors 

%X0zOeKUa0

 

k[K1a7y0

 Runs=factors*(levels-1)+1

oV [x*M H0J%oG&yH0

介绍混合水平数正交表的知识,混合水平数的正交表中的因素数的水平数是不同的,比如,有5个变量,一个因素数的水平数为4,另外四个因素数的水平数为2,则用正交表表示如下:51Testing软件测试网 K0yXW(x`3U4g1k

L841×24

-{y)jc I2O%q#df z0

 

D+s S;Y/p2T#Hy0

2      OATS的好处:

对有些组合测试,我们可选择的一种测试途径是测试所有变量的迪卡尔积(即统计学中的全面搭配法),无疑,这种方式得到的是所有变量、所有取值的完全组合,是最全面的测试。而在变量多的情况下,这无疑也是最不可能实现的方法,所以我们要选择一种方法,即可以测试大部分的BUG,又能极大的缩短我们的时间,正交表是我们的选择:

0f ]:{1`#D0

 51Testing软件测试网7o;A8a6z'|+o:w

其特点为:51Testing软件测试网!FA-m9lgb HQ

    完成测试要求所需测试用例少。51Testing软件测试网:CF!G2P9W`

    数据点的分布很均匀。

"vU5[6[1xT0

    可用其他统计学的方法等对测试结果进行分析。

({/Q"N][2J$q-W0

 51Testing软件测试网2r*m"LfU~N

OATS用来设计测试用例的方法如下的好处:

6Q#bqU1L/j`3FC0

1,可以组合所有的变量;

P,U ^4Ha%^Eh0

2,得到一个最小的测试集,这个集合,包括最少的测试用例,并且,包括了所有变量的组合,

U2W2_ Uk0

3,得到的变量的组合是均匀的分布的(这一点可以参照上面的正交表的特点);51Testing软件测试网q"y(Rhp K&_~

4,可以测试用一些复杂的组合;51Testing软件测试网*Ww-f^vEM

5,它生成的测试用例是有迹可循日,即有规律的,不像手工测试那样会遗漏一些用例的组合。

T6UIf x(`0

3      选择OATS的基本原则

一般都是先确定测试的因素、水平和交互作用,后选择适用的正交表。在确定因素的水平数时,主要因素应该多安排几个水平,次要因素可少安排几个水平。

Z,K3U.YPc0

   1)先看水平数。若各因素全是2水平,就选用L(2)表;若各因素全是3水平,就选L(3)表。若各因素的水平数不相同,就选择适用的混合水平正交表。

DIW` ~or%rm0

   2)每一个交互作用在正交表中应占一列或二列。要看所选的正交表是否足够大,能否容纳得下所考虑的因素和交互作用。为了对试验结果进行方差分析或回归分析,还必须至少留一个空白列,作为“误差”列,在极差分析中要作为“其他因素”列处理。51Testing软件测试网ty9kv9G+B&^:L

   3)要看测试精度的要求。若要求高,则宜取测试次数多的正交表。

ay;Ix+fr w0

   4)若测试费用很昂贵,或测试的经费很有限,或人力和时间都比较紧张,则不宜选实验次数太多的正交表。

J$}/A~3D&Hg+M0

   5)按原来考虑的因素、水平和交互作用去选择正交表,若无正好适用的正交表可选,简便且可行的办法是适当修改原定的水平数。

to `I:E2~!q g0

6)对某因素或某交互作用的影响是否确实存在没有把握的情况下,选择L表时常为该选大表还是选小表而犹豫。若条件许可,应尽量选用大表,让影响存在的可能性较大的因素和交互作用各占适当的列。

:]K6}'VXI#O0

 51Testing软件测试网 X1dmA)O8R T

4      OATS的步骤:

1,先要知道你有多少个变量,这个不用说了,很简单的就能确定了。它对应到正交表的概念中的因素数。51Testing软件测试网fOH:OtM3x7of

2,查看每个变量的测试取值个数(这里我用a代替,以方便后面调用),这个取值不是说这个变量的取值范围中包括多少个值,而是用等价类划分出来的。关于等价类的方法,这里就不说了。51Testing软件测试网]9Hg7`s2FZ&Sq

3,选择正交表,我们选择正交表时,要满足两点:因素数(即变量个数)和水平数。在选择正交表的时候,要保存:

'H;Uc?:E H0

A、正交表的列不能小于变量的个数;51Testing软件测试网2Kd,Sqtn5Fp

B、正交表的水平数不能小于a51Testing软件测试网&J-|o/k(Y

4,拿着自己的因素数和水平数,去找对应的正交表,按3中说的原则,现在正交表有一部分已经在网上公布了,在很大程度上已经够设计测试用例用了,如果你的情况太特殊,也可以考虑自己去推算。

1o{7uY.Qae@)V0

5,如果你选择的正交表中某个因素数有剩余的水平数,就拿这个因素数的值从上到下循环代进去。以增加发现缺陷的机会。51Testing软件测试网5[/S0Y:u/cq#J

6,按次数设计用例,每次数对应一个用例。设计完成后,如果觉得有些组合是可能会有问题的,而正交表中又没有包括,那就增加一些用例。

&K[dK2U0

 

/Eh6? k([*u)H3D0

5      OATS的实例:

5.1   实例

下面介绍一个混合正交表的例子:

[E9p)_.{\+I0

变量个数:4个  分别为:ABCD

"vI@(CS2o0

取值为:51Testing软件测试网$X|s dkP_

A->3个值(A1A2A3)、51Testing软件测试网.~ ?LWn(k^

B->4个值(B1B2B3B4)、

?r'xq4\ su6kV0

C->4个值(C1C2C3C4)、51Testing软件测试网D'I\oB

D->4个值(D1D2D3D4)。51Testing软件测试网5n+}v*yhzhp(N6|c

把上述数值对应到正交表的概念中去,如下:51Testing软件测试网6Q3O$C'Qo@/dtzd_

因素数:451Testing软件测试网?7f^5Gp Q,X

水平数:其中3个变量的水平数为41个变量的水平数为3

k$`6m_LJ0

对应到正交表中写法如下:

^ypQZ4u6Xl/rg0

Lruns3^14^3

1J1@6iB;Mp1Q0

1 只考虑强度为:2的情况。51Testing软件测试网9CbT,xUZ

A其对应的正交表如下:51Testing软件测试网 [1X6m B5Vj~y

Runs   A  B C  D

V(lS.o_X+r wD0

 1 |   1  1  1  151Testing软件测试网]!sc+q i+o3{6G

  2 |   2  2  2  251Testing软件测试网 e xM[K

  3 |   3  3  3  351Testing软件测试网D8ny2f1{*q#@$F D

  4 |   -  4  4  4

]_2\-OH w+ECt0

  5 |   1  2  3  4

o i^3{l1b%^u`|9]0

  6 |   2  1  4  3

y~3o)Q yt"[{0

  7 |   3  4  1  251Testing软件测试网Q4k(m;^zmR2|?

  8 |   -  3  2  151Testing软件测试网8`m3|A*F s9O1u

  9 |   1  3  4  2

q;v2O5Z2_!h0

 10 |   2  4  3  151Testing软件测试网l^M"w?\7S P&c

 11 |   3  1  2  451Testing软件测试网l9@uD{"u

 12 |   -  2  1  3

lmF+w^ ^&e-x0

 13 |   1  4  2  351Testing软件测试网 JW+L Io

 14 |   2  3  1  451Testing软件测试网^w,ED4W:c5EE

 15 |   3  2  4  151Testing软件测试网A5^g9x6O x

 16 |   -  1  3  2

e+J2B&Qu*?WBL0

 

`.b6v4['aY(C6D*EW@0

即应用到次数为16的正交表,我们可以得到16个用例。51Testing软件测试网o)eruJ

 

{jN;U5a0

B、把各个变量的代入正交表得到如下正交表:51Testing软件测试网Xf I@W8B

Runs  A   B  C   D

4wJD)g\0

 1 |   A1  B1  C1  D151Testing软件测试网*RF3`[b.[)p K3b

  2 |   A2  B2  C2  D2

\7{`+p-T]F0

51Testing软件测试网bb:S0M.Wr p c


TAG: 测试方法

Start QA Cycle 引用 删除 bessie.love   /   2009-04-08 11:08:22
最基本的一步,因素跟水平不知道怎么确定
如果是那个三角形写测试用例的典型例子,请问,因素是3吗?那水平各是多少?怎么按等价类划分来获得?
 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 15277
  • 日志数: 26
  • 建立时间: 2007-04-17
  • 更新时间: 2008-07-23

RSS订阅

Open Toolbar