软件测试按照研发阶段一般分为5个部分:单元测试、集成测试、确认测试、系统测试、验收测试,下面将不同阶段需要的一些工作内容做一下梳理希望可以帮助到大家。

//No.1//

单元测试

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

一、单元测试的内容:

1、模块接口测试

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

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

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

  • 输出给标准函数的参数的个数、属性和顺序是否正确。

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

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

2、 局部数据结构测试

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

  • 不一致的数据类型

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

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

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

3、 路径测试

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

4、错误处理测试

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

5、边界测试

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

二、单元测试步骤:

  • 利用设计文档设计测试用例;

  • 创建被测模块的桩模块或驱动模块;

  • 利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试

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

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

//No.2//

集成测试

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

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

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

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

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

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

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

一、一次性组装方式

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

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

二、增值式组装测试

先对一个个模块进行模块测试,然后将这些模块逐步组装成系统,分为两种方式:自顶向下的增殖方式和自底向上的增殖方式

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

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

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

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

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

3、混合增殖式

  • 自顶向下增殖方式:

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

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

  • 自底向上增殖方式:

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

缺点:程序一直未能作为一个实体存在,直到最后一个模块加上才能形成一个实体,控制方面最后才能接触。

三、集成测试完成的标志:

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

2、修改了所发现的错误

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

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

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

//No.3//

确认测试

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

一、进行有效性测试

现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。

无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。

确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;

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

二、软件配置复查

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

No.4

系统测试

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

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

No.5

验收测试

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

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

码代码不容易,分享一个支付宝小红包给大家,算是给小编的一点鼓励吧,谢谢支持!

◆来源:图文来自网络,如有侵权请联系删除

软件测试流程五个阶段相关推荐

  1. 软件测试流程五个阶段详解!看完不会你找我!

    软件测试按照研发阶段一般分为5个部分: 单元测试.集成测试.确认测试.系统测试.验收测试, 下面将不同阶段需要的一些工作内容做一下梳理希望可以帮助到大家. 单元测试 一.单元测试的内容: 1.模块接口 ...

  2. 软件测试技术(五)软件测试流程

    软件测试流程 软件测试流程如下: 测试计划 测试设计 测试执行 单元测试 集成测试 确认测试 系统测试 验收测试 回归测试 验证活动 测试计划 测试计划由测试负责人来编写,用于确定各个测试阶段的目标和 ...

  3. 软件测试技术课程总结(五)软件测试流程

    软件测试流程 软件测试流程如下: 测试计划 测试设计 测试执行 单元测试 集成测试 确认测试 系统测试 验收测试 回归测试 验证活动 测试计划 测试计划由测试负责人来编写,用于确定各个测试阶段的目标和 ...

  4. ManageEngine 详解IT服务管理(ITSM)流程五阶段

    ManageEngine认为,基于ITIL框架,ITSM流程通常包括五个阶段: 1.服务战略阶段(Service Strategy) 这个阶段是构建组织的ITSM流程的基础或框架.它涉及到定义组织能够 ...

  5. 银行软件测试bug解决,解决软件测试Bug的五个阶段

    4.犯贱 好吧,总之,你到底期望什么?想让我在一个没有高级调试器的环境下改这个BUG.我是什么?千里眼吗?我在我的Commodore 64上一个更好的调试器! 5. 瞎搞 看看我试试这么改?Kao,这 ...

  6. 软件测试流程及规范(参考大华为的规范)

    参考某大佬(窝真不知道是哪位大佬)总结的测试流程并结合在华为做测试学到的规范,整理的我们公司的测试流程,分享是一种美德,so开始你的阅读吧~ 软件测试流程及规范 一.目标 制定完整且具体的测试路线和流 ...

  7. 第四章——软件测试流程和规范

    第四章 软件测试流程和规范 学完本章应该明白要做测试或者验证应该分几步,每一步应该干什么,明确一个流程.这个流程是比较标准化的. 本章将从软件过程模型出发,讨论传统的测试过程和敏捷测试过程,进而扩展到 ...

  8. 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)

    前言:整理了一下软件测试流程规范简介,仅供参考! 一.流程图概述 二.测试启动阶段(需求分析) 参与软件需求评审.技术评审,以测试的角度分析需求的可测性,可构思将来对测试进行的方法.原则等.更重要的是 ...

  9. 软件测试流程及主要用例设计方法

    软件测试流程及主要用例设计方法 测试新手人门,首先要掌握测试的流程和实际运作项目流程和基础的用例设计方法. 掌握测试和项目流程是了解研发过程中测试的主要工作:掌握最主要的用例设计方法就是掌握测试岗位最 ...

  10. 零基础该如何系统地自学Python编程?五个阶段带你从小白到大佬

    对于零基础学习或是已经学完基础不知道下一步该干什么的朋友,可以看看这篇缓解迷茫.今天分享下如何系统地自学Python规划目标,有一个学习目标在去行动. 有了目标,怎么行动呢?建议采用视频+书籍的方式进 ...

最新文章

  1. java中char是几个字节_Java中char占用几个字节
  2. 运维:windows+python+route的一次相遇
  3. AI英特尔杯公开课:2019.06.27在线直播《研究生人工智能创新大赛—AI赋能,创新引领》课堂笔记和感悟(二)
  4. 关于前台调用后台事件__doPostBack函数
  5. SAP Cloud for Customer里Sales Order和Sales Quote的建模方式
  6. .net宿舍管理系统 mysql_基于.NET CORE的精美后台管理系统-RuoYi C#版
  7. LeetCode 1428. 至少有一个 1 的最左端列(二分查找)
  8. java date 转换sql date_java.util.Date和java.sql.Date之间的转换
  9. Android 项目中用得最多最火的第三方框架可能都在这里了
  10. 荒野大镖客fc java_FC荒野大镖客无敌版
  11. (七)数字后端之形式验证
  12. 网页设计-动态雪花背景源码
  13. CSS属性分类扫描-表格属性
  14. 鲁冠球:冲向世界的打铁匠
  15. Alan Walker MV 合辑01 by defender 歌词
  16. day21组合III电话号码的字母组合
  17. matplotlib basemap 绘制多边形区域曲线
  18. 物联无线自动窗帘:窗帘收放更自如-智能家居
  19. 修改SQL Server名称(@@ServerName)
  20. MyBatis-Plus的条件查询(只举例部分方便使用)

热门文章

  1. Python 爬虫案例(一)
  2. Idea插件开发-开发自己的第一款idea插件
  3. NRF24L01模块使用(老干妈笔记)
  4. 如何将CAD图纸转换成彩色jpg
  5. 小米公司在区块链领域的布局:小米WiFi链也开始种“米”了
  6. JAVA入门教程-专题视频课程
  7. AVR单片机计算器C语言源程序,基于AVR单片机的简易计算器设计
  8. OpenCV老版本下载方法
  9. 初中中考计算机考试,中考信息技术考试
  10. 孙玄/陈东:聊一聊ZooKeeper的顺序一致性