系统测试,集成测试,单元测试的联系与区别

首先对三个测试都介绍一下这三者的基本概念

一:系统测试

按名字来看,系统测试是对软硬件集合在一起的系统,验证时应尽可能模拟实际的运行环境与条件,通过与需求做比较,

发现与系统定义不符合或与之矛盾的地方的一种测试。

系统测试常用类型:功能、性能、压力、容量、安全性、GUI、可用性、安装、配置、异常(恢复性)、备份、健壮性、文档、在线帮助、网络、稳定性测试。

1.功能测试:
             1) 概念:根据产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求规格
             2) 目标:为了发现以下几类错误
                    a) 是否有不正确或遗漏了的功能 
                    b) 功能实现是否满足用户需求和系统设计的隐藏需求

c) 输入能否正确接受?能否正确输出结果? 
        2. 性能测试:
             1) 概念:用来测试软件在集成系统中的运行性能

2) 目标:度量系统相对于预定义目标的差距

3) 工具:LoadRunner、WebLoad、SilkPerformer

4) 重要性:

a) 性能是质量的重要组成部分
                    b) 给用户树立良好形象

c) 节省成本的重要手段 
             5) 性能测试的关键:有效的协调、正确的模型、瓶颈的定位、合理的建议

6) 性能需求五大特性:需求行、代表性、完整性、可测试性、可用性

3. 压力测试:关注稳定性和破坏性 
             1) 目的:调查系统在其资源超负荷的情况下的表现
      2) 目标:通过极限测试方法,发现系统在极限或恶劣环境中自我保护能力,主要验证系统的可靠性。
         4. 容量测试:
             1) 目的:使系统承受超额的数据容量来发现它是否能够正确处理

2) 关注点:

a) 整体的业务流量(一般关注静态容量)

b) 数据库的容量

c) 最大文件数目

d) 最大事务数 
         5. 安全性测试:口令认证、加解密技术、权限管理、安全日志

6. GUI测试:
             1) 关注点:界面实现与界面设计的吻合情况、确认界面处理的正确性

2) 对象:简单界面元素、组合类界面元素、完整界面(窗口)

3) 内容:外观、界面元素行为、布局、友好功能

7. 可用性测试:

关注点: 
             1)复杂的功能或指令

2)难的安装过程

3)误信息过于简单
             4)户被迫去记住太多的信息

5)语法、格式和定义不一致

8.  配置测试
             概念:测试系统在各种软硬件配置、不同的参数配置下系统具有的功能和性能
             目标:验证全部配置的可操作性和有效性,特别需要对最大配置、最小配置或特殊配置进行测试
          9. 异常测试:
             概念:又叫系统容错和可恢复性测试,通过人工干预手段使系统产生软、硬件异常,通过验证系统异常前后的功能和运行状态,

达到检验系统的容错、排错和恢复的能力。它是系统可靠性评价的重要手段。

容错处理:系统自动处理、人工干预处理

系统可靠性指标:平均失效时间间隔(MTBF)、平均恢复时间(MTTR) 系统可靠性设计技术:

1) 避开错误
             2) 容错技术:结构冗余(动、静态)、信息冗余、时间冗余、硬件冗余、附加冗余技术 
           10.健壮性测试:Robustness Testing

用于测试系统在出现故障时,是否能够自动恢复或忽略故障继续运行
           11. 网络测试:
              概念:在网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证设备对接正常。
              内容:考察系统的处理能力、系统兼容性、系统稳定可靠性及用户使用等方面。

1) 一致性测试:检测系统与协议规范符合程度

2) 性能测试:检测协议实体或系统的性能指标

3) 互操作性测试: 
              4) 坚固性测试:检测协议实体或系统在各种恶劣环境下运行的能力

12. 系统稳定性测试: 目的是评价系统在一定负荷情况下、长时间的运行情况。

二:单元测试

1、 单元的基本属性:

1) 明确的功能

2) 可定义的规格

3) 与其他单元接口的清晰划分

2、 单元测试的目的:

在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。

a) 验证代码是与设计相符合的;

b) 发现设计和需求中存在的错误;

c) 发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于

编码疏漏引起)

3、 单元测试关注的重点:

出错处理、单元接口、局部数据结构、独立路径、边界条件

4、 单元测试的主要关注点:

1) 参数的属性、顺序、个数是否与LLD一致

2) 不能修改只做输入用的形参,否则可能导致数据的错误修改

3) 约束条件是否通过形参来传送

5、 驱动和桩的功能:

1) 驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果

2) 桩单元:用来代替所测单元调用的子单元

6、 单元测试策略:

孤立的测试策略、自顶向下、自底向上的单元测试策略

1) 孤立的测试策略:

· 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。

· 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。

· 缺点:桩函数和驱动函数工作量很大,效率低。

2) 自顶向下的单元测试策略:

· 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。

· 优点:可以节省驱动函数的开发工作量,测试效率较高。

· 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。

3) 自底向上的单元测试策略:

· 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被

测试过的模块做桩模块。以此类推,直到测试完所有模块。

· 优点:可以节省桩函数的开发工作量,测试效率较高。

· 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产

生很大的影响。

7、  单元测试的四个阶段: 测试计划:完成单元测试计划;

· 测试设计:完成单元测试方案;

· 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件;

· 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。

三:集成测试

  1. 集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,并确保增量的行为正确(属于灰盒测试)

1) 验证接口是否与设计相符

2) 发现设计和需求中存在的错误

2.集成测试关注的重点:单元间的接口、集成后的功能

3.集成测试的层次:模块内集成、子系统内集成、子系统间集成

4.集成测试策略:

1) 大爆炸集成

    2) 自顶向下集成

    3) 自底向上集成

    4) 三明治(混合式)集成

5) 基干集成

6) 分层集成

7) 基于功能的集成

8) 基于消息的集成

9) 基于进度的集成

10) 基于风险的集成

三者之间的区别:

根据不同的测试阶段,测试可以分为单元测试集成测试系统测试验收测试

体现了测试由小到大、又内至外、循序渐进的测试过程分而治之的思想。

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

集成测试界于单元测试系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。

系统测试粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。

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

黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。

白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖判定覆盖条件覆盖路径覆盖条件组合覆盖 集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。

系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试

时间: 2024-10-06 05:06:18

系统测试,集成测试,单元测试的联系与区别的相关文章

单元测试、集成测试、系统测试和验收测试的联系和区别

根据不同的测试阶段,测试可以分为单元测试.集成测试.系统测试和验收测试体现了测试由小到大.又内至外.循序渐进的测试过程和分而治之的思想. 单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合"设计".   集成测试界于单元测试和系统测试之间,起到"桥梁作用",一般由开发小组采用白盒加黑盒的方式来测试,既验证"设计",又验证"需求".   系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系

系统测试和集成测试的区别

一般的小系统区分不是很大的 1.计划和用例编制的先后顺序 从V模型来讲,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺 序肯定是先做系统测试计划用例,再做集成 2.用例的粒度 系统测试用例相对很接近用户接受测试用例 集成测试用例比系统测试用例更详细,而且对于接口部分要重点写,毕竟要集成各个模块或者子系统 3.执行测试的顺序 先执行集成测试,待集成测试出的问题修复之后,(配置管理,基线化),再做系统测试. 4.用例的数量 系统测试的用例数量

集成测试和系统测试

软件工程测试大致分为三个步骤:单元测试,集成测试,系统测试,单元测试上次已经介绍了,这次就从集成测试开始. 一. 集成测试是处在中间阶段,在单元测试之后,而且也必须在单元测试之后,因为顾名思义,它本身就是对不同的单元进行集成,将小的单元构成子系统,进行测试.为此,它有一个大前提,就是所有的单元在本单元内测试是没有问题的,集成测试只负责测试单元之间的接口之类的有没有错误,单元内的问题不该集成测试管了.而且,若是单元内的错误,集成测试有应该也发现不了,因为是寻找接口之间的错误,将错误定位为消息传递,

集成测试

第八周的博客来谈谈什么是集成测试 1.什么是集成测试 集成:集成(Integration)是指把多个单元组合起来形成更大的单元.  集成测试(Integration Testing)是在假定各个软件单元已经通过了单元测试的前提下, 检查各个软件单元之间的相互接口是否正确. 也叫组装测试或联合测试. 在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试. 2.集成测试与单元测试的区别 集成测试                                

走进 .Net 单元测试

走进 .Net 单元测试 Intro "不会写单元测试的程序员不是合格的程序员,不写单元测试的程序员不是优秀程序员." -- 一只想要成为一个优秀程序员的渣逼程序猿. 那么问题来了,什么是单元测试,如何做单元测试. 单元测试定义 按照维基百科上的说法,单元测试(Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作. 程序单元是应用的最小可测试部件.在面向对象编程中,最小单元就是方法,包括基类.抽象类.或者派生类(子类)中的方法. 按

[Solution] 单元测试系列(1) 基础知识

单元测试不是软件开发的新概念,在1970年就一直存在,屡屡被证明是最理想的方法之一. 本系列将分成3节: 单元测试基础知识 打破依赖,使用模拟对象,桩对象,模拟框架 创建优秀的单元测试 本节索引: 单元测试与集成测试 测试驱动开发 UnitTest和NUnit 第一个单元测试 命名规范 单元测试与集成测试 单元测试几乎总是基于框架来写的,因为框架可以为我们提供统一的API来管理测试. 常用的框架有Unit Test(MS Test),NUnit(开源) 定义 单元测试是一段代码调用另一段代码,随

大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试

一. 前端自动化测试 大多数前端开发者对测试相关的知识是比较缺乏的,一来是开发节奏很快,来不及写,另一方面团队里也配备了"人肉测试机",完全没必要自己来.但随着项目体量的增大,许多人维护同一份代码,经常会出现有些函数莫名其妙地结果不对了,或者某个接口的入参变了,又或者哪位大哥把后端返回的数据结构给改了.每天工作的时间里被拉来拉去帮人定位问题,结果花了很多时间却发现大部分都是别人的锅.每当遇到项目上线,那就更热闹了,跟着其他"人肉测试机"大家一起点点点...... 很

软件测试笔试总结

1.软件测试的目的是什么? a.测试的目的是为了发现尽可能多的软件缺陷,不是为了说明软件中没有缺陷. b.成功的测试在于发现了迄今尚未发现的缺陷.所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷. 2.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准. A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能 正确答案:A(貌似当时我选的C,哎,错了...) 解析:白盒测试把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,

测试基础知识(白盒测试,黑盒测试,测试用例,功能测试等等)

测试基础知识 找实习工作的过程中总结了下测试基础知识,编程能力重要,测试基础同样重要,希望对大家有帮助 软件测试方法:静态测试和动态测试                     白盒测试和黑盒测试                     传统测试与面向对象测试 软件测试过程:单元测试,集成测试,系统测试,验收测试 按测试类型:功能.性能.界面.易用性测试.兼容性测试.安全性测试.安装测试 (单元测试:在编码过程中,对每个小程序单元测试) (集成测试:将单元集成在一起后,可称为组件) 回归测试.冒