51Testing软件测试论坛

标题: [有奖问答20]黑盒测试与白盒测试的区别是什么? [打印本页]

作者: 默默巫    时间: 2009-11-30 12:05
标题: [有奖问答20]黑盒测试与白盒测试的区别是什么?
黑盒测试与白盒测试的区别是什么?

答题前请复制以下回贴格式(蓝字部分),并填写好个人真实有效信息,以确保奖品发送无误



  1. 答题:
复制代码

作者: lwstar    时间: 2009-11-30 12:26

答题:黑盒测试与白盒测试的区别是什么?
黑盒测试:功能测试、数据驱动测试、基于规格说明书的测试
白盒测试:从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。
黑盒测试的优点:1 适用于各阶段测试;2 从产品功能角度测试;3容易入手生成测试数据
黑盒测试的缺点:1 某些代码得不到测试;2 如果规格说明有误,则无法发现;3 不易进行充分性测试
黑盒测试的性质:是一种确认技术,回答“我们在构造一个正确的系统吗?”
白盒测试:开盒测试、结构测试、玻璃盒测试、基于覆盖的测试
白盒测试是根据程序内部逻辑结构进行测试。
白盒测试的优点:1 可构成测试数据使特定程序部分得到测试;2 有一定的充分性度量手段;3 可或较多工具支持
白盒测试的缺点:1 不易生成测试数据(通常);2 无法对未实现规格说明的部分进行测试;3 工作量大,通常只用于单元测试,有应用局限
白盒测试的性质:是一种验证技术,回答“我们在正确地构造一个系统吗?”
作者: 283017152    时间: 2009-11-30 14:20


答题:

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

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

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
  1、是否有不正确或遗漏的功能?
  2、在接口上,输入是否能正确的接受?能否输出正确的结果?
  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
  4、性能上是否能够满足要求?
  5、是否有初始化或终止性错误?

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
  1、对程序模块的所有独立的执行路径至少测试一遍。
  2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
  3、在循环的边界和运行的界限内执行循环体。
  4、测试内部数据结构的有效性,等等。
作者: sun_mail    时间: 2009-11-30 14:45

答题:
黑盒测试主要针对功能的测试
白盒测试主要是对代码的测试
作者: syr1234563044    时间: 2009-11-30 14:57

答题:黑盒测试:主要是根据软件的功能进行测试,不涉及软件的内部结构;
     白盒测试:主要根据软件的内部结构进行测试,更直接的就是可以接触软件的程序代码,比如:单元测试
作者: love_yuzhilian    时间: 2009-11-30 15:46

答题:
同意楼上
白盒主要针对代码,路径进行测试
黑盒测试主要针对功能进行测试

[ 本帖最后由 love_yuzhilian 于 2009-11-30 15:50 编辑 ]
作者: moon_jency    时间: 2009-11-30 16:16

答题:
黑盒测试
  黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,
测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
作者: cuidong    时间: 2009-11-30 17:40

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

1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?

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

1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
作者: jency_moon    时间: 2009-11-30 18:03

答题:
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

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

1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?

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

1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
作者: zhx2009    时间: 2009-11-30 18:30

答题:
白盒测试:关注软件内部结构和程序的设计实现,主要测试依据是设计文档
黑盒测试:不关心软件内部结构,只关心输入输出,主要测试依据是需求文档
作者: 曹操    时间: 2009-11-30 21:56

答题:
白盒测试主要就是对代码的审查;而黑盒测试主要就是对软件功能的测试,包括易用性、功能等等。
作者: waft1101    时间: 2009-11-30 23:53


黑盒测试
特征:只关心软件的外部表现,不关心内部设计与实现。
依据:软件需求
测试人员:任何人(包括开发人员、独立测试人员和用户)
测试驱动程序:一般无需编写额外的测试驱动程序

白盒测试
特征:关注软件的内部设计与实现,要跟踪源代码的运行。
依据:设计文档
测试人员:由开发人员兼任测试人员的角色
测试驱动程序:需要编写额外的测试驱动程序
作者: zgyfxsh    时间: 2009-12-1 13:16

答题
1、执行测试人员不同
2、测试覆盖目标不同
3、测试动机不同
4、测试方法不同
5、评估测试方法不同
6、工具不同
作者: yunyun0220    时间: 2009-12-1 14:46

答题:
顾名思义,所谓的黑盒测试是将软件看成一个盒子,不关心它的内部构造,只是关心输入输出是否满足要求,软件是否可用等。而白盒测试就是将软件看成一个透明的盒子,要分析其代码及结构等。他们的测试目的,测试方法,测试手段等都是不一样的。
作者: luckying    时间: 2009-12-1 17:06

答题:   

黑盒测试:内部结构未知。
          目的:考察对用户需求的符合度
          测试工具:QTP,WinRunner,LoadRunner
         
白盒测试:内部结构已知
          目的:考察单元内的逻辑结构
          测试工具:C++test、Jtest、Nunit、Junit

(灰盒测试):介于黑盒和白盒测试之间
作者: cswy    时间: 2009-12-1 21:22

答题
白盒测试:主要测试依据是设计文档
黑盒测试:主要测试依据是需求文档
作者: dreadlands    时间: 2009-12-1 23:24

答题:黑盒测试,检查软件的实现与需求规格说明书是否相一致。评估标准为需求覆盖率
     白盒测试,检查软件的代码实现和详细设计是否相一致,评估标准为逻辑覆盖率
作者: TLover    时间: 2009-12-2 09:57

答题:

各位总结的很全、受教了!
作者: 156881887    时间: 2009-12-2 12:39

答题:
看了大家写的都很多,不过我想这个问题应该比较简单吧。

黑盒测试,是完全以一个用户的角度进行试用,重在功能和性能;
白盒测试,对代码的检查,评审,从代码级上测试程序可能出现的问题。
个人认为文档测试似乎也可以归到白盒测试中。

[ 本帖最后由 156881887 于 2009-12-7 14:33 编辑 ]
作者: nihaolh    时间: 2009-12-2 14:23

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

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
白盒主要针对代码,路径进行测试
黑盒测试主要针对功能进行测试
作者: wensheng.sun    时间: 2009-12-2 16:55

答题:
        黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
    白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
作者: sun_mail    时间: 2009-12-2 17:05

答题:
黑盒测试主要针对功能的测试
白盒测试主要是对代码的测试
作者: cswy    时间: 2009-12-2 17:17

答题:
黑盒侧重于功能方面,白盒侧重于代码方面
作者: jin_yinling    时间: 2009-12-3 13:59
   
答题:
          白盒测试                                                 黑盒测试
测试依据   根据程序内部结构进行测试                            根据软件规格说明设计测试用例
优点      能对程序特定部位进行覆盖测试                            站在用户的立场上进行测试
缺点      1、无法检测程序外部特征;                            1、不能测试程序内部特定部位;
          2、无法对未实现规格说明的程序内部欠缺部分进行测试    2、如果规格说明有误则无法发现
方法      程序控制流图(语句覆盖、判定覆盖、条件覆盖、         等价类划分;边界值划分;决策表测试;因果图
          路径覆盖等)、逻辑覆盖、路径分析、程序插装等
作者: angle-ying    时间: 2009-12-3 15:02
黑盒:集中于功能性测试
白盒:是对于代码逻辑的测试
作者: sherry_shen    时间: 2009-12-3 15:11

答题:
黑盒测试:功能测试、数据驱动测试、基于规格说明书的测试
白盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。
黑盒测试的优点:
1 适用于各阶段测试
2 从产品功能角度测试
3容易入手生成测试数据
黑盒测试的缺点:
1 某些代码得不到测试
2 如果规格说明有误,则无法发现
3 不易进行充分性测试
黑盒测试的性质:是一种确认技术,回答“我们在构造一个正确的系统吗?”
白盒测试:开盒测试、结构测试、玻璃盒测试、基于覆盖的测试
白盒测试是根据程序内部逻辑结构进行测试。
白盒测试的优点:
1 可构成测试数据使特定程序部分得到测试
2 有一定的充分性度量手段
3 可或较多工具支持
白盒测试的缺点:
1 不易生成测试数据(通常)
2 无法对未实现规格说明的部分进行测试
3 工作量大,通常只用于单元测试,有应用局限
白盒测试的性质:是一种验证技术,回答“我们在正确地构造一个系统吗?”
作者: wuei9090    时间: 2009-12-3 17:30

答题: 黑盒注重功能性 忽略代码  白盒注重代码内部逻辑
作者: 狩猎者    时间: 2009-12-3 17:53

答题:
白盒测试:软件内部结构和程序的设计实现,主要测试依据是设计文档
黑盒测试:不关心软件内部结构,只关心输入输出,主要测试依据是需求文档
作者: wu_x_s    时间: 2009-12-3 21:45

答题: 白盒测试是已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查,是针对程序代码进行正确性检验的测试工作 。黑盒测试是已知产品的功能设计规格,独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、 性能等指标能否满足实际应用需求的测试工作。
作者: helina168    时间: 2009-12-4 14:49

答题:黑盒测试就像是面对一个黑匣子,你不知道你里到底在做什么,但是你输入一个东西进去,经过黑匣子后会出来一个东西,也就是说黑盒测试就是应用测试,不涉及到内部程序的运行,只有输入和输出,相当于软件的功能测试,如前面有人说的是基于客户的角度去进行测试的;白盒测试比黑盒测试更有深一个层次,测试对象是一个一个的函数对象或者说类,包括一些逻辑上的测试,代码覆盖的测试,代码规范的测试等,白盒测试就是打开“盒子”测试,可以看到所有输入和输出的整个过程

[ 本帖最后由 helina168 于 2009-12-4 15:03 编辑 ]
作者: zhangfangfang46    时间: 2009-12-4 18:34

答题:
白盒测试:是对代码和数据进行测试;主要测试依据是设计文档
黑盒测试:是主要对功能流程进行测试;主要测试依据是需求文档
作者: 橙子    时间: 2009-12-7 10:42

答题:
黑盒测试: 根据软件需求规格说明书来验证软件是否实现功能,实现的功能是否与需求说明一致。即功能测试,不涉及软件的内部结构,不需要了解软件的内部设计。主要是测试人员来执行。

白盒测试:是根据软件的内部设计结构,检查代码实现是否符合设计规格说明书,验证每一分支机构的实现,主要是指的单元测试,由开发人员执行。
作者: kuangquanshui    时间: 2009-12-7 10:45

答题:
白盒测试侧重代码的实现过程及语言、方法、系统架构、数据设计、内部调用、接口、类、等方面的问题
黑盒测试侧重程序的功能实现、页面UI、易用性、兼容性、稳定性、互动性等方面
作者: wf1899    时间: 2009-12-7 15:05

答题:
楼上的大虾们确实总结得很详细。赞~~
作者: wu_xiaoxiang    时间: 2009-12-7 17:23

答题:黑盒测试
  黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
  白盒测试
  白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
  “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
作者: jie7sdie    时间: 2009-12-7 17:49

答题:黑盒不知道代码,测试功能,白盒可以根据代码编写测试用例。
作者: zhanggq0077    时间: 2009-12-8 00:22

答题:个人理解:
      黑盒测试:根据软件的功能进行测试,不涉及代码
      白盒测试:根据软件的内部结构进行测试,在理解代码的基础上进行测试
作者: zerotone2008    时间: 2009-12-8 14:18

答题:
黑盒测试
特征:只关心软件的外部表现,不关心内部设计与实现。
依据:软件需求
测试人员:任何人(包括开发人员、独立测试人员和用户)
测试驱动程序:一般无需编写额外的测试驱动程序

白盒测试
特征:关注软件的内部设计与实现,要跟踪源代码的运行。
依据:设计文档
测试人员:由开发人员兼任测试人员的角色
测试驱动程序:需要编写额外的测试驱动程序
作者: tjtj123123    时间: 2009-12-8 14:51
标题: 回复 20# 的帖子

答题:
黑盒法:该方法是把被测试对象看成一个黑盒子,测试人员完全不考虑程序内部结构和处理过程.只在软件的接口处进行测试,根据需求规格说明书.检查程序是否满足功能要求.因此黑盒测试有称为功能测试或数据驱动测试/
白盒法:
该方法是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,一检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.
作者: hbxtly    时间: 2009-12-9 14:39

答题:黑盒测试与白盒测试的区别是什么?

黑盒测试也称功能测试,它是通过测试来检验每个功能是否都能正常使用。在测试时,把程序当成一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑,主要针对软件界面和软件功能进行测试。

白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常运行,检查程序中的每条通路是否都能按预定要求正确工作。




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