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

单元测试(是指对软件中的最小可测试单元进行检查和验证,测试方法:白盒测试

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

一、单元测试的内容:

1、模块接口测试

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

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

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

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

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

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

2、 局部数据结构测试

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

  • 不一致的数据类型

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

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

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

3、 路径测试

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

4、错误处理测试

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

5、边界测试

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

二、单元测试步骤:

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

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

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

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

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

集成测试(也叫组装测试或联合测试,测试方法:灰盒测试

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

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

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

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

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

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

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

一、一次性组装方式

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

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

二、增值式组装测试

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

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

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

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

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

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

3、混合增殖式

  • 自顶向下增殖方式:

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

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

  • 自底向上增殖方式:

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

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

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

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

2、修改了所发现的错误

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

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

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

四、集成测试策略: 
1) 大爆炸集成 2) 自顶向下集成 3) 自底向上集成 4) 三明治(混合式)集成 5) 基干集成 6) 分层集成 7) 基于功能的集成 8) 基于消息的集成 9) 基于进度的集成 10) 基于风险的集成

确认测试

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

一、进行有效性测试

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

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

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

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

二、软件配置复查

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

系统测试

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

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

集成测试和系统测试之间的比较: 
1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能; 
2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

验收测试(也称交付测试

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

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

验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

软件测试中单元测试,集成测试,系统测试,验收测试的区别相关推荐

  1. Soft:软件开发的简介(敏捷开发等6大软件开发模式)、软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试、黑白灰功能测试、DEV等四套环境)、运维的简介之详细攻略

    Soft:软件开发的简介(敏捷开发等6大软件开发模式).软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试.黑白灰功能测试.DEV等四套环境).运维的简介之详细攻略 目录 1.软件开发( ...

  2. 按阶段划分软件测试:单元测试 , 集成测试 , 系统测试 , 验收测试

    1.单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.对于单 元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一 个函数,Jav ...

  3. 软件测试——单元测试/集成测试/系统测试/验收测试

    按开发阶段分类:单元,集成,系统,验收. 单元测试:对功能进行的测试,从程序的内部结构出发设计的测试用例,多个模块可以平行的独                立进行测试 . 一般要读程序和代码.大多时 ...

  4. 软件测试中的集成测试到底是什么?集成的方法又有哪些?

    小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...

  5. 软件测试中的单元任务,单元测试目标和任务目标. ppt

    软件测试方法和技术第5课单元测试单元测试5.1什么是单元测试5.2单元测试的目标和任务5.3静态测试技术的应用5.4动态测试技术的应用5.5调试和评估5.6单元测试的过程和文档管理5.7单元测试常用工 ...

  6. 白盒测试黑盒测试和单元测试集成测试和系统测试的关系

    下图为白盒测试黑盒测试和单元测试集成测试和系统测试的关系 UT--Unit testing IT--Integration testing ST--system testing UT---White- ...

  7. 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别

    转:软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别 举个例子吧     if   A   and   B   then   Action1     if   C   or   D   then ...

  8. 软件测试中自上而下与自下而上的区别

    文章将要探讨一下软件测试中自上而下与自下而上的区别. 第一.自顶向下的增殖方式.这种集成方式将模块按系统程序结构,沿控制层次自顶向下进行组装.自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断 ...

  9. 【软件测试工程师】关于软件测试术语的定义,软件测试中的分类

    01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作.在测 ...

  10. 自动驾驶层次测试体系(单元测试/集成测试/SIL/HIL/VIL/RIL/LABCAR/实车等)

    智能驾驶的测试是一个非常复杂的系统,我们用一篇文章,由小到大的逐个展开来和大家一起梳理下.在梳理之前我们先抛出一个问题,自动驾驶的测试量需要达到什么量级?根据国际一般标准统计,人类司机驾驶一小时的死亡 ...

最新文章

  1. 各大浏览器 CSS3 和 HTML5 兼容速查表
  2. python语言及其应用-Python语言及其应用.PDF
  3. django调用java_07.手把手教将深度学习利用Django将模型发布成服务供java调用
  4. 从移动广告业务“长出”的新增长点,汇量科技进军云服务
  5. arm hisiv100 linux,hisiv100交叉编译工具链安装
  6. Linux下切换用户根目录的指令
  7. epoll编程实例客户端_深入底层探析网络编程之多路复用器(select,poll,epoll)
  8. java 鼠标拖拽_JavaScript DOM 鼠标拖拽
  9. 安卓游戏广告加速插件_安卓迅游加速器,无需登陆免费加速,国内外游戏均可加速下载...
  10. 数据结构试卷及答案(七)
  11. 【免费域名】freenom免费申请域名步骤
  12. 积分墙广告的七个真相(触控软文)
  13. openlayers 地图上加图标_OpenLayers学习笔记中级篇(四、地图图标操作)
  14. 两角和与差的正弦、余弦、正切公式推导
  15. 分布式计算系统导论:原理与组成pdf
  16. 未来WiFi技术新方向:传输、覆盖、能耗
  17. 哔哩哔哩2020年Q4及全年财报:全年营收120亿元,同比增长77%
  18. App Widget
  19. 读懂英文文章所需的单词量
  20. WCF自定义扩展,以实现aop!

热门文章

  1. pip指定网址下载安装(清华源)
  2. ECharts+Vue实现数据可视化
  3. 爬取百思不得姐上面的视频
  4. python手机app签到_Python实现App自动签到领取积分功能
  5. 国外广告联盟前期需要准备的事情
  6. 几个经典差动放大器应用电路详解
  7. 智慧旅游综合运营服务平台建设方案
  8. 微信账号和系统账号绑定
  9. Python爬虫120例之案例58,手机APP爬虫,“武器库”的准备and皮皮虾APP的测试
  10. 新闻——覃雄派、王会举、杜小勇、王珊论文两次入选“领跑者5000—中国精品科技期刊顶尖学术论文”