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

测试用例设计—等价类划分法【烟三出品】

上一篇 / 下一篇  2008-07-06 22:04:44 / 个人分类:测试理论

51Testing软件测试网0d;E v3SEj

1.相关概念51Testing软件测试网q1baZL\ R

%IhF:xn2eq*K,qu01.1 定义
51Testing软件测试网 @bn0v7p pJB
    等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。51Testing软件测试网"jL a|,}+t2X r m%m/S
51Testing软件测试网Z-Iff?i
1.2 等价类51Testing软件测试网i!|9?.|l]"P%~
    等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。51Testing软件测试网!I%EN0KKK%t F&E
    等价类分为有效等价类和无效等价类。
#Bw|/}f;f!]0    有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。51Testing软件测试网+E2cKC&g's2p O
    无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
)QD}+O;`/x051Testing软件测试网$pF ^%b @P"\j
2.划分等价类的方法
(\eJ@#qq0
51Testing软件测试网t2lLz(sn.b
划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。
yg B3CI(_ |m0下面给出六条确定等价类的原则。
\4V%x'G+WzB+W J051Testing软件测试网6\8Lf^(r2k*x'u
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。51Testing软件测试网$|,SMJU+ypB
 例如:成年人每分钟的心跳60-100之间为正常。
E6Y&jb \w'E&c0 有效等价类:60-100  无效等价类:<60 和 >10051Testing软件测试网7TO{+JC g

xBm#T iB#H2O02、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。51Testing软件测试网2b9l6_DH B3^1yv:] tf
 例如:用户连续输入错误密码的次数最多为3次。51Testing软件测试网x-^)N ~ B1I!f@lVK
 有效等价类:<=3次 无效等价类:>3次
c5togr3p0
x%im.j'D(Vqn-rN03、在输入条件是一个布尔量的情况下,可确定一个有效等价类。51Testing软件测试网1v0x Kz.h6~]"N!k
 例如:单选的选中与不选中。
M*tP+Jb_&~8Q1P051Testing软件测试网IE6?!}*e4R&O1P"r
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
Q n\hu0 例如:输入数据为省份的选择。
D9vF2Syp(w9~0
Y3|&b)r2I-YXC05、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则) 。51Testing软件测试网)cwzB9Q5RU6b
 例如:规定必须输入非0的正整数。51Testing软件测试网bt,D2fux j_
 这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后得到从不同角度违反规则的无效等价类。
iX9qNEn&kcQ0 该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。
nN Q7q|l a051Testing软件测试网BS7e3z_.B2g-@]
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。51Testing软件测试网S4e"^-`d s
 例如:核对日期的有效性,初步有效等价类是1<=Month<=12,1<=Day<=3151Testing软件测试网1x1x"iA'fUCThg
 可是考虑到2月以及闰年、闰月、长月、短月等,需要进一步细分,当然其中还涉及到了年月日组合的问题。51Testing软件测试网6QW2gi&[6cn$}

{cN4gb4Gg R5j0根据等价类划分原则,将等价类填入下表。51Testing软件测试网(D#t*e*W!i7V c7l
等价类表
(i#b2?+ac;O{0

*YYWlQ vY0

'pR@xi ~9n)S0

 输入条件 有效等价类 无效等价类
   

dm)K_N1[n4i0

j XR"V)~V `iV0
){~];y;d3f'BWH3\'Y"}03.测试用例设计原则51Testing软件测试网2n}/kTP$]X6S
51Testing软件测试网{z6?"|1F9I1Z)?|
根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例:
+m(q(B4JWGUZ"W0
upy qv#v;~iG T?01)、为每一个等价类规定一个唯一的编号。
$Hba!RW051Testing软件测试网j!b0p(v(L Aj!\
2)、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。51Testing软件测试网,_7a/^0A5R#r
51Testing软件测试网 d@.o$qM)aFZ
3)、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
6gy1lR,G6Y~b0
d;mh ^ _9U04.等价类划分法优缺点
]m#L#f4M8F l0V0等价类划分法的优点是考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的布完整性和覆盖的不稳定性。51Testing软件测试网q Z*iE.y1boT
等价类划分法虽然简单易用,但是没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。51Testing软件测试网Nim5`Yg2ns

$CmL,L)e,nN/P05.实例51Testing软件测试网5Ib?;XlD H t
竞猜系统中:投注的金额要求是大于10的正整数。51Testing软件测试网 X${9Esa*xjk(Y H8X
根据分析等到以下等价类表。51Testing软件测试网 vk5U,j1^5n0o^*bj+~6q
51Testing软件测试网y$BhZc$l*e-\?N6v

 输入条件

] B;k&IGiymTv0

 有效等价类51Testing软件测试网5Ot,ei8t*Z6W9x-gx

 无效等价类

t$p J'lP p W"w.o0
大于10的正整数51Testing软件测试网7Y w,}^ Jc7B
大于10正整数
T2{DO-|U(DR3wt0负数
$x0n3d8l9g#[)__ P,ur6u0小数51Testing软件测试网x h NL `n X
小于10的数51Testing软件测试网J.I c8pj(n)M
字符串
51Testing软件测试网QNhrsDrH\7N*n
备注:再加上全角状态下的数
'Rug%mrH6T8_0

I.](O-Kb!od0

TAG: 测试用例设计 等价类 等价类划分法 测试理论

引用 删除 yikaiyijian   /   2015-02-06 13:50:25
-5
 

评分:0

我来说两句

Open Toolbar