等价类划分方法
Q7aHv? ?u3^14697951Testing软件测试网.zuN M%M3[9^}2h s ·边界值分析方法
9C+M#@-s7W/\4A T14697951Testing软件测试网\f:S[Z3pm0n4C9a ·错误推测方法51Testing软件测试网t0W5f5Ky#[.y&[c
+Y P;h.l?)Ct? R$t }u146979 ·因果图方法
qD&Y6Gg5XD(i146979{8SQ2{]w2FtH.Up146979 等价类划分:
3TR9IH2tn14697951Testing软件测试网7N [!j@:]7b 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.51Testing软件测试网Sa!\d6V{~L&n t
X-wK s1T];Mqz"h146979 1)划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.51Testing软件测试网V@{9IZ`
b(T Uy'd#on146979 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.51Testing软件测试网1yp PH,`s$uAp
,us:zwM@146979 无效等价类:与有效等价类的定义恰巧相反.51Testing软件测试网1LMxd1`4|o.c
,Ox)[M0\%u146979 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.51Testing软件测试网2j&m1Tz.},V&E.m6mY
51Testing软件测试网X/\0o Y9] 2)划分等价类的方法:下面给出六条确定等价类的原则.51Testing软件测试网9x/T Nb n%sV+nx
51Testing软件测试网7z;a1~+v]\"y q ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.51Testing软件测试网 O] O;?"I3rxj
51Testing软件测试网0Q;W#W9cW+W$J;DX ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.
B A A@!Cj`o1e+kX146979o4\o%L5e%Xh5N L146979 ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.
"e J&b)I6S0^7|3`14697951Testing软件测试网 @{ G(x3iN-o v!G ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.51Testing软件测试网%D9Gt2E}GL
^-an U2V'z/|,O146979 ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).
^q%F$cxA W:G9F146979X _nE"mGKd%O146979 ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.51Testing软件测试网;a(R`0i:g+k@X
51Testing软件测试网n0?*k fL] 3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:
m9M S3yibe14697951Testing软件测试网K3BefD+Q0G 输入条件有效等价类无效等价类
O"G| [ j*S9V146979_BI6e-T;}#[(fWM146979 ... ... ...51Testing软件测试网&jS5g6M P6CW f
51Testing软件测试网3Wuy4I EI/f V7NQ ... ... ...
z:D0H.oAYA146979BoHw H I-X146979 然后从划分出的等价类中按以下三个原则设计测试用例:51Testing软件测试网-A NI g5c
51Testing软件测试网 G%Cx7x.b ①为每一个等价类规定一个唯一的编号.
G1Wbzs+d V14697951Testing软件测试网W/^W#Pb+lz k ②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
TuG"?:D@BM14697951Testing软件测试网+aDY(Z#@ ③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.51Testing软件测试网VII7^'AEZ
51Testing软件测试网,k szU?H(U/g边界值分析法:
-b~'}+G8Z146979f3W+X&n,W;bJ146979 边界值分析方法是对等价类划分方法的补充.51Testing软件测试网qq6mev%I
51Testing软件测试网![6jP ]|1b (1)边界值分析方法的考虑:51Testing软件测试网fs1R1d)r
51Testing软件测试网 } D6jF){M$O4CM 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
'@Z G1e+mG}146979T'@q'qwh146979 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.51Testing软件测试网xU.hi,KRm.?
51Testing软件测试网UI)e:G N f$a (2)基于边界值分析方法选择测试用例的原则:
wpN5[G6j146979?%E@ A'fZ D146979 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.51Testing软件测试网9Nz};R o]j+~
6Q8sD? @L@146979 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.
Z%\)a(cNA146979"HlL6oHk%V'J146979 3)根据规格说明的每个输出条件,使用前面的原则1).
'b(H mEc2?"b146979fpMN.Ex nB:m146979 4)根据规格说明的每个输出条件,应用前面的原则2).
#j|,sm6Gqs14697951Testing软件测试网?*`6}~5` 5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.
2[|\d%bw w3Z14697951Testing软件测试网VFjCrK 6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例.51Testing软件测试网!jU!g3Z6P t2v
A$X ycp146979 7)分析规格说明,找出其它可能的边界条件.51Testing软件测试网B-x R$Gwb
QnT'b"tx.a{146979 错误推测法
6E`4w x y14697951Testing软件测试网1|:I| Eo3E%J%Fg 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.
1q*S*in4X4O^(D14697951Testing软件测试网2S1ZQh]W!z*Gs 错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.51Testing软件测试网l:g:Y*I7B&h
!|8M0YqX146979因果图方法:51Testing软件测试网 V/R1[9@/AdX&aO|
51Testing软件测试网 w E s md,o2U| 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).
!m)A7sx y&h6_ ]7_ ?14697951Testing软件测试网R&R"|&xP Is6`r 因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.51Testing软件测试网+L~B ``C
利用因果图生成测试用例的基本步骤:
M^A\3OR't14697951Testing软件测试网Ve3xH*T0e (1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.
51Testing软件测试网dHNs!O7D ?TF/{ (2)分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系.根据这些关系,画出因果图.51Testing软件测试网7Xp\?+E ^ k Ov
#a.c'xtF_.fau146979 (3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现.为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件.51Testing软件测试网I"x^oC.v4\
Lp@4G @146979 (4)把因果图转换为判定表.
7E:sRq6w)D14697951Testing软件测试网)m7H;U,wg'wY (5)把判定表的每一列拿出来作为依据,设计测试用例.51Testing软件测试网"[o|X]"YA+o
51Testing软件测试网DF,yT-r u&Bk 从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.51Testing软件测试网ui1hYN])q
51Testing软件测试网 N} T;^#z9}&}K 除了上述几种黑盒测试的测试用例设计方法之外其他方法还包括判定表驱动分析方法、正交实验设计方法、功能图分析方法等