naotang的测试成长空间,记录工作中的问题,学习中的心得。 个人网站:www.naotang.com

测试用例设计—正交试验法【烟三修整】

上一篇 / 下一篇  2008-05-23 14:25:19 / 个人分类:测试理论

j$i] hMB'mqI5g3C01、概念51Testing软件测试网l:y@"g ^7h
51Testing软件测试网LZ*HH+|D&{f
1.1正交试验设计(Orthogonal experimental design)
I"S@WktnU }0是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

3s5X z6R3PZ051Testing软件测试网(uS"nUn7oz

1.2、因素(Factor)
&gJqx$l7c0在一项试验中,凡欲考察的变量称为因素(变量),也有的地方叫因子。51Testing软件测试网1^"D@a~&Qm

8X*F%Sq0az01.3、水平(位级)(Level)51Testing软件测试网4A(Tw-N Dqj;J
在试验范围内,因素被考察的值称为水平(变量的取值)。

T gjAJWM!`051Testing软件测试网4M jbk7V/z6by/C

2、正交表51Testing软件测试网/B5v D/UK`5N

VGa7zX)b {02.1正交表是一整套规则的设计表格。

d4[z^"s8{8{!R0正交表的表示形式:Ln(t^c)其中:L为正交表的代号,n为行数(试验次数),t为水平数,c为列数(因素数)。
"pz?e;^0例如:L4(2^3),它表示需做4次实验,最多可观察3个因素,每个因素均为2水平。如下图:51Testing软件测试网 Ed`N zQ

Gk'M9ktQ pTUxM$m0 51Testing软件测试网_5gt#G T {?4c6Y

5@O4S x/F0 一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(2^4 4^1),如下图。此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… tj 组成,这些数码均各出现n/t 次,例如图1-1中,第二列的数码个数为2,t=2 ,即由1、2组成,各数码均出现2次。51Testing软件测试网7j;Y h.D)N2Sa
51Testing软件测试网7ly?'X%a
 
Cf?3Zwt-L051Testing软件测试网!Z iGkn x1j3Q
 mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+151Testing软件测试网7h}0odB,X6|9KK
 例:5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,即L12(3^5 2^1)。

.K3r:j"y7x[,@s.n0

:{zD R pV Xr1N(l02.2正交表具有以下两项性质:51Testing软件测试网wJ*NB#pP
(1) 每一列中,不同的数字出现的次数相等。例如:在两水平正交表中,任何一列都有数码“1”与“2”,且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。
[J|&cE+w,tB0(2) 任意两列中数字的排列方式齐全而且均衡。例如:在两水平正交表中,任何两列(同一横行内)有序对子共有4种:(1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。
hK,H$OB"`.c0以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。

4gd!JFA~H-l0

pj!v/|5H Z9wC02.3如何查找正交表
&s'q/W?JG*ZQ051Testing软件测试网-t*G/].S8H"o D
1、Technical Support (support.sas.com)
} g8]KYq0http://support.sas.com/techsup/technote/ts723_Designs.txt

i,P%lt:E&G:[$Os0

5I)s5OA [02、查Dr. GenichiTaguchi设计的正交表,51Testing软件测试网o9uB2^ C2S8dk
http://www.york.ac.uk/depts/maths/tables/orthogonal.htm上面查询51Testing软件测试网h x:\O}]ey

51Testing软件测试网1@` |'K-VM`

3、数理统计、试验设计等方面的书及附录中

^W!V6lYbF051Testing软件测试网"J&Qj+^XTC

关注点:因素数和对应的水平数组成的矩阵。51Testing软件测试网:B)x9d};_&U}

ah1[6bo-A._'qWw1v0三、用正交表设计测试用例51Testing软件测试网\(e"S.bl]9J.S9l1S

eJ#J)qQ Ll Hm|03.1设计测试用例的步骤
%v] ~g&C;QL g0
1、有哪些因素(变量)51Testing软件测试网1k'Y[@ w`
2、每个因素有哪几个水平(变量的取值)
i&p:e~2Z03、选择一个合适的正交表
4mV$YZ5B{ `04、把变量的值映射到表中
b4Li a"V:ju A05、把每一行的各因素水平的组合作为一个测试用例
0r4y+jRB6KB07、加上你认为可疑且没有在表中出现的组合

_ {"q6}*L{9z?1?051Testing软件测试网'A"h`o#S/oq

3.2如何选择正交表51Testing软件测试网d)M(\&y,t o
1、考虑因素(变量)的个数51Testing软件测试网Iylg Cj*sN_'s
2、考虑因素水平(变量的取值)的个数
it|l4YWe03、考虑正交表的行数51Testing软件测试网g9s8FRn
4、取行数最少的一个51Testing软件测试网%S"v(`XvQ,O%m*| ]

dx,F2F5w0O&y`03.3设计测试用例时的三种情况
9JY rS\ a/s9G.z0
|5OQ`-a4^(VA01、因素数(变量)、水平数(变量值)相符
!e&_+K$l)b.G0

Iav*n+`-|!B0水平数(变量的取值)相同、因素数(变量)刚好符合正交表

{(T.{9W/Y9H0

D-@1^N6O;G'~a BX7\OB0例子:
eOw6l8Bc$_0
对某人进行查询51Testing软件测试网"LB/Gg`}(r
假设查询某个人时有三个查询条件:51Testing软件测试网/C/s |K#f lK'a
根据“姓名”进行查询
5IG*q;g8{0根据“身份证号码”查询
E p;{}nzM.OM)l0根据“手机号码”查询51Testing软件测试网9r[I0[-n v#u
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计51Testing软件测试网hh] u2X{4}?;O

51Testing软件测试网2w7J6~2G8Y DUWS

①因素数和水平数
*k!zBe nU dpJ-Q0
有三个因素:51Testing软件测试网5Y o!zO~^|2O P
姓名、身份证号、手机号码

nQ8aSQ/`:O051Testing软件测试网1m7Aq)ez2D&j"z5RtVG3C

每个因素有两个水平
^J&C)VO(I.d0姓名:填、不填51Testing软件测试网yWH:d;@
身份证号:填、不填51Testing软件测试网)h^k L-f(RUNM*m
手机号码:填、不填

$x&BC uh~0{051Testing软件测试网oS_4BGH e}

②选择正交表51Testing软件测试网kB7s}d {;LGRZH3_
表中的因素数>=351Testing软件测试网&t"v!gb&U8[
表中至少有三个因素的水平数>=251Testing软件测试网Me(oj3pQ
行数取最少的一个51Testing软件测试网ay/{g JG$` wQ;ke
结果:L4(2^3)(图参见前面)

V+z J.h.I+[f:i051Testing软件测试网.^D1KMob

③变量映射51Testing软件测试网;XZ*^[:V }M0DAe
姓名:1→填写,2→不填写;
wJ(U*v l&h5v]0身份证号:1→填写,2→不填写;
(jA2P jt0手机号码:1→填写,2→不填写;

k p:k1WK#m7]3n4f6O2K0

Y k j)|+B7]0④用L4(2^3)设计的测试用例
3{vioLq3f@7o&B0
测试用例如下:
^TqrJ M01:填写姓名、填写身份证号、填写手机号51Testing软件测试网*`)W`*ZDQ
2:填写姓名、不填身份证号、不填手机号
c F0w-~8`/s03:不填姓名、填写身份证号、不填手机号
-d(A{i7N7a-A i;i04:不填姓名、不填身份证号、填写手机号51Testing软件测试网G4@!T%n!s,E F'l+L(D6t

3|K)Re#{/G4`3B#oI0⑤增补测试用例51Testing软件测试网 ^ ToSA'B's `\]
5:不填姓名、不填身份证号、不填手机号
3C},y#W*My_0
%W ]&G~*d+ij ro3T0测试用例减少数:8→551Testing软件测试网-{9N gW vy/c'@6a

51Testing软件测试网$GjU*Fw\X)l

2、因素数不相同
y.gP*a)[(sl0

WF{jC#jr[0水平数(变量的取值)相同但在正交表中,找不到相同的因素数(变量)(取因素数最接近但略大的实际值的表)
1m[1dH5[5tL_ z0
"cW%]2Qo0例子:
uM&O0n&gw0
兼容性测试:51Testing软件测试网(i3PT#_:^MT
操作系统:2000、XP、200351Testing软件测试网3]v FKiW bU
浏览器:IE6.0、IE7.0、TT
q dHx F0杀毒软件:卡巴、金山、诺顿51Testing软件测试网W [p u x+X+G
如果全部进行测试的话,3^3=27个组合,需要进行27次测试。

)?(j [h_tX b m6K0

c3[rf~ _*IXf KG;c0①因素数和水平数
&\)K]? ]r]?rV0
有三个因素:51Testing软件测试网%m4J(@5k8Q{9ll
操作系统、浏览器、杀毒软件

9a BT ]"P'pF051Testing软件测试网3^k7F*{9~bs

每个因素有三个水平。

1bt OI1P,P0

4EPot%Rwp0②选择正交表
#W-M0k]-[/p4e Q'D0
表中的因素数>=3
S'C\.|+jwcxL0表中至少有三个因素的水平数>=3
mu%}4Mll0行数取最少的一个
W*GL2b8Y&u(f*Q0结果:L9(3^4),如下图:51Testing软件测试网7tK1Ki1I`%^

#m;`+C@S,L0 

g8p&C];tMW|051Testing软件测试网 v^ BLq"`MI.J\

③变量映射51Testing软件测试网Sr"n$fk-m&GH2X1@
操作系统:1→2000,2→XP,3→2003
fb$}[m!Qz(F0浏览器:1→IE6.0,2→IE7.0,3→TT
1[ZWm9p8`-@0杀毒软件:1→卡巴,2→金山,3→诺顿51Testing软件测试网QpQ wF3z:wB+D
51Testing软件测试网-SkjcT
 51Testing软件测试网;Y4O4S[&\ _.n W

t9_}7F3{ m-u0④用L9(3^4)设计的测试用例51Testing软件测试网6U_fv^JtJx

Xe{(O?@T9O0测试用例如下:51Testing软件测试网yv#Bm$u,F
2000、IE6.0、卡巴51Testing软件测试网j7d*`H$@1vM|x
2000、IE7.0、诺顿51Testing软件测试网0D _.aazLQZ
2000、TT、金山51Testing软件测试网f"b9m$R_"Gh
XP、IE6.0、诺顿51Testing软件测试网y z Dc's0`7L
XP、IE7.0、金山
9L5x9~Ae"dl0XP、TT、卡巴
xt;o#U0I4e+OSdq.^02003、IE6.0、金山51Testing软件测试网zC H&p3|[c2{/V,ZH h
2003、IE7.0、卡巴51Testing软件测试网oK [!b"t\3dg~a#I
2003、TT、诺顿51Testing软件测试网BV1~G4J7x"r

E%iU;s;Y1J U0⑤增补测试用例
L:l0m5jK5L0
由于目前IE6.0、XP、卡巴的使用量很高,故增添以下测试用例:51Testing软件测试网;m$yD w$fz8R
XP、IE6.0、金山51Testing软件测试网7gQ\ l7G)o0`
XP、IE6.0、卡巴51Testing软件测试网2Dt.vJ$M/]o
2003、IE6.0、卡巴51Testing软件测试网'NN ?[f$bg2n4x#c
51Testing软件测试网3U#P!UR\E1N"c/j
测试用例减少数:27→1251Testing软件测试网 NGo;k0o |7V

4EpO7sH03、水平数不相同
BC`5G IW ~Fl3y%|0
因素(变量)的水平数(变量的取值)不相同51Testing软件测试网rb(}O1zw'o

DQ*\ BR8y u P;e:@0例子:51Testing软件测试网yw1K,d ]@3e
假设有一个系统有5个独立的变量(A,B,C,D,E)。变量A和B都有两个取值(A1 、A2和B1、B2)。变量C和D都有三个可能的取值(C1、C2、C3和D1、D2、D3)。变量E有六个可能的取值(E1、E2、E3、E4、E5、E6)。51Testing软件测试网Ego'ocJhE'M

51Testing软件测试网0}(j:rz|iz

①因素数和水平数
d,w.bWpsd i1{0
有五个因素(变量):
4A`D S'[ Z Lx;h0A、B、C、D和E
P0@^_%U+vo051Testing软件测试网QX0AH r`/a
两个因素有两个水平(变量的取值)、两个因素
;\3Z7h1{iv&fR0有三个水平,一个因素有六个水平:
M&{6C6\y9D0A:A1、A2
r-m Na8MV0B:B1、B2
.e1|l\@.L T"p0C:C1、C2、C3
!O,[9Eh!H3]P7y0D:D1、D2、D351Testing软件测试网Bds |m*w_#w |#{
E:E1、E2、E3、E4、E5、E6

N?lC(k }MF051Testing软件测试网"x%v | A g'i}y

②选择正交表51Testing软件测试网;lcx(hM%? h
表中的因素数(变量)>=551Testing软件测试网z;z7V ~h RgO
表中至少有二个因素的水平数(变量的取值)>=251Testing软件测试网Cj8]~z4f(VW
至少有另外二个因素的水平数>=3
#OX'Yf#`3XFt6d"f%l.u8l0还至少有另外一个因素的水平数>=651Testing软件测试网x"X.U w'f
行数取最少的一个(L49(7^8)、L18(3^6 6^1))
^uM_d0结果:L18(3^6 6^1)(如下图)51Testing软件测试网-^`2X2r%RO&oW

7rrU1y G+G0 51Testing软件测试网r-R-X~ y2H5K

?*as#F q6K,{"v0③变量映射
"J|Z;aUYh K9C0
A:1→A1、2→A2
9Bw$~&|2F@Z0B:1→B1、2→B251Testing软件测试网 s1y p9J:}Kqz!d
C:1→C1、2→C2、3→C351Testing软件测试网9A"z+yKN mA%^
D:1→D1、2→D2、3→D3
TjNj#H ixgG0E:1→E1、2→E2、3→E3、4→E4、5→E5、6→E651Testing软件测试网9_Ee0s4m%p-Rx-b

:r#T J-W1vO(`0 51Testing软件测试网j e U _!|;Ck k
51Testing软件测试网@u,z:SuT{E
④用L18(3^6 6^1)设计的测试用例51Testing软件测试网aS0Cd1iX
51Testing软件测试网qM5C?B;e

c'KM8|5yh&C0测试用例减少数:216→18
#? l+O$]s#A'Z0
加上一些可疑的情况(设为n个)为18+n,它比原来也少多了。51Testing软件测试网6`+`T*v?R gH B

Yy w1SrM0 

m_kLO)h0

TAG: 测试用例 测试用例设计 正交表 正交试验法 测试理论

PYbless2008的个人空间 引用 删除 PYbless2008   /   2011-07-27 13:30:43
前面的两个关于水平数不相等的例子,我已经看懂,如下面:
1、一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(2^4 4^1),如下图。此表的5列中,有1列为4水平,4列为2水平。
2、5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,即L12(3^5 2^1)。
而最后的:②选择正交表
+@s"f*| DB|2?J380998表中的因素数(变量)>=551Testing软件测试网n._6LsN Z
表中至少有二个因素的水平数(变量的取值)>=251Testing软件测试网8{8SR(C:et
至少有另外二个因素的水平数>=351Testing软件测试网 T-LmW Z]
还至少有另外一个因素的水平数>=6
7{)e#jl.W;YE}380998行数取最少的一个(L49(7^8)、L18(3^6 6^1))51Testing软件测试网EKn.Z^P fh$J M*b4I
结果:L18(3^6 6^1)
这个地方,为什么结果会是L18(3^6 6^1)
,我觉得应该是:L14(3^4 6^1),请告诉我。。。谢谢
引用 删除 zhihaitao   /   2010-05-19 14:37:54
returnlittle的个人空间 引用 删除 returnlittle   /   2009-06-19 20:42:03
谢谢了
 

评分:0

我来说两句

Open Toolbar