设计测试用例

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

1.1        等价类划分方法

t!D6a-UZ H\F8NCo01.定义51Testing软件测试网v3{s#uoFV

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

KC7`t7Hr4O{V0

 

N!yEzth a0

2.运用等价类方法的步骤51Testing软件测试网O_\'W/Z!] `

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

D/t [f1E(Q&p0

 51Testing软件测试网"XX t9n-[@ fh

3.确定等价类的原则51Testing软件测试网4Ey0K@(g!P"R\*Q

为了避免测试用例的冗余或遗漏,如何确定等价类是使用等价类划分方法中的一个重要问题。我们必须在分析需求规格说明书的基础上划分等价类,列出等价类表,从而确定测试用例。下面给出进行等价类划分的几个参考依据:51Testing软件测试网 mZ8H"U.y&~$l[

1)若某个输入条件对取值范围或值的个数进行了规定,则可以确立一个有效等价类和两个无效等价类。如:某个输入条件输入值是学生成绩,范围是0100

`SA`I M~0

n#K+QTE9Wp#?4],G0

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

h Ow0yLE1s0

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

vo2b;m h9y^*q0

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

CoO3d*u M;B,t0

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

6)若已划分的某等价类中的各元素在程序中的处理方式不同,则应当将此等价类进一步划分成更小的等价类。

O.QPl"E0

4.划分等价类要注意的问题

&J"m;E/udCc~0

Ø 考虑有效等价类,同时也要考虑无效等价类。51Testing软件测试网"N!RftJ&z!Mf {

l 利用有效等价类生成的测试用例,可以检验程序是否实现了需求规格说明书中规定的功能和性能。

#N8W Y1Y T^ BK0

l 利用无效等价类生成的测试用例,可以检验程序中的功能和性能的实现是否不符合规格说明要求。51Testing软件测试网Q@n,a5V+P$h

   设计测试用例的时候要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受非法输入的考验,这样的测试才能确保软件具有更高的可靠性。51Testing软件测试网F2v8^'E|b J}x"?

Ø 仔细划分,审核划分51Testing软件测试网l,^-[/Na5Sj0dAW

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

"s?me'x.GX7zp]0

5.运用等价类划分法解决一个实际问题

1]7GTujQM-AY,|A0

如何测试一个两位数加法计算器的程序。51Testing软件测试网E\W*L`!Y#[

测试需求:测试两个参数的值相加后的结果是否正确。其中:51Testing软件测试网)r,~SjW5Z"K(^

Ø 输入的数值在-9999之间;

(@ c(O` Oz6i R0

Ø 大于99或小于-99的输入应该拒绝,并显示错误信息。

^!Ya kTKk:[g0

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

&_0O)M.B'VP? ? Pi]4D0

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

Q0N @-KPX |1v0

1等价类划分51Testing软件测试网!xu{my5V }

 

tdo*@9Cv0

2)在实际工作中,通常在确立了等价类以后,把程序中的所有等价类建立为等价类表,以便在编写测试用时有所依据(表1-1)。

{7c |,S a?0

1-1等价类表

(ke @8^7W0o&n]0

序号51Testing软件测试网a.Z?Xkl&f

功能项

` e-J#iA"d&E k*Y0

有效等价类

(l p9y8C+i?kQ-@0

编号

'RC-Cc{L0

无效等价类51Testing软件测试网Jf!Wj"J7KV |

编号

s3J WE2D5SW0

1

C)?*S]3\6mVL5Ij0

 

9AG4z!a+tvt4}0

 51Testing软件测试网1W@6PU0b cl y n#o

两位数加法

)d\0\z/|"if0

 51Testing软件测试网1|fW6f+x

 51Testing软件测试网2idWM} o

-99<=加数取值<=99

U.}YclR8m"UD0

 

:]*BJ3bG:cJq^@0

 51Testing软件测试网)sQvl}

251Testing软件测试网(cG+A(@}.Pc

 

tS"ozB0

 51Testing软件测试网@R K gV

加数取值<-99

;nrA1FUo'r0

 

oC8FKza^ r0

加数取值>9951Testing软件测试网-m0~CI Y\I~

151Testing软件测试网+oj"`Gi'Y&_NK

 51Testing软件测试网K!ez"r \

3

RUL F^L%t0

2

0] Nw C8S%E*?Q0

-}/~4` fJM)[[0

51Testing软件测试网7o d}5ec gr

u$M6@?;bJK0

Q-h8]?"e`0

*f e@ }S0

 

h-{,f'q t hN^%m l0

3)根据上面的等价类表,就可以确定测试用例,步骤如下:

AQ,[8s,J$Z }0

1) 为等价类表中的每一个等价类分配一个唯一的编号;

s p FMu}B0

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

7_ U,YG!GA/w.d i6q0

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

1-1测试用例列表51Testing软件测试网D`O`nSPs7b9I

测试用例编号51Testing软件测试网lh.wp4_x+o J

输入数值51Testing软件测试网 h5v q2mw(aW B

所属等价类

kj.bg,j S0V0

预期输出结果

h]l[_%b:p0

1

q2e,B`-O5^'c7pb0

-50+2451Testing软件测试网,DU(e/n;vy2aZ%tK

2

%_)B4KZ}0O5|z1Yf0

正确输出:-34

q0I5IstT0

251Testing软件测试网dpbQS S C

-130

#D%f2l'vw:T0

1

&h.Nt] k i]B0

错误信息

0|J(Q{Jfo(s0

351Testing软件测试网\$p+A~3eV9nHf\

125

5c+cq-E/W k,t&R0

351Testing软件测试网c5f#\4k5L(~e

错误信息

:HVqg]i Kr0

 

N0G0_4pB;|la0

4)细化等价类划分

|+r4Ic,k0V0

在测试“-99<=数值<=99”的这个等价类区间的时候,会发现如10+40,-20+30-30+-30)这类的正数相加。正数负数相加,负数相加也是不同的等价区间。因此我们可以使用更多的等价类划分(如下)。

T~~vQw0

2有效等价类细化51Testing软件测试网w#f/|%Z/BD1h o

根据以上等价类划分结果,得出(表1-3)所示的等价类表。

2b LW4lX0

1-3等价类表51Testing软件测试网ZE4ZK%o%L

序号

A?@-Pwp k0

功能项51Testing软件测试网EV j@MO1P F-i

有效等价类

1nB%l.V+B7Hd P b&G0

编号51Testing软件测试网c?jiiG"rF

无效等价类51Testing软件测试网"Mz?7L|!k

编号51Testing软件测试网`b-p i!zh:w]8[(]7h+L

1

X,]Z@1x!T y'T0

 

9t [N:NVDa_(P%W0

 51Testing软件测试网&v?y;Fj8`*SF

两位数加法51Testing软件测试网DjV*W&N$ZqM

 51Testing软件测试网^T [`O

 51Testing软件测试网Xj)R5lwAt

-99<=加数取值<0

{Q$w}X&W0

 51Testing软件测试网(jbo2_ h0\_

0<=加数取值<=9951Testing软件测试网J'{7L(fw4`c:c A

2

yB&n$d,@g;q0

 51Testing软件测试网2} Q"i9Ek

3

E_ @Lv.EA5W0

加数取值<-9951Testing软件测试网M P[3QJ9s| S

 51Testing软件测试网 wR K n%Xi

加数取值>9951Testing软件测试网_r&FSH)n%p

151Testing软件测试网nx$iX-rre

 51Testing软件测试网 L m r/V [ ET

451Testing软件测试网1ov+@*I fcK

 51Testing软件测试网+M9F"TU_7r4_|

5)根据以上划分的4个等价类可知,至少需要5个测试用例(表1-4)。51Testing软件测试网k)a!L(cK

1-4测试用例列表51Testing软件测试网 cP+y7V%^p

测试用例编号

;K`'cQ6D#F"{e0

输入数值51Testing软件测试网xA(aOjjm/d2W

所属等价类

"e.jpwfyG4Da0

预期输出结果

|#Y/WO-i1y0

1

'iqCi6_*x(N/J0

50+2

yG zP/z8T0

351Testing软件测试网;bu wQ%eh'| ^

正确输出:5251Testing软件测试网 l4\!Tl3M R:wJ5xr

251Testing软件测试网8KS4Y9RS*d,Ty4E

-63+(-20)

G6tsfL odd2`0

251Testing软件测试网,?;u+{ _g_%Q#A

正确输出:-8351Testing软件测试网 AI%A{x-z&qu+[ XP

3

C c@9v"m0

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-28  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

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

RSS订阅

Open Toolbar