软件测试 是软件开发周期中的一个阶段,在此阶段中,对关键业务软件进行正确性,质量和性能验证。

软件测试中有四个基本级别,每个级别都在开发过程中从独特的角度检查软件功能。下图显示了软件测试的四个级别。
本文详细介绍了集成测试,这是软件测试的第一级。

什么是集成测试?

集成测试是软件测试的一个级别,其中将各个单元组合并进行测试,以验证它们在集成时是否按预期工作。这里的主要目的是测试模块之间的接口。

由于多种原因,仅单元测试是不够的,例如:

模块/单元通常由单独的软件开发人员设计,其技术和编程逻辑与其他程序员不同
通常在模块开发时,用户需求会发生变化,并且这些新需求可能未经过单元测试。这引发了问题
在单元测试期间,有时会遗漏诸如数据格式,错误陷阱,硬件接口和第三方服务接口之类的问题
因此,无论每个模块/单元的运行效率如何,如果它们未正确集成,都会影响软件程序的功能。作为解决方案,集成测试得以实施。本文“什么是集成测试?” 进一步列出了集成测试的优势。

集成测试的优势

进行集成测试有很多好处。下面列出了其中一些:

确保集成模块按预期正常工作
一旦要测试的模块可用,测试人员就可以开始测试
它检测与模块之间的接口有关的错误
帮助模块与API和其他第三方工具进行交互
通常覆盖大量系统,因此效率更高
增加测试范围并提高测试的可靠性
软件工程师执行集成测试。有时,公司会聘请独立的测试人员来为他们做。但是,实际上如何进行集成测试?它是否与其他测试过程相似?让我们看看“什么是集成测试”的下一部分。文章。

集成测试如何完成?

集成的含义非常简单–将经过单元测试的模块一个接一个地组合,然后测试组合单元的功能。通常,集成测试是在单元测试之后进行的。一旦创建并测试了所有单个单元,我们便开始组合那些经过测试的模块并开始执行集成测试。这里的主要目标是测试单元/模块之间的接口。以下是一些简单的步骤,可帮助您开始进行集成测试:

准备测试整合计划
确定集成测试方法的类型
相应地设计测试用例,测试场景和测试脚本
一起部署所选模块并运行集成测试
跟踪缺陷并记录测试结果
重复上述步骤,直到测试完整个系统
请记住,必须优先考虑模块或单元之间的集成接口链接。如您所见,在第二步中,您需要确定集成测试方法的类型。在“什么是集成测试”中前进 文章,让我们了解如何执行这些测试策略,它们的优缺点。

集成测试的类型

在开始讨论可用的集成测试类型之前,我们需要了解存根和驱动程序的概念。在测试期间,有时我们会遇到某些模块仍在开发中的情况。这些用于测试目的的模块已替换为一些虚拟程序。这些虚拟程序称为存根和驱动程序。

想象一下,我们有一个包含两个模块的应用程序,即Login Page(模块A)和Admin Page(模块B)。

**情况1:**您必须测试已开发并发送给测试团队的登录页面。登录页面取决于管理页面。但是管理页面尚未准备好。为了克服这种情况,开发人员编写了一个虚拟程序,充当管理员页面。这个伪程序是Stub。存根是“被称为程序”。

**情况2:**您必须测试管理页面,但登录页面尚未准备好。为了克服这种情况,开发人员编写了一个虚拟程序,其作用类似于“登录页面”。该虚拟程序是Driver。驱动程序是“调用程序”。

现在您已经了解了这些必要的概念,让我们检查一下不同类型的集成测试。集成测试类型分为以下列出的不同组:

大爆炸整合测试
在这种测试方法中,一旦所有模块分别开发和测试,它们将被集成一次并立即一起测试。这种测试的唯一优点是,它非常适合于较小的系统。

缺点

故障定位很困难
测试之前有很多延迟
关键问题没有得到优先解决
很难找到问题的根本原因

增量集成测试

通过将逻辑上相关的两个或更多模块连接在一起来执行增量测试。后来又添加了更多模块,并对其功能进行了测试。直到完成所有模块的集成并成功测试为止。它又分为自上而下方法,自下而上方法和三明治方法。

自上而下的集成测试

自上而下的方法从测试最顶层的模块开始,然后逐步地逐步降到最低的一组模块。测试按照软件系统的控制流程从上到下进行。由于在测试顶层模块时有可能未开发出较低级别的模块,因此我们使用存根而不是那些尚未就绪的模块。对于简单的应用程序,存根将简单地将控件返回其上级模块。对于复杂的应用程序,他们将模拟整个响应范围。

优点:

故障定位更容易
测试产品极为一致
与驱动程序相比,可以以更少的时间写存根
关键模块经过优先级测试
尽早发现主要设计缺陷
缺点

需要几个存根
对早期发布的支持不佳
在周期结束时测试基本功能

自下而上的集成测试

自下而上的方法从测试应用程序的最低单元开始,然后逐步地逐步进行。从控制流的底部到向上进行测试。同样,在测试较低的模块时,可能尚未开发出较高级别的模块。在这种情况下,我们通过使用驱动程序来模拟缺少的模块的功能。这些驱动程序执行一系列任务,例如调用被测模块,传递测试数据或接收输出数据。

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

点击文末小卡片领取

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:25天从零基础转行到入职软件测试岗,今天学完,明天就业。【包括功能/接口/自动化/python自动化测试/性能/测试开发】

自动化测试进阶:2022B站首推超详细python自动化软件测试实战教程,备战金三银四跳槽季,进阶学完暴涨20K

软件测试——集成测试篇相关推荐

  1. 软件测试- 基础篇 用例篇铺垫案例

    文章目录 回顾上篇博客[软件测试 - 概念篇](https://blog.csdn.net/DarkAndGrey/article/details/125281778?spm=1001.2014.30 ...

  2. 软件测试 | 概念篇

    软件测试 | 概念篇 一.软件测试的目的和原则 二.※ 什么是需求 三.※ 什么是bug 四.※ 什么是测试用例 五.※ 开发模型和测试模型 5.1 开发模型 5.2 软件测试 V 模型 5.3 软件 ...

  3. 软件测试 - 基础理论篇

    基础理论篇 一.测试基础及分类 1.1.测试基础 1.2.测试技能 1.3.测试分类 1.4.测试方向 二.模型 2.1.质量模型 2.2.测试模型~W模型 三.测试流程 四.测试用例 4.1.测试用 ...

  4. 软件测试启航篇:测试的分类

    俗话说,万丈高楼平地起.作为软件测试的从业者,我们首先得知道什么是软件测试,测试有哪些类型. 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求 ...

  5. 软件测试基础篇(1)

    1)软件测试学什么? 2)软件测试能力: 3)生活中测试的案例:测试行为在生活中是处处可见的 刚买一部手机,我们需要测试他的功能是否完善,买一件衣服是否合身,一场考试做完后在检查做过的题 为什么企业要 ...

  6. 软件测试集成测试ppt,软件测试单元测试和集成测试.ppt

    软件测试单元测试和集成测试.ppt (31页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 *内容(1)单元测试驱动程序桩程序互动(2)集 ...

  7. 软件测试基础篇—测试用例的设计方法

    目录 一,测试概念 1,软件测试的生命周期 软件测试的生命周期: 软件开发的生命周期: 测试用例的概念和要素: 2,Bug 1),如何描述Bug: 2),bug的级别 3),Bug的生命周期 二,测试 ...

  8. 自学软件测试 - 功能测试篇

    引言 软件学习之路:功能测试,自动化测试,性能测试. 近些年来,随着互联网的高速发展,互联网上的教程多到你看都看不完的,自学成了一个人最根本的能力.如何自学软件测试,个人经验认为可以通过以下途径学习. ...

  9. 【软件测试——————入门篇1】

    软件测试---入门0基础扫盲 计算机基础介绍 计算机基本介绍 **计算机硬件系统** 计算机软件系统 二进制基本介绍 常见进制与转换 编码基本介绍 计算机计量单位 DOS命令使用 计算机基础介绍 计算 ...

  10. SonarQube +Jenkins +JaCoCo 实现Java单元测试,单节点集成覆盖率测试,集群集成覆盖率测试(三)~集成测试篇

    写在最前: 本文主要讲解SonarQube实现对Java代码的集成覆盖率扫描,代码质量扫描. 其中,集成覆盖率分为单节点,集群两种模式,文内都有详解. 参考链接: 环境版本和安装 SonarQube单 ...

最新文章

  1. RxJava 实现模糊搜索
  2. POJ 1236 Network of Schools(tarjan)
  3. 数组-删除排序数组中的重复项(双指针法)
  4. 解释@Component @Controller @Service @Repository
  5. 如何制定客户留存策略_如何制定品牌营销策略?
  6. Hibernate中的Entity类之间的继承关系之一MappedSuperclass
  7. linux命令shutdown
  8. 加速数据分析,这12种高效Numpy和Pandas函数为你保驾护航
  9. 【鬼网络】之Linux网络设置
  10. sqlserver死锁解决的存储过程
  11. nodejs 安装 nrm
  12. js 异步函数讲解: Promise、async和await示例
  13. js中比較好的继承方式
  14. matlab 滤波器_数字滤波器的MATLAB与FPGA实现
  15. 《Android Studio开发实战 从零基础到App上线》出版后记
  16. vs2005下载|中文版|官方
  17. 10款超炫HTML5游戏 附游戏源码
  18. mysql省市联动_sql全国 省市 联动级联
  19. windows下搭建自己的跨平台tts语音合成播报技术
  20. Python写的Web spider(网络爬虫)

热门文章

  1. 计算机网络职业生涯规划1000字,计算机专业职业生涯规划1000字
  2. c语言ODBC连接数据库
  3. arctan查表法_DSP正弦波——查表法原理
  4. 机电传动与控制【2】
  5. Pytorch/Tensorflow:tf.multiply torch.mul(矩阵对应元素各自相乘)
  6. 整理农行面试软开最常问到的题---------框架
  7. 《深入浅出WPF》——事件学习
  8. 网页监控检测网页变化同步推送百度
  9. 业余草 2018 技术文章合集整理,适合入门、中级、高级、架构师进阶
  10. win7如何设置通电自动开机_WIN7自动开机怎么设置?