51Testing软件测试网K~IU3^5}m3J黑盒测试:从用户角度出发,根据规格说明设计测试用例,并不涉及程序的内部特性和内部结构,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。黑盒测试有两个显著特点:
'qWYRp&])G0 (1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以用。
w(odIr)Xd%iG051Testing软件测试网)vpM*Yv1S (2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。51Testing软件测试网7G#k1P Ph3w/u+i3rBg
`C*c!J7bpF!}L0 黑盒测试主要是为了发现以下几类错误:
8tbshI$k5c:O.h0g7vps9d&e6RCb0 1、是否有不正确、遗漏或额外的功能实现?51Testing软件测试网
Q/Qqh*O T6`9l[6Q7q
51Testing软件测试网3N{E$d EIyJY 2、在接口上,输入是否能正确的接受?能否输出正确的结果?51Testing软件测试网#UDmN
Px
51Testing软件测试网.H:_"m"]lDD%j.s;r 3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
&v%Dcs'W051Testing软件测试网| x+x6RH&}+|LW9xG^ 4、性能上是否能够满足要求?51Testing软件测试网1~$qfV(yMv#zIH
51Testing软件测试网r4oock 5、是否有初始化或终止性错误?51Testing软件测试网{,I+JIA
5q2RA Y
fJ]$o*e ~0 白盒测试:已知程序的内部结构,检查内部操作是否按规定执行。主要对程序细节进行严密检验,针对特定条件和循环设计测试用例,对程序的逻辑路径进行测试。通过在程序的不同点检查程序状态,确定实际状态是否与预期的状态一致。51Testing软件测试网
B:Z6Y"i5vAx[
4Ii:E|9?]Z.R0 白盒测试主要是想对程序模块进行如下检查:51Testing软件测试网
SK(^i ^ M/K"I0T
-Ik3Q;b6sF4r0 1、程序的所有语句至少执行一次。51Testing软件测试网
|re$q/do
q2u-Q#ISN5Q5`
\*HS0 2、对所有的逻辑条件都能至少执行一次。
U)rCLaG2P.t0-N%Dr6E+j0 3、在循环的边界和运行的界限内执行循环体。51Testing软件测试网:F;x!_[#v
G6D9qj&h.|+N0 4、测试内部数据结构的有效性,等等。51Testing软件测试网1Lz9{)NnW-|,L
;]/L#eb a0 从以上可以看出就算执行了完美的黑盒测试也是无法测试程序内部特定部位,另外当规格说明本身有误,也不能发现问题。而白盒测试能对程序的内部特定部位进行覆盖测试,所以黑盒和白盒测试为互补关系,结合起来进行测试用例的设计更为合理。
Zr%XR(J051Testing软件测试网Zl@q*g2AC/i ]经验表明,通常在进行单元测试时采用白盒测试方法,集成测试采用灰盒测试方法,系统测试采用黑盒测试方法。
(jb0Z,vzV0