测试用例设计—等价类划分法【烟三出品】
上一篇 / 下一篇 2008-07-06 22:04:44 / 个人分类:测试理论
1.相关概念51Testing软件测试网`|0vO7qmx4d
51Testing软件测试网BJ;h&R m0L!kK3DA
1.1 定义
uMoVr8{tO0 等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
g`8fY1slW051Testing软件测试网#k
nT6h)V
S4D Rf
1.2 等价类51Testing软件测试网q\&yJ?4gc2B
等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。
:{}@;N(U:b{U0 等价类分为有效等价类和无效等价类。51Testing软件测试网$^(G3S(?_]4?s
有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。51Testing软件测试网9Fp^L)NB qj
O
无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
Q"_
l{^O+xu051Testing软件测试网PO7g*T%\iX1eRw
2.划分等价类的方法
5ItQc8v
w0
Cl Q})t+?$Z0划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。
8X5g^kQ7O9`0下面给出六条确定等价类的原则。51Testing软件测试网d @!eML1`B
51Testing软件测试网!r7L} wT(H|R$t&F
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
:N5a
cG Dz0 例如:成年人每分钟的心跳60-100之间为正常。51Testing软件测试网OmSc6hC(@ I
有效等价类:60-100 无效等价类:<60 和 >10051Testing软件测试网L7?s4v/S
51Testing软件测试网c[3V k5dow0Ip
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
5~8x*|(y;r9O`,w2?0 例如:用户连续输入错误密码的次数最多为3次。51Testing软件测试网3I1IAQ9E][f
有效等价类:<=3次 无效等价类:>3次
J*`!\!ksb;kM0
L]-Nxf7Qd0{03、在输入条件是一个布尔量的情况下,可确定一个有效等价类。
0~ e;T8y;_x,S0 例如:单选的选中与不选中。51Testing软件测试网XG0`8|7o.k5x
d,m4C6w$x;K!z!@sv:k04、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。51Testing软件测试网fJ0g!]MD
例如:输入数据为省份的选择。51Testing软件测试网O'{*BLUzK
51Testing软件测试网OcHZ*zW#\7EB'A3g
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则) 。51Testing软件测试网&N1lS+EA$zO
例如:规定必须输入非0的正整数。
-KbaG9XO~P0 这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后得到从不同角度违反规则的无效等价类。51Testing软件测试网(M#I9QtqF+WOJ
该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。51Testing软件测试网 ivGs"e/pL/Z
N Y RWtV06、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
M4n!K I*b hTBk0 例如:核对日期的有效性,初步有效等价类是1<=Month<=12,1<=Day<=31
4x6PP"Y L0 可是考虑到2月以及闰年、闰月、长月、短月等,需要进一步细分,当然其中还涉及到了年月日组合的问题。51Testing软件测试网:j9B:G#o&xn
根据等价类划分原则,将等价类填入下表。
.Vco.{7z-i0等价类表
dfp~O7e
j9Oc7I)T0
输入条件 | 有效等价类 | 无效等价类 |
f)lm0Nc
vC
u7H:e03.测试用例设计原则51Testing软件测试网/w$q1NIv"w-a7h:I
51Testing软件测试网0Q n%G2`*w0b
根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例:51Testing软件测试网,?Fi,m qE&b
51Testing软件测试网CM-uHC J BF3q9t
1)、为每一个等价类规定一个唯一的编号。51Testing软件测试网v;}5IzmC&f
FNp2t{ az02)、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
ycl
}1t:WT3Y051Testing软件测试网{
d;o"@ODC
3)、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。51Testing软件测试网$X o'?+S])^T\:d
51Testing软件测试网/ucoFb
D.KV*^
4.等价类划分法优缺点
xH2FP-`9K0等价类划分法的优点是考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的布完整性和覆盖的不稳定性。51Testing软件测试网}NIE_wKsO
等价类划分法虽然简单易用,但是没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。51Testing软件测试网U~3B)q
T;y,Q
m |T0v-r}Tk05.实例51Testing软件测试网O4n-I(^7C'L[W
竞猜系统中:投注的金额要求是大于10的正整数。
^m+f#R TCR+p0根据分析等到以下等价类表。51Testing软件测试网^%nm8Go
^8I'D8N2_Q4L0
输入条件51Testing软件测试网;`)NFZ(Fo} | 有效等价类 |