-----突破自我,突破思维定势,突破昨天! 在才智和智慧不相上下的人群中,你拥有更高的热情,并能坚持下去,那么成功便在更大程度上属于你。

如果能够执行完美的黑盒测试,还需要进行白盒测试吗?

上一篇 / 下一篇  2008-09-09 11:26:52 / 个人分类:常见测试面试问题

51Testing软件测试网Af/kAy

   黑盒测试:从用户角度出发,根据规格说明设计测试用例,并不涉及程序的内部特性和内部结构,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。黑盒测试有两个显著特点:

0` ks_v#bB"T5v6S051Testing软件测试网ThA7E(nbO%?

   (1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以用。51Testing软件测试网#Y/E l'W!`Ea[

51Testing软件测试网voBb+v)S]$bT(@*Hp

   (2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。

L J,c I M%y051Testing软件测试网CKQD9Z{4T4? C

    黑盒测试主要是为了发现以下几类错误:51Testing软件测试网U6l&K)U*K a zu.Y0H

51Testing软件测试网2Tq u(F7R+[-A)w0`V

   1、是否有不正确、遗漏或额外的功能实现?51Testing软件测试网[ t'L(sB&q

51Testing软件测试网(_? }%E%f$v9eV c

    2、在接口上,输入是否能正确的接受?能否输出正确的结果?

i!O+K ?1d p^aEF0

%X@ I|!`Y0    3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

B+\3`\P,@l!?051Testing软件测试网j8p{-b5D$bH9bH0@

    4、性能上是否能够满足要求?51Testing软件测试网 lV9?If K*ZC

Ef*z}0Yo,h,H[.K0    5、是否有初始化或终止性错误?

~Hg v2Z[+G H+}0

Q"xxI%|bwjB0  白盒测试:已知程序的内部结构,检查内部操作是否按规定执行。主要对程序细节进行严密检验,针对特定条件和循环设计测试用例,对程序的逻辑路径进行测试。通过在程序的不同点检查程序状态,确定实际状态是否与预期的状态一致。51Testing软件测试网 grWk\ e%EJ9@$\S%Ce

51Testing软件测试网 Xi5Z[6[ LDylk3l

    白盒测试主要是想对程序模块进行如下检查:

3j.iOAK.z(tc2P1W0

$j?? v'c LF|9~0   1、程序的所有语句至少执行一次。51Testing软件测试网&wq/Z!BL'STKZ

51Testing软件测试网 R4q*O6z(c5v

    2、对所有的逻辑条件都能至少执行一次。51Testing软件测试网o!| \ Gf-P;wM

p;Z @"V8Z5l#^I0    3、在循环的边界和运行的界限内执行循环体。51Testing软件测试网b"_ jA&do

51Testing软件测试网J,I/X5pVwf%a$o t ys

    4、测试内部数据结构的有效性,等等。

-V*g7`Ca0p0

(fWBH*JJC$MO)?1x0   从以上可以看出就算执行了完美的黑盒测试也是无法测试程序内部特定部位,另外当规格说明本身有误,也不能发现问题。而白盒测试能对程序的内部特定部位进行覆盖测试,所以黑盒和白盒测试为互补关系,结合起来进行测试用例的设计更为合理。51Testing软件测试网#piKS]

F O }3l E Y9P}W F0经验表明,通常在进行单元测试时采用白盒测试方法,集成测试采用灰盒测试方法,系统测试采用黑盒测试方法。

\'x y&J5B051Testing软件测试网s(nN3a-nP.n9GS,M

  

t/]"@;E d4q-]7n051Testing软件测试网[2o4w EGd:a&n7c

 

-o7F`Q*r1^0

TAG: 常见测试面试问题

自导自演-从开始到现在 引用 删除 Ade_Huang   /   2009-09-16 23:51:08
黑盒测试都完美通过,至于要不要白盒要看当时的情况而定:1.项目上交期限到了就没有多大必要了。2.如果白盒耗费经费太大,导致公司都赚不了多少钱了,我想也不需要了吧呵呵。3.时间和经费上都允许的话,拿还是白盒测试的好,增加稳定性嘛。
个人意见
For Learning 引用 删除 秋毫   /   2009-03-14 12:28:43
昨天考试遇到这样一个题目了
赞成云朵飘飘的分析
mouse 引用 删除 woaimouse   /   2008-11-13 13:44:44
如果能执行相当完美的黑盒测试,所有功能点都已将被执行,理论上我觉得可以不用执行白盒测试,黑盒测试相当完美证明程序已经相当完美,用户要的是功能都实现而且按用户的需求实现,代码冗余或错误已经很次要,因为功能点没问题了
 

评分:0

我来说两句

Open Toolbar