设计测试用例

上一篇 / 下一篇  2011-05-27 17:07:03 / 天气: 热 / 心情: 平静

1.1        等价类划分方法

51Testing软件测试网$w0Ak d6J B)QH

1.定义51Testing软件测试网9Q$m5yj d,p

等价类划分法是一种最为典型的黑盒测试方法,它完全不考虑程序的内部结构,而只是根据对程序的要求和说明进行测试用例的设计。测试员要求对需求规格说明书中的各项需求,尤其是功能需求进行细致分析,然后把程序的输入域划分成若干个部分(子集),然后从每一个部分(子集)中选取少数代表性数据作为测试用例。经过这种划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。

}m@!h+~@wR6xV,m0

 51Testing软件测试网j@/o.Z s#ec]

2.运用等价类方法的步骤

,u]SC]0

运用等价类方法的步骤是:在进行等价类划分法之前,首先从程序的功能说明中找出各个输入条件,然后为每个输入条件划分两个或更多个等价类。确定了等价类划分后,给出相应的等价类表,再根据等价类表给出测试用例。

&jl I"Z#G enXY0

 51Testing软件测试网"w;kqk8Q;iX,z3AfP*\:G

3.确定等价类的原则51Testing软件测试网 M dC4c'u|8w

为了避免测试用例的冗余或遗漏,如何确定等价类是使用等价类划分方法中的一个重要问题。我们必须在分析需求规格说明书的基础上划分等价类,列出等价类表,从而确定测试用例。下面给出进行等价类划分的几个参考依据:51Testing软件测试网2Jk#O7D7Op/^ J!X&d

1)若某个输入条件对取值范围或值的个数进行了规定,则可以确立一个有效等价类和两个无效等价类。如:某个输入条件输入值是学生成绩,范围是010051Testing软件测试网M:}5p-\)b)?

+`-qjmi*j{MI0

  2)若某个输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类。如:某个输入条件输入值是数量,正整数,则有效等价类为输入正整数数据,无效等价类为输入输入非整数的一起数据信息。

F` g\'S#r?)C0

  3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。

{A*J0R({ q TnT0

  4)若在某个输入条件中对输入数据的一组值进行了规定,并且程序是用不同的方式处理每一种值的,则可为每一种值划分为一个有效等价类,并针对这组值确立一个无效等价类,它是所有不允许的输入值的组合。如:在彩票兑奖方案中规定对显示图案为梅花、黑桃、方块和红桃的彩票分别计算中奖金额。因此可以确定4个有效等价类梅花、黑桃、方块和红桃,以及一个无效等价类,它是所有不符合以上花色的彩票的集合。

VJ1x'di X T8a7h_#D0

  5)如果规定了输入数据必须遵守一些规则的情况下,可可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。如:C语言规定语句必须以“;”结束,这时就可以确定一个有效等价类以“;”结束,若干各无效等价类以“:”或以“,”结束等。51Testing软件测试网z!C-CaZA

6)若已划分的某等价类中的各元素在程序中的处理方式不同,则应当将此等价类进一步划分成更小的等价类。51Testing软件测试网F+F.JCl9e,fn

4.划分等价类要注意的问题51Testing软件测试网%m.w8Q7gq

Ø 考虑有效等价类,同时也要考虑无效等价类。51Testing软件测试网t5h1E9e7V K3Yo"O

l 利用有效等价类生成的测试用例,可以检验程序是否实现了需求规格说明书中规定的功能和性能。51Testing软件测试网 E.O.n6]{!r'a

l 利用无效等价类生成的测试用例,可以检验程序中的功能和性能的实现是否不符合规格说明要求。

d*a-Nx7_;]S:S$L0

   设计测试用例的时候要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受非法输入的考验,这样的测试才能确保软件具有更高的可靠性。

6I.Qo.o#Wn0

Ø 仔细划分,审核划分51Testing软件测试网O u.Ts4O,v;IO+}(i/n5Z

等价类的目标就是把所有可能的测试用例组合数量缩减到仍然足以测试软件的范围。如果为了减少测试用例的数量过于粗略地进行等价分配,就会增加漏掉软件缺陷的风险。测试员必须仔细选择分类,特别是测试新手,在测试前一定要请有经验的测试员帮助审核确定划分的等价类别。

}t VL%EL[2}0

5.运用等价类划分法解决一个实际问题51Testing软件测试网5r{(`i7p8Fp$? x

如何测试一个两位数加法计算器的程序。51Testing软件测试网 [,C+mK6|;P0K6~

测试需求:测试两个参数的值相加后的结果是否正确。其中:51Testing软件测试网6[T8z2qpTS%|,Zk%r

Ø 输入的数值在-9999之间;51Testing软件测试网D5~lX4c~(A6L8A5C#W

Ø 大于99或小于-99的输入应该拒绝,并显示错误信息。51Testing软件测试网8X0k-sj S6AL&R([

  接下来具体看看如何运用等价类技术解决上述问题。

XH Wh+N5M0

1)在本案例中我们根据测试需求可以把两位数加法分为如下所示的3个等价类:一个有效数据的等价类,两个无效数据等价类。51Testing软件测试网e[a+Z C

51Testing软件测试网j f0ukT:E7D

1等价类划分

dW7Jb/q4G,M'MB0

 51Testing软件测试网/E8@}ys*@I~ R:b9s

2)在实际工作中,通常在确立了等价类以后,把程序中的所有等价类建立为等价类表,以便在编写测试用时有所依据(表1-1)。51Testing软件测试网*P*c*id3jg BQ#h

1-1等价类表

K!gqXQq-N T`0

序号

g-@8J3z'k0

功能项

RL w0V B8]0

有效等价类51Testing软件测试网q"T2Xdg\q"^

编号

.Z'cs+T(Y+F D[R0

无效等价类51Testing软件测试网'p/R?wT)sz ^

编号51Testing软件测试网7b f:CI+M1Qs df

151Testing软件测试网 zA!\*j+dY"Q

 

~S5Y#Fw*N7Uv0

 51Testing软件测试网7s,S)Z4sll%mCG ?d

两位数加法

"@W/PnlA y?*T.y0

 

Tp%yw G/K.S9y0

 

3AA&O5V(f^O \0

-99<=加数取值<=9951Testing软件测试网b3B.rOT3A%Me*~`

 51Testing软件测试网'B r!O(P3[7J.XQ7o

 51Testing软件测试网h7b7ke.GBTRQ[

2

#yq?j$v*Eqv0}0

 51Testing软件测试网&|,j(?6R_Fu

 51Testing软件测试网 sXs q$G y

加数取值<-9951Testing软件测试网)WA2Sco

 51Testing软件测试网O_[H*H3Rd[s%V

加数取值>99

d#ZnZ-R:\f0

151Testing软件测试网1z|I9S{YF\

 51Testing软件测试网:U2W,ee!ir,{Sa L

351Testing软件测试网L&TOCV5X)x

251Testing软件测试网]j{`-rZ/B'yd)\

51Testing软件测试网 f \-AQD4J:LS g

5Gi7ywQ6n#E0

51Testing软件测试网,Z;iS(p5X1Qpdb

BE.}!iZHew0

51Testing软件测试网*[5`+`@Y^ WW

 

o;I3Z u+q0

3)根据上面的等价类表,就可以确定测试用例,步骤如下:51Testing软件测试网;lr ]3W.MZ.[^

1) 为等价类表中的每一个等价类分配一个唯一的编号;51Testing软件测试网d9kE!t0}"W

2) 设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这一步骤,从而使所有有效等价类均被测试用例所覆盖(1-2);

h%`;J(EI-g0

3) 与步骤2)类似,设计一个新的测试用例,使它只覆盖一个无效等价类。重复这一步骤,从而使所有无效等价类均被测试用例所覆盖(1-2)。

9V8x2g?4{/q3H2{0

1-1测试用例列表

2d d"C5glI0

测试用例编号

+y r u C,\0

输入数值

H@5b;gh'T@ d0tA0

所属等价类51Testing软件测试网@uYX6ux

预期输出结果51Testing软件测试网(ZrJ o2h%Gwlm O

151Testing软件测试网zr@/WEz

-50+24

y$o;Ok8w6k0

2

K8ZsGTK1H\0

正确输出:-3451Testing软件测试网$HCr.~0^N?,s0w

251Testing软件测试网[+^(O'CAI"P^!N@

-13051Testing软件测试网*j,I$z3?A W k-?5q

151Testing软件测试网 LnA5X BY%T Z%d

错误信息51Testing软件测试网 _4Te}B;q6f _

351Testing软件测试网i~+W2l.xFrt

125

"\"@L x*~(e$oD9z|q0

3

(w \Z(A.cRl/e0

错误信息51Testing软件测试网2T6ad*\,NJ oO [5\/B

 51Testing软件测试网2YFHv f^3z,z

4)细化等价类划分51Testing软件测试网,B0n.D;S2E#n`8iVX

在测试“-99<=数值<=99”的这个等价类区间的时候,会发现如10+40,-20+30-30+-30)这类的正数相加。正数负数相加,负数相加也是不同的等价区间。因此我们可以使用更多的等价类划分(如下)。51Testing软件测试网7sn\ E5b.R*X.EnQ

2有效等价类细化51Testing软件测试网C-TMx1gup%L

根据以上等价类划分结果,得出(表1-3)所示的等价类表。51Testing软件测试网h:} s;G#l9nyc

1-3等价类表51Testing软件测试网IV-^4q/zH.j

序号

A s+I/h2GjM0

功能项

C!U,r,u|#V#m0

有效等价类51Testing软件测试网yj$y&].xKb

编号51Testing软件测试网 ~,Cp b C:T0u H{ x

无效等价类51Testing软件测试网 _V6KB|p Q3s

编号

xO Y5wk }|0

151Testing软件测试网b5q4i+BMMV6S

 

+IJ}3@p2r)x9i p0

 

V1J K|q.m0

两位数加法

:I{ r2[8N0

 51Testing软件测试网-u5x-qx/{1a

 51Testing软件测试网 ~wFi:PH}

-99<=加数取值<051Testing软件测试网Y!H"zsJ{S

 51Testing软件测试网 DuSzN$F?,~6R+[

0<=加数取值<=9951Testing软件测试网8j!` g8G3P5En'V

251Testing软件测试网8vd0SR4i[i#O j&l

 

.Q$gQ~M0

351Testing软件测试网_-SbJ._6f

加数取值<-9951Testing软件测试网"E.Qr`wbEY}

 51Testing软件测试网/\2J&|)d#L

加数取值>9951Testing软件测试网"wv)xng:N+Z Y.D:z

1

!{vG x v0

 51Testing软件测试网 r{'`4fJ:[$x3b5g

451Testing软件测试网's6i(u5F%UCV)jO^

 

'm2RG[e"a ga0

5)根据以上划分的4个等价类可知,至少需要5个测试用例(表1-4)。

2K%R9wm2dD0

1-4测试用例列表

i;y-@B?[0

测试用例编号51Testing软件测试网#}#JJ}:{-B {-|7@j

输入数值51Testing软件测试网!C?7YBRV*B

所属等价类

j9IN#S#a e0

预期输出结果51Testing软件测试网@m'M8L3P7DYm

151Testing软件测试网_1dKh7tfm;S

50+2

k!jU.?+[/d[RO(V0

3

)n1Ec*n7S:UJo1Gk0

正确输出:52

7?'q Y1q6XW0

2

9g n ym aWI ]0?0

-63+(-20)51Testing软件测试网|.^D3UZ1af

251Testing软件测试网0E"GLxFM

正确输出:-83

9w2uU `(X`Xse0

351Testing软件测试网 PT Pe*J@*L


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-08  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 8092
  • 日志数: 7
  • 建立时间: 2009-11-27
  • 更新时间: 2011-06-03

RSS订阅

Open Toolbar