`
zz563143188
  • 浏览: 2263850 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
博客专栏
77fc734c-2f95-3224-beca-6b8da12debc8
编程工具介绍
浏览量:576367
D9710da2-8a00-3ae6-a084-547a11afab81
Spring Mvc实战(...
浏览量:1084476
D3f88135-07de-3968-a0f0-d2f13428c267
项目开发经验
浏览量:1650878
社区版块
存档分类
最新评论

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

阅读更多

 

        对于开发人员来说,往往对各种测试方法感到疑惑。特别是在整合代码的时候,我们就能深刻感觉受到测试的重要性。很多开发人员只注重写代码,轻视测试的重要性。总是代码一写完提交然后就交给测试组测试了,没多久测试组发回测试报告。然后又苦恼的修改自己代码的bug,慢慢地就开始讨厌测试组人员。没有经过自己细心测试的代码,不仅浪费了别人时间更影响到了自己的心情。
 

企业级项目实战(带源码)地址:  http://zz563143188.iteye.com/blog/1825168
收集五年的开发资料下载地址:  http://pan.baidu.com/share/home?uk=4076915866&view=share

 
接下来为大家细心讲述一下各种测试应用的环境及作用
一、测试环境和角色
     黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试 :
     这些测试的范围正好是逐步递增的关系,但是测试的人员角色是不同。

     黑盒测试、白盒测试、单元测试:开发人员分在不同的开发阶段要做的事情
     黑盒测试、集成测试、系统测试:测试人员在测试周期内级层做的工作

     验收测试:一般是在用户方做的工作
  
二、根据不同的范围
     测试可以分为单元测试、集成测试、系统测试和验收测试。 
     体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。

三、测试的功能
    1.单元测试 粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。

        单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

 

     2.集成测试 界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。 主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有
集成测试进程。

 

    3.系统测试  粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案.。它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统"做得怎样?"。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。
系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试

 

    4.验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。

 

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

 

    6.白盒测试:主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

 

 

系统测试和集成测试的区别【转】  

 
 

一般的小系统区分不是很大的 

1.计划和用例编制的先后顺序 
从V模型来讲,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺 
序肯定是先做系统测试计划用例,再做集成 

2.用例的粒度 
系统测试用例相对很接近用户接受测试用例 
集成测试用例比系统测试用例更详细,而且对于接口部分要重点写,毕竟要集成各个模块或者子系统 

3.执行测试的顺序 
先执行集成测试,待集成测试出的问题修复之后,(配置管理,基线化),再做系统测试。 

4.用例的数量 
系统测试的用例数量一般比集成测试的用例数量少,具体的数量要根据各个公司的性能基线来确定,一般写不到这个数量的测试用例还通不过审计

 

系统测试这个称呼往往被用于压力测试、容量测试、性能测试、安全测试等方面。 

而集成测试这个称呼往往被用于细节化的功能测试的超集——从用户需求来设计和组织较大颗粒度的功能测试。

 

系统测试最主要的就是功能测试,测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。测试方法一般都使用黑盒测试法; 
集成测试在系统测试之前,单元测试完成之后系统集成的时候进行测试。集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的编写脚本能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合。

 

 

集成测试:是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的借口是否正确。它根据集成测试计划 ,一边将模块或其他年间单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各个组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。也可以理解为在软件设计单元、功能模块组装、集成为系统时,对应用系统的各个部件(软件单元、功能模块接口、链接等)进行的联合测试,以决定他们能否在一起共同工作,部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。 


系统测试:系统测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确,并非一项简单的任务,被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他的动态运行行为应该与软件规约进行对比。软件系统测试的方法很多,主要有功能测试,性能测试,随机测试等。

通俗的讲,一个产品从研发到出厂的工程中,测试分为三个阶段:单元测试、集成测试、系统测试; 单元测试:一个模块的功能及常规错误测试; 集成测试:完成单元测试后,各模块联调测试;集中在各模块的接口是否一致、各模块间的数据流和控制硫是否按照设计实现其功能、以及结果的正确性验证等等;可以使整个产品的集成测试,也可以使大模块的集成测试; 系统测试:针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试

 

转自http://blog.csdn.net/zll01/article/details/4555406

 

 

功能测试

定义

Functional testing(功能测试),也称为behavioral testing(行为测试),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。
功能测试也叫黑盒子测试或数据驱动测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。

 

9
4
分享到:
评论
9 楼 zz563143188 2013-03-22  
LovingBaby 写道
测试分类,测试需求,测试方法等,学习了,以后自己多加注意,先过了自己这关,再给别人后续测试,减少返工!up!

对,这都是五六年编程的经验。
8 楼 LovingBaby 2013-03-22  
测试分类,测试需求,测试方法等,学习了,以后自己多加注意,先过了自己这关,再给别人后续测试,减少返工!up!
7 楼 haohao-xuexi02 2013-03-22  
zz563143188 写道
haohao-xuexi02 写道
很多公司,只能做到功能测试。。。像性能测试。。只不过出表面文章而已。

恩,很多是做不到的,不过要有这个概念。至于怎么用用到那种程度,就依公司的情况而定。

呵呵。。
6 楼 zz563143188 2013-03-22  
walkintojava 写道
写了这么久的代码,今天终于区分黑盒和白盒的区别了。
如同楼主的观点,测试是对自己和别人的负责。应该把单元测试当作是开发的职责。

我写得东西对你有帮助,这就是做这事的目的。
5 楼 walkintojava 2013-03-22  
写了这么久的代码,今天终于区分黑盒和白盒的区别了。
如同楼主的观点,测试是对自己和别人的负责。应该把单元测试当作是开发的职责。
4 楼 zz563143188 2013-03-22  
MA_ZERUI 写道
  

不明白你要表达的意思
3 楼 MA_ZERUI 2013-03-22  
  
2 楼 zz563143188 2013-03-22  
haohao-xuexi02 写道
很多公司,只能做到功能测试。。。像性能测试。。只不过出表面文章而已。

恩,很多是做不到的,不过要有这个概念。至于怎么用用到那种程度,就依公司的情况而定。
1 楼 haohao-xuexi02 2013-03-22  
很多公司,只能做到功能测试。。。像性能测试。。只不过出表面文章而已。

相关推荐

    黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别

    黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。  白盒测试:已知产品的内部工作过程,可以通过测试证明每...

    软件工程-软件测试,黑盒 ,白盒,边界值,等价类,因果图,单元测试,集成测试,系统测试,验收测试,回归测试

    软件工程-软件测试,黑盒 ,白盒,边界值,等价类,因果图,单元测试,集成测试,系统测试,验收测试,回归测试

    软件测试复习题

    A、单元测试、集成测试、系统测试、验收测试 B、验收测试、单元测试、系统测试、集成测试 C、单元测试、集成测试、验收测试、系统测试 D、系统测试、单元测试、集成测试、验收测试 2.软件测试技术可以分为静态测试和...

    软件测试经典面试题及解答

    测试理论 1.软件工程 阐述软件生命周期都有哪些阶段?...黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系 白盒测试与黑盒测试及其常用测试方法概念? 简述黑盒测试和白盒测试的优缺点?

    软件测试自学笔记整理.doc

    黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种...

    测试总结(目的、分类、工具)

    单元测试(开发人员执行),集成测试,系统测试,验收测试(非开发测试人员执行) 按照是否执行被测程序: 动态测试,静态测试 按测试方法: 性能测试、功能测试、手工、自动化、回归、冒烟测试、验收测试

    2023软件测试面试题大全(面试必问题及答案 ) 希望可以帮助初次面试的你,祝好运!

    面试必问题及答案 希望可以帮助初次面试的你,祝好运! 文档有用的话就关注博主吧,感谢 ...12.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 13.面试十大必考题目

    每年软考考试必学-软件测评师(上午题、测试技术)

    软件测试基础、测试质量与评价、软件测试过程与管理、黑盒测试技术、白盒测试技术、面向对象应用测试技术、应用负载压力测试、Web应用测试、网络测试、安全测试与评估、兼容性测试、标准符合性测试、易用性测试、...

    软件测试自学笔记整理

    软件测试自学的一些笔记,入门必看。主要讲了黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别

    软件测试技术ppt版

    通过黑盒测试可以知道应用程序是否符合用户的预期要求,主要适用于集成测试、系统测试、验收测试等。    功能测试      功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误...

    [软件测试].赵瑞莲.文字版

    主要内容包括:绪论、软件测试实质、软件测试策略、黑盒测试、白盒测试、集成测试与系统测试,验证测试和确认测试,测试计划与测试文档、面向对象的软件测试。 本书适合于高等职业学校、高等专科学校、成人高校、...

    软件测试复习总结.docx

    动态测试:运行软件并观察其行为,如单元测试、集成测试、系统测试。 5. 测试用例设计: 等价类划分:将输入分为等价类,从每个类中选择测试数据。 边界值分析:选择靠近边界的测试数据,通常边界处容易出错。 决策...

    软件测试与测试技术讲座(黎连业)

    通过本课程教学,使学生在掌握软件测试的基本概念、技术基础上,掌握白盒测试技术、黑盒测试技术、单元测试技术、功能测试技术、网络测试和软件安装测试技术、性能测试技术、集成测试、系统测试、验收测试等技术;...

    java软件工程师面试题

    黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别.txt C.C.Java及软件测试的笔试.rar java工程师试题 JAVA程序员必读--基础篇chm.zip JAVA笔试宝典.rar Java面试及简历相关.rar 大公司JAVA面试...

    软件测试方法和技术(朱少民).rar

    5.6 单元测试的过程与文档管理 5.7 单元测试的常用工具简介 4 5 第6章 集成测试和系统测试 6.1 系统集成的模式与方法 6.2 功能测试 6.3 系统测试 6.4 压力测试、容量测试和性能测试 6.5安全性测试,可靠性和容错性...

    软件测试教程.docx

    - **测试类型**:包括单元测试、集成测试、系统测试、验收测试等不同层次和阶段的测试。 - **测试方法**:包括黑盒测试、白盒测试、灰盒测试等不同的测试方法。 ### 2. 学习测试技术: - **单元测试**:针对软件中...

    名人总结软件测试\软件测试面试题经典

    请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?您认为性能测试工作的目的是什么?做好...

    软件测试常见面试题.zip

    什么是单元测试、集成测试、系统测试和验收测试?它们之间有何区别和联系? 你能解释一下什么是回归测试,以及它的重要性吗? 请描述一下你对敏捷开发和测试驱动开发(TDD)的理解。 二、测试策略与计划 在一个软件...

    软件测试方法和技术(五)

    5.6 单元测试的过程与文档管理 5.7 单元测试的常用工具简介 6.1 系统集成的模式与方法 6.2 功能测试 6.3 系统测试 6.4 压力测试、容量测试和性能测试 6.5安全性测试,可靠性和容错性测试 7.1验收测试的过程和主要...

    软件测试是软件开发过程中的关键一环.docx

    按照测试阶段划分,有单元测试、集成测试、系统测试和验收测试等。这些测试阶段涵盖了从单个模块到整个系统的不同层级,确保每个阶段的输出都符合预期。 按照测试目的划分,软件测试可以分为功能测试、性能测试、...

Global site tag (gtag.js) - Google Analytics