`

软件测试分类(按开发阶段划分)

    博客分类:
  • Test
阅读更多

单元测试

 单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。

单元测试的内容:

    模块接口测试

应对通过所测模块的数据流进行测试

调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配

所测模块调用子模块时,输入子模块的参数与子模块的形式参数在个数、属性和顺序上是否匹配。输出给标准函数的参数的个数、属性和顺序是否正确。

全局变量的定义在各个模块中是否一致。

当模块通过外部设备进行输入/输出操作,文件属性是否正确、openclose语句是否正确,规定的I/O格式说明与I/O语句是否匹配;缓冲区容量是否与记录长度匹配,在读写之前是否打开了文件,读写之后是否关闭了文件,对I/O错误是否做了处理

    局部数据结构测试

局部数据结构是最常见的错误来源

不一致的数据类型

不正确或不一致的数据说明

使用尚未赋值或尚未初始化的变量

错误的初始值或错误的缺省值

    路径测试

算的优先次序、常见的比较和控制流

 

    错误处理测试

遇见出错的条件,并设置适当的出错处理

  

    边界测试

例如循环的次数,最大或最小值

 

步骤:

利用设计文档设计测试用例;创建被测模块的桩模块或驱动模块;利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试

 

驱动模块:相当于所测模块的主程序,它接收测试数据,把这些数据传送给所测模块,最后再输出实际结果

桩模块:用以代替所测模块调用的子模块。

 

 ⑵集成测试

又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。

1、在把各个模块连接起来的时候,穿越各个模块的接口的数据时候会丢失

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

3、各个子功能组装完成后,能否达到预期的父功能

4、全局数据结构是否有问题

5、单个模块产生的误差累计起来是否会放大

 

模块组装成系统的方式:一次性组装方式和增殖式组装方式

1、一次性组装方式

  先对模块分别进行测试,再把所有模块组装进行测试

  缺点:发现错我不容易定位 

2、增值式组装测试

  先对一个个模块进行模块测试,然后将这些模块逐步组装成系统

  分为两种方式:自顶向下的增殖方式和自底向上的增殖方式

    自顶向下的增殖方式(不需要驱动模块)

将模块铵系统程序结构,严控制层次自顶向下进行组装。

首先以主模块作为被测模块兼驱动模块,所有直属主模块的下属模块全部用桩模块代替,对主模块进行测试。再采用深度优先或广度优先的策略,用实际模块代替桩模块,再用桩模块代替它们的直接下属模块,与已经测试的模块构成新的子系统。然后进行回归测试。

深度优先策略:

 

 

广度优先策略:(不需要桩模块)

 

    自底向上的增殖方式(不需要驱动模块)

由驱动模块控制最底层模块的并行测试。

 

 

③ 混合增殖式

自顶向下增殖方式:

优点:能够较早的发现主要控制方面的问题

缺点:需要建立桩模块,增加了一些附加的测试,涉及算法和输入输出的模块一般在底层,这些底层模块要到组装和测试的后期才能发现。一旦发现问题就会出现过多的回归测试。

自底向上增殖方式:

优点:不需要建立桩模块,建立驱动模块要比建立桩模块要简单得多,同时涉及到算法已近输入输出的模块要先测试,把最容易出现问题的部分在早期解决。

缺点:程序一直未能作为一个实体存在,直到最后一个模块加上才能形成一个实体

    。控制方面最后才能接触。

 

集成测试完成的标志:

1、成功执行了测试计划中规定的所有集成测试

2、修改了所发现的错误

3、测试结果通过专门小组的评审

集成测试需要提交的测试报告:

集成测试计划、集成测试规格说明书以及集成测试分析报告

 

3.确认测试

 

确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。

 ① 进行有效性测试

现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。

  确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法

②软件配置复查

     保证软件配置的所有成分齐全,质量都符合要求。应该遵守用户手册和操作手册中的规定步骤。

  4、系统测试

 软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,

目的在于与系统需求比较,发现问题

5、验收测试

以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。

不是对系统进行全覆盖测试,而是对核心业务流程进行测试。

分享到:
评论

相关推荐

    软件测试全套视频一共6部分(共51讲)

    软件测试技术按照划分 软件测试能否单独由开发人员完成? 软件测试和软件开发那个工作难? 软件测试水平高还是软件开发水平高? 不同测试阶段测试的分工 第二讲 详细剖析软件测试过程及V模型? 主要内容: V...

    软件测试的方法和分类

    从不同的角度出发,软件测试可以划分为不同的分类:  从是否关心软件内部结构和具体实现的角度划分 ... 从软件开发的过程按阶段划分有  A.单元测试  B.集成测试  C.确认测试  D.验收测试  E.系统测试

    软件评测师part1

    软考指定教程,由于上传权限问题,压了两个包,part1 第一篇 理论篇 第1章 软件测试概论 ...2.5.1 按照开发阶段划分 2.5.2 按照测试实施组织划分 2.5.3 按照测试技术划分 2.6 软件测试过程模型 ...

    软件测试基础题

    软件测试的定义 软件测试的目标 软件测试的原则 软件测试中验证和确认的区别 软件测试按照测试的基本策略可分为哪两种并加以详细说明 整个软件生命周期中,需要进行哪几项测试 系统测试的策略有哪些 文档测试主要...

    软件测试工程师认证考试

    软件测试工程师的等级划分: 1. 初级测试工程师:按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。 2. 中级测试工程师:能够编写测试方案、测试文档,与项目组一起制定测试阶段的工作计划,能够在项目中...

    软件测试工程师笔试题及参考答案

    或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、...

    软件测试工程师笔试题及参考答案.chm

    或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、...

    软件工程与软件测试技术.pdf

    1 2分 软件测试类型按开发阶段划分是 A 需求测试、单元测试、集成测试、验证测试 B 单元测试、集成测试、确认测试、系统测试、验 收测试 C 单元测试、集成测试、验证测试确认测试、验收 测试 D 调试、单元测试、集成...

    按照测试技术分软件测试的分类

    按照测试技术分软件测试的分类.本篇博文属于对软件...  根据项目流程阶段划分测试  上图是一个典型瀑布式软件开发流程,那么各项软件测试工作是在项目开发流程中循序渐进的进行的。下面将介绍个测试含义。  单元

    软件测试规范

    软件测试规范 目 录 一.概述 ............................................................................................................................................................ 1 二 软件...

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

    中文名: 软件测试 作者: 赵瑞莲 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 9787040136982发行时间: 2004年01月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本书是教育部新世纪高职高专教育...

    软件工程课程阶段测试题目 软件生命周期中不含哪个阶段、关于瀑布模型说法正确的是、下面关于软件过程模型说法错误的是

    这种现象称为、产生软件危机的原因有、软件生存周期划分为软件定义、软件开发和()三个阶段,而每个阶段又可以细分成若干个更小的阶段、快速原型模型的主要特点之一是、瀑布模型本质上是一种、甘特图指定项目计划的...

    软件测试培训的PPT

    部分软件测试的PPT,是入门基础。了解软件测试工程师的职业要求及特点 掌握软件测试的基本概念 熟悉常用的软件测试类型 熟悉软件测试的工作流程和阶段划分 了解软件自动化测试 理解软件测试与软件开发的相互关系

    软件测试助理工程师考试资料

    软件测试工程师的等级划分: 1. 初级测试工程师:按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。 2. 中级测试工程师:能够编写测试方案、测试文档,与项目组一起制定测试阶段的工作计划,能够在项目中...

    软件测试x详细规范介绍

    具体地说,软件测试是根据软件开发的产品设计说明书和程序的内部结构而精心设计出一批测试案例,并利用测试案例来运行程序,以发现程序错误的过程。 一、简介 3 (一)软件测试的定义 3 (二)软件测试类型的划分 3 ...

    软件工程与软件测试自动化教程

    第3章 软件工程范畴中软件测试的一般性理论 3. 1 基本概念 3. 1. 1 软件测试基础 3. 1. 2 静态方法和动态方法 3. 1. 3 黑盒测试和白盒测试 3. 1. 4 软件测试的步骤 3. 1. 5 测试阶段的信息流 3. 2 单元测试 ...

    软件工程-软件测试报告.doc

    简介 1 编写目的 本测试报告为客户消费积分管理系统项目的测试报告,目的在于总结测试阶段的测试以 及分析测试结果,描述系统是否符合需求。预期参考人员包括用户、测试人员、开发人 员、项目管理者和质量管理人员。...

    软件测试项目管理系之——测试类型划分及其项目实施

    我们以手机终端软件的测试项目为例,具体分类及包含关系如下图示:版本测试(BuildCheck/ReleaseTest)是开发完成代码设计和Code review、集成并发布后,测试人员拿到该测试版本,首先要做的一类测试。它的测试范围...

    软件测试基础理论

    刚从开发转行到测试,现在正处在自学阶段,自己整理了一些测试的基础知识,包括测试的定义,测试对象,测试的原则,测试流程,和测试的技术划分等

    软件测试通过标准(学习总结).doc

    软件测试通过标准:适用范围、Bug分类标准/等级划分/状态说明(学习总结) 通过标准 (1) 需求规格说明书中的需求必须全部实现并测试通过。 (2) 主流程畅通,系统没有一类和二类Bug。 (3) 测试用例写完之后...

Global site tag (gtag.js) - Google Analytics