51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 12324|回复: 13
打印 上一主题 下一主题

[原创] 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-9-12 16:45:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-9-25 15:16:27 | 只看该作者
根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。
体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。
单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-9-26 09:36:51 | 只看该作者
黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。
白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖
集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试
验收测试 是由客户或指定第三方来做的,他的用例是系统测试的子集。

[ 本帖最后由 dbg1314 于 2006-9-26 09:44 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-10-5 15:50:09 | 只看该作者
非常感谢楼上两位的解答
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-4-25 15:15:17 | 只看该作者

感谢

感谢sdlkfj6
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-4-27 04:14:01 | 只看该作者

回复 #3 dbg1314 的帖子

很高兴看到你发的贴子,很想跟你做个朋友,我也是计算机的,以后都可以一起探讨下谢谢
或者可以加我Q543976843
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-10-11 14:51
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    7#
    发表于 2007-6-25 18:51:06 | 只看该作者
    我面试时也遇到过,当时有两个没答起,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-6-26 15:28:44 | 只看该作者
    挺好,顶顶在说
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-7-9 11:02:07 | 只看该作者
    顶啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-7-9 11:07:11 | 只看该作者
    恩···很好···明白了不少
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-10-14 13:42:20 | 只看该作者
    明白啦!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-10-27 10:41:32 | 只看该作者
    黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
    白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
      软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
    01、是否有不正确或遗漏的功能?
    02、在接口上,输入是否能正确的接受?能否输出正确的结果?
    3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
    4、性能上是否能够满足要求?
    5、是否有初始化或终止性错误?
      软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
    1、对程序模块的所有独立的执行路径至少测试一遍。
    2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
    3、在循环的边界和运行的界限内执行循环体。
    4、测试内部数据结构的有效性,等等。
    单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
          单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
    集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
    系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)
           系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
    验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
    验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-11-20 01:22:51 | 只看该作者
    我在面试昆仑通态时的题目有这个。我答的太简单了。当做名词解释了。联系也没写。我早上去的,太冷,冻的发抖。郁闷啊。而且单元测试我觉得不够。单元测试由开发人员采用白盒方式测试,一般需要编写驱动程序
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-20 16:14
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2010-2-24 09:49:00 | 只看该作者
    study....
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 15:18 , Processed in 0.069515 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表