12.9-测试类型:回归测试、按关联代码划分、按实施主体划分、按工程阶段划分、按执行代码划分、按质量特性划分、按符合性情况划分

目录

一、回归测试

1、什么时候需要进行回归测试?

2、新增功能时回归测试的重点

3、删减功能时回归测试的重点

4、有修复缺陷时回归测试的重点

5、考点:回归测试概述

二、按关联代码划分的测试类型

1、白盒测试

2、黑盒测试

3、灰盒测试

4、考点:黑盒、白盒测试的概述

三、按实施主体划分的测试类型

1、开发方测试

2、用户测试

3、第三方测试

4、考点:开发方测试、用户测试、第三方测试概述

四、按执行代码划分的测试类型

1、动态测试

(1)概念

(2)动态测试方法

2、静态测试

(1)概念

(2)静态测试方法

五、按质量特性划分的测试类型

六、按符合性情况划分的测试类型

1、概念

2、按照相关标准检查软件符合性

七、按工程阶段划分的测试类型

1、分类

(1)单元测试

(2)集成测试

(3)系统测试

(4)确认测试

(5)验收测试

2、单元测试

(1)概念

(2)测试内容

3、集成测试

(1)概念

(2)模块组装为系统的方式有两种

(3)组装时需要考虑的内容

(4)集成测试完成的标志主要有以下几项

(5)桩模块/驱动模块

4、系统测试

(1)概念

(2)系统测试主要内容

(3)典型的系统测试

5、确认测试

6、验收测试

7、考点


一、回归测试

1、什么时候需要进行回归测试?

  • 当软件发生变动时需要进行回归测试。
  • 新增功能、删除功能、修复缺陷都属于软件发生变动的情况。

2、新增功能时回归测试的重点

  • 验证新功能的正确性。
  • 测试可能受到影响的其他功能。

3、删减功能时回归测试的重点

  • 检测是否影响到保留的功能。

4、有修复缺陷时回归测试的重点

  • 首先验证缺陷是否正确修复。
  • 然后测试缺陷修复可能影响到的功能是否正确。

5、考点:回归测试概述

二、按关联代码划分的测试类型

1、白盒测试

  • 白盒测试也称为结构测试、逻辑驱动测试、基于代码的测试。后面章节中讲的基于结构的测试技术就是白盒测试相关的测试技术。 
  • 白盒测试对程序的结构了解的比较清楚,所以白盒测试也称为结构测试。因为白盒测试就是把软件看成一个透明的盒子,盒子中程序的每一步如何进行分支、如何进行控制、数据是如何进行流动的都看得很清楚。
  • 白盒测试是基于程序内部的结构、逻辑来设计测试用例的。

2、黑盒测试

  • 黑盒测试也称为功能测试、基于规格说明书的测试、基于数据驱动的测试。后面章节中讲的基于规格说明书的测试技术就是黑盒测试相关的测试技术。 
  • 黑盒测试就是将软件看成一个不透明的黑色盒子,看不到盒子内部程序的结构和逻辑,只能看到外部输入了什么、输出了什么、有哪些需求。
  • 黑盒测试是基于产品规格说明书的功能,从用户的角度去考虑产品的功能、特性并且去验证它。

3、灰盒测试

  • 是介于黑盒和白盒之间的测试。
  • 灰盒测试时即考虑程序的内部结构和逻辑,又考虑功能。

4、考点:黑盒、白盒测试的概述

三、按实施主体划分的测试类型

按照以谁来组织测试将测试类型分为以下三类:

1、开发方测试

  • 以开发者为主体,在开发环境下进行测试。
  • 常见的Alpha测试就是开发方测试。

2、用户测试

  • 以用户为主体的,在用户的应用环境下进行测试。
  • 常见的Beta测试就是用户测试。
  • 开放商将软件发布成β版,让用户下载到自己的应用环境中进行测试,如果发现错误的话,通过错误反馈机制反馈给开发商,开发商修正错误后再以正式版发布。

3、第三方测试

  • 以第三方为主体的测试。
  • 第三方:技术、财务、管理等独立于开发方、用户方的第三方组织。

4、考点:开发方测试、用户测试、第三方测试概述

四、按执行代码划分的测试类型

按照测试时是否需要运行代码、执行程序,将测试类型划分为动态测试、静态测试。

1、动态测试

(1)概念

  • 需要运行程序去发现错误。

(2)动态测试方法

  • 黑盒测试法
  • 白盒测试法
  • 灰盒测试法

2、静态测试

(1)概念

  • 不需要运行程序,通过人为的审查程序发现错误。

(2)静态测试方法

  • 代码审查
  • 代码走查

五、按质量特性划分的测试类型

  • 按照质量特性,将测试类型分为8类。

六、按符合性情况划分的测试类型

1、概念

  • 符合性测试就是测试软件有没有符合相关的要求。

2、按照相关标准检查软件符合性

  • 符合性准则文件(标准、合同等)
  • 就绪的软件(软件所有项均为可用状态、文档)
  • 软件的系统元素

七、按工程阶段划分的测试类型

1、分类

  • 可参照软件测试的W模型记忆下面测试类型在实际工作中的先后顺序。
  • 开发编码完成之后,首选要进行单元测试,把各个模块的功能测完之后,再把每个模块集成在一起进行集成测试,然后再系统测试,然后再交付给用户进行验收测试。

(1)单元测试

(2)集成测试

(3)系统测试

(4)确认测试

(5)验收测试

2、单元测试

(1)概念

  • 单元就是软件中最小的单位,单元也称为模块,所以单元测试也叫“模块测试”。单元可以是一个函数、一个过程、一个类。
  • 单元测试的主要依据是模块的详细设计文档。
  • 单元测试的价值在于尽早的发现程序中的一些问题,降低后期缺陷修复的代价。
  • 单元测试可以采用白盒测试技术、黑盒测试技术等等来进行,主要看测试的需求。
  • 在新版本中,单元测试可由开发和测试工程师共同完成。旧版本中认为单元测试是由开发人员完成的。

(2)测试内容

  • 单元测试主要是关注单元是否实现了规定的功能,单元的逻辑是否正确,输入输出是否正确。
  • 局部数据:单元测试中测试的是局部数据,集成测试中测试的是全部数据。局部数据测试就是测试在单元内的数据结构是否保持完整,比如说数据内容、数据结构、数据内容和结构之间的相互关系、变量说明是否合适、在模块中是否使用了没有初始化的变量、变量的初始值是否正确等。
  • 模块接口: 模块测试还需考虑模块中开关的语句是否正确,IO的模式与输入输出语句是否一致,文件在使用之前是否关闭等。 模块的接口既要调用其他的接口,也要接受其他接口的调用,所以还需要考虑 1)模块的输入参数的形式、个数、属性、单位等是否与模块内定义的一致;2)当前模块调用其他模块时,需要考虑当前模块与被调用模块之间的参数是否一致;3)调用标准函数时,模块参数的属性、数量、顺序上是否一致;4) 接口中的全局变量在调用模块和被调用模块中的含义是否一致,输入模块后是否会改变参数的形式。
  • 独立路径:在白盒测试技术中会重点讲。独立路径也称为“信息无关的路径”,是控制流分析非常重要的一个考点。所谓独立路径是指在程序中至少引用了一个新的处理语句的集合,或者一个新条件的任意一条路径。独立路径测试时需要考虑:是否存在计算方面的错误(比如说运算的优先级有问题、数据的精度有问题、运算对象类型不匹配等、算法是否正确、表达式是否正确等)、比较和控制流是否存在错误(由于数据精度问题导致数据不匹配)等。
  • 出错处理:单元在运行过程中发生差错时单元是否能有效处理差错,从而避免程序的崩溃。
  • 边界条件:对单元的边界进行测试,去确定单元的边界是否正常。

3、集成测试

(1)概念

  • 集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。集成测试主要是发现单元接口之间可能存在的问题。

  • 单元测试只是考虑各个单元内部有没有问题,集成测试是验证将各个单元之间合起来之后能否达到上一级设计的功能的要求。在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。

  • 在概要设计阶段考虑如何进行集成测试了。

  • 集成测试需要提交的文档有集成测试计划、集成测试规格说明和集成测试分析报告。

(2)模块组装为系统的方式有两种

  • 一次性组装:是一种非增殖式组装方式,也叫做整体拼装(big-bang)。使用这种方式,首先对每个模块分别进行模块测试,再把所有模块组装在一起进行测试,最终得到要求的软件系统。优点是:节省工时、人力。缺点:当发现问题时很难定位发生问题的地方。

  • 增值式组装:又称渐增式组装,是首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统,在组装的过程中边连接边测试,以发现连接过程中产生的问题。最后通过增殖逐步组装成为要求的软件系统。增值式组装方式主要包括自顶向下的增殖方式(主干模块先暴露问题)、自底向上的增殖方式(最常出错的底层模块先暴露问题)和混合增殖式方式(前两种增值方式的结合)。

(3)组装时需要考虑的内容

  • 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

  • 一个模块的功能是否会对另一个模块的功能产生不利的影响;

  • 各个子功能组合起来,能否达到预期要求的父功能;

  • 全局数据结构是否有问题;

  • 单个模块的误差累积起来,是否会放大,以至达到不能接受的程度。

(4)集成测试完成的标志主要有以下几项

  • 成功地执行了测试计划中规定的所有集成测试。

  • 修正了所发现的错误。

  • 测试结果通过了专门小组的评审。

(5)桩模块/驱动模块

  • 桩模块:是底层的模块。测试主模块时下面有调用的模块,调用的模块与主模块之间有数据的往返,所以测试主模块就需要模拟调用模块的功能,像这种模拟调用模块功能的模块就是桩模块。

  • 驱动模块:单元测试底层模块时,要模拟其他模块调用它,模拟上一级模块调用测试模块的模块就是驱动模块。

4、系统测试

(1)概念

  • 是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。

  • 这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。

  • 系统测试的目的是验证最终软件系统是否满足用户规定的需求。

(2)系统测试主要内容

按照需求规格说明书逐一验证系统的质量特性,

  • 功能测试即测试软件系统的功能是否正确,其依据是需求文档,如《产品需求规格说明书》。由于正确性是软件最重要的质量因素,所以功能测试必不可少。

  • 健壮性测试即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力

(3)典型的系统测试

  • 恢复测试:恢复测试作为一种系统测试,主要关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。在特定情况下,系统需具备容错能力。另外,系统失效必须在规定时间段内被更正,否则将会导致严重的经济损失。

  • 安全测试:安全测试用来验证系统内部的保护机制,以防止非法侵入。在安全测试中,测试人员扮演试图侵入系统的角色,采用各种办法试图突破防线。因此系统安全设计的准则是要想方设法使侵入系统所需的代价更加昂贵。

  • 压力测试:压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。

5、确认测试

  • 也叫有效性测试,一般是由开发方组织,是为了验证软件的功能和性能以及其他特性是否与用户要求一致的测试。

  • 确认测试的主要内容:以规格说明书为主来开展、确认软件的有效性;做软件配置的复查工作。

  • 确认测试的主要目的是证明软件的有效性。有效性测试大部分采用的是黑盒测试。

  • 在新版本中,确认测试明确的由开发者进行的。当需要有权威的证据的时候,再委托第三方进行测试。

6、验收测试

  • 以用户为主的测试。

  • 验收测试的主要目的是决定是否接受或拒收系统。

  • 一般使用生产中的实际数据进行测试。

7、考点

(1)按照工程阶段划分的软件测试类型

(2)单元测试的概述

(3)单元测试的内容

(4)单元测试模块接口测试的内容

(5)集成测试的概述

(6)集成测试能发现的问题

(7)集成测试集成的方式

(8)驱动模块与桩模块

(9)系统测试的概述

(10)系统测试的内容

(11)确认测试的概述
(12)验收测试概述
(13)各种测试类型的综合考查
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值