集成测试概述

http://mpvideo.qpic.cn/0b782iaaaaaaoaacyovm5fpfbuwdadjaaaaa.f10002.mp4?dis_k=15d3045601ae15530c8c9512eb94de9b&dis_t=1589526749

什么是集成测试?

集成测试被定义为一种测试类型,软件模块按逻辑集成并作为一个整体进行测试。一个典型的软件项目由多个软件模块组成,这些模块由不同的程序员进行编码。此测试级别的目的是在集成这些软件模块时发现它们之间交互中的缺陷。

集成测试专注于检查这些模块之间的数据通信。因此,它也被称为“ I&T”(集成和测试),“字符串测试”,有时也称为“线程测试”。

为什么要进行集成测试?

尽管每个软件模块都经过了单元测试,但由于各种原因,缺陷仍然存在,例如

  • 通常,模块是由单个软件开发人员设计的,他们的理解和编程逻辑可能与其他程序员不同。必须进行集成测试,以验证软件模块可以统一工作
  • 在模块开发时,客户有很大的机会改变需求。这些新要求可能未经过单元测试,因此有必要进行系统集成测试。
  • 软件模块与数据库的接口可能是错误的
  • 外部硬件接口(如果有)可能是错误的
  • 异常处理不充分可能会导致问题。

集成测试用例示例

集成测试用例与其他测试用例的不同之处在于,它主要关注模块之间的接口和数据/信息流。在此优先考虑集成链接,而不是已经测试的单元功能。

以下场景的集成测试用例示例:应用程序具有3个模块,分别是“登录页面”,“邮箱”和“删除电子邮件”,并且每个模块都在逻辑上进行了集成。

由于单元测试中已经完成了登录页面测试,因此这里不必过多地关注。但是,请检查它如何链接到“邮箱页面”。

同样的邮箱:检查其与“删除邮件”模块的集成。

ID

测试用例目标

测试用例描述

预期结果

1

检查“登录”和“邮箱”模块之间的接口链接

输入登录凭据,然后单击“登录”按钮。

跳转到邮箱

2

检查“邮箱”和“删除邮件”模块之间的接口链接。

从“邮箱”中选择电子邮件,然后单击“删除”按钮。

选定的电子邮件应出现在“已删除/已删除邮件”文件夹中

集成测试的方法,策略,方法论

软件工程定义了执行集成测试的各种策略。

  • 大爆炸法:
  • 增量方法:进一步分为以下几种
    • 自上而下的方法
    • 自下而上的方法
    • 三明治方法-自上而下和自下而上的组合

以下是不同的策略,执行方式以及其局限性和优势。

大爆炸法:

在这里,所有组件都立即集成在一起,然后进行测试。

优点:

  • 适用于小型系统。

缺点:

  • 故障定位很困难。
  • 考虑到在这种方法中需要测试的接口数量众多,很容易会漏掉一些要测试的接口链接。
  • 由于集成测试只能在设计完“所有”模块之后才能开始,因此测试团队在测试阶段的执行时间将减少。
  • 由于所有模块都被同时测试,因此高风险关键模块不会被隔离并优先进行测试。处理用户界面的外围模块也不是隔离的,并且不会进行优先级测试。

增量式

在这种方法中,通过加入两个或多个逻辑相关的模块来完成测试。然后添加其他相关模块并测试其功能是否正常。该过程持续进行,直到所有模块都已加入并成功测试。

增量方法又通过两种不同的方法执行:

  • 自下而上
  • 自顶向下

什么是桩和驱动?

增量方法是通过使用称为桩和驱动的虚拟程序来执行的。桩和驱动不实现软件模块的整个编程逻辑,而只是模拟与调用模块的数据通信。

桩: 由被测模块调用。

驱动: 调用要测试的模块。

自下而上的整合

在自下而上的策略中,使用较高的模块测试较低级别的每个模块,直到测试完所有模块。它需要驱动的帮助进行测试

图解表示:

优点:

  • 故障定位更容易。
  • 不像大爆炸方法那样浪费时间等待所有模块的开发

缺点:

  • 控制应用程序流程的关键模块(在软件体系结构的最高级别)最后经过测试,可能容易出现缺陷。
  • 早期的原型是不可能的

自上而下的集成:

在从上到下的方法中,测试是按照软件系统的控制流程从上到下进行的。

借助桩进行测试。

图解表示:

优点:

  • 故障定位更容易。
  • 有可能获得早期的原型。
  • 关键模块按优先级进行测试;可以发现并修复主要的设计缺陷。

缺点:

  • 需要许多桩。
  • 较低级别的模块未充分测试。

混合/三明治整合

在三明治/混合策略中,是“自上而下”和“自下而上”方法的组合。在这里,顶部模块与下部模块一起进行测试,同时下部模块与顶部模块进行集成并进行测试。此策略利用桩和驱动。

如何进行集成测试?

集成测试程序,与软件测试策略无关(如上所述):

  1. 准备整合测试计划
  2. 设计测试方案,用例和脚本。
  3. 执行测试用例,然后报告缺陷。
  4. 跟踪并重新测试缺陷。
  5. 重复步骤3和4,直到成功完成集成。

集成测试计划的简要说明:

它包括以下属性:

  • 测试方法/方法(如上所述)。
  • 集成测试的范围和超出范围的项目。
  • 角色和职责。
  • 集成测试的先决条件。
  • 测试环境。
  • 风险和缓解计划。

集成测试的进入和退出标准

任何软件开发模型中集成测试阶段的进入和退出条件

进入标准:

  • 已经经过单元测试的组件/模块
  • 修复并关闭了所有高优先级的错误
  • 所有要编码的模块都已成功完成并集成。
  • 集成测试计划,测试用例,要签署和记录的方案。
  • 设置集成测试所需的测试环境

退出条件:

  • 成功测试了集成应用程序。
  • 已执行的测试用例已记录在案
  • 修复并关闭了所有高优先级的错误
  • 要提交的技术文件,然后是发行说明。

集成测试的最佳做法/准则

  • 首先,确定可以采用的集成测试策略,然后相应地准备测试用例和测试数据。
  • 研究应用程序的体系结构设计,并确定关键模块。这些需要优先测试。
  • 向开发团队获取接口设计并创建测试用例以详细验证所有接口。与数据库/外部硬件/软件应用程序的接口必须经过详细测试。
  • 在测试用例之后,至关重要的是测试数据。
  • 在执行之前,始终准备好模拟数据。执行测试用例时不要选择测试数据。

本文分享自微信公众号 - 贝克街的捉虫师(BSTester),作者:编/译自Guru99

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 系统测试概述

    http://mpvideo.qpic.cn/0bf24yaacaaag4advbno6bpfbzwdahtaaaia.f10002.mp4?dis_k=bfd...

    归根落叶
  • 开发者测试进阶

    xUnit几乎成为今天最为著名的面向开发者的测试框架,它是开源的自动化测试框架。最初它是面向Smalltalk及Sunit。我们知道,Smalltalk是一个非...

    归根落叶
  • 什么是非功能测试?

    非功能测试定义为一种软件测试类型,用于检查软件应用程序的非功能性方面(性能,可用性,可靠性等)。它旨在根据非功能参数测试系统的就绪状态,而功能测试永远不会解决这...

    归根落叶
  • 单元测试和集成测试

    单元测试对构件的五方面进行测试:  (1)模块或构件接口;  (2)局部数据结构;  (3)边界条件;  (4)独立路径;和  (5)处理错...

    葆宁
  • 集成测试是什么?为什么要做集成测试

    集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

    测试小兵
  • 集成测试类型和最佳实践

    大爆炸法是最常见的集成测试类型之一。本质上,您要测试的所有单元都被粉碎在一起并同时进行了测试。现在,这对于小型软件项目或完成其他形式的测试之后非常有用。

    八音弦
  • 移动应用的左膀右臂:持续集成与自动化测试

    本文目录: 一、为什么要做移动应用的持续集成与自动化测试 二、移动应用持续集成与自动化测试的四大挑战 三、移动应用持续集成与自动化测试的最佳实践 四、总结 一、...

    yuanyi928
  • Myeclipse8.6正确安装svn插件的方法

    使用eclipse的svn时,没有出现问题,不过用myeclipse时由于里面没有带svn,安装插件时要花费一番功夫,如果不慎使用了下面所说的前两种方案,那就只...

    the5fire
  • 软件分享 | Microsoft Project 2010 安装教程

    课代表
  • Docker最全教程——从理论到实战(八)

    在本系列教程中,笔者希望将必要的知识点围绕理论、流程(工作流程)、方法、实践来进行讲解,而不是单纯的为讲解知识点而进行讲解。也就是说,笔者希望能够让大家将理论、...

    心莱科技雪雁

扫码关注云+社区

领取腾讯云代金券