51Testing软件测试论坛

标题: 黑盒测试和白盒测试之间的区别 [打印本页]

作者: zzlagi    时间: 2008-8-20 23:16
标题: 黑盒测试和白盒测试之间的区别
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。

  黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

  白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

  软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

  1、是否有不正确或遗漏的功能?

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

  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

  4、性能上是否能够满足要求?

  5、是否有初始化或终止性错误?

  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

  1、对程序模块的所有独立的执行路径至少测试一遍。

  2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

  3、在循环的边界和运行的界限内执行循环体。

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

  以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
作者: heporen    时间: 2010-2-24 09:29
thx
作者: hzp0926    时间: 2010-4-16 16:40
初学者 ,谨受教!
作者: msnshow    时间: 2010-4-17 14:48
都是概念性的东西,不可能测试时黑盒就黑盒,白盒就白盒,两个往往是结合起来开展的
作者: peag    时间: 2010-4-21 09:47
理论结合实际吧
作者: tomzhang    时间: 2010-4-24 14:46
标题: 回复 4# 的帖子
我非常不同意您的观点,白盒和黑盒能够同时开展?估计测试员连最新的代码都没有权限获取,怎么能做白盒呢?我的QQ:896219716,欢迎大家来探讨,加Q注明51Testing




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2