什么是三明治测试(定义、类型、示例)?


集成测试是软件测试中一个特定的阶段,测试人员将所有独立的模块组合成一个实体并进行测试。在此阶段,测试人员测试接口和通信的每个模块。这些测试使用两种方法进行——自顶向下和自底向上集成测试。三明治测试,也称为混合集成测试,包含自底向上和自顶向下两种测试方法。简而言之,在三明治测试中,测试人员可以获得这两种方法的优势,使过程更加精确且以结果为导向。

三明治测试的特点

以下是三明治或混合测试的特点:

  • 它包含三个层——主要目标层、目标层下方的层和目标层上方的层。

  • 测试主要集中在中间目标层。

  • 根据代码结构的特性选择它。

  • 测试人员可以采用三明治测试来处理软件应用程序的工作版本。

  • 它还用于在软件开发生命周期的早期阶段确定开发基本的工作系统。

三明治测试背后的主要目标是通过引入成熟的方法来消除弱点并提高产品质量。测试人员使用动态符号执行和基于搜索的技术等高级技术来生成高质量的测试数据,涵盖所有分支语句。这通过最小化测试用例,定期提高代码覆盖率的准确性。

为什么软件测试中需要三明治测试?

缺乏适当的方法会导致项目失败。每个软件都有其特定的方法,每个方法都有其自身的特点。混合或三明治测试包含不同的技术,确保最大限度地覆盖成功测试过程所需的方法。

三明治测试示例

三明治测试类似于 Web 应用程序测试。

例如,Windows 应用程序包含 .NET、MFC 和 WPF 等用户界面的混合体。用户可以在其系统上安装此类混合应用程序。它们不仅没有兼容性问题,而且安装和执行速度也更快。它们提供一致性和与主要设备的完全跨平台兼容性。开发人员可以轻松地编写一个脚本并在多个平台上运行它。

混合应用程序程序中涉及的测试

混合应用程序程序中涉及的测试 混合应用程序程序中进行三种类型的测试

  • 功能测试——进行此测试以确保程序中的所有功能都正常工作。它确保应用程序可以轻松使用内置资源。

  • 连接测试——它确保应用程序可以准确地与多种类型的网络连接配合使用。此外,它还验证用户是否可以切换不同的连接类型并在没有网络连接的情况下工作。

  • 兼容性测试——它确保应用程序在不同的设备上运行时不会出现任何兼容性问题。

在进一步了解三明治方法之前,让我们先简要了解一下集成测试。

集成测试

软件工程师使用各种策略来执行集成测试,包括:

  • 大爆炸方法

  • 增量方法:它分为三个阶段——自顶向下、自底向上和三明治(自顶向下和自底向上的组合)方法

大爆炸测试

大爆炸测试非常适合小型系统。在此测试中,所有组件或模块都同时组合(也称为实体)并作为一个单元进行测试。

增量测试

在增量测试中,至少两个或多个模块(逻辑相关的)被集成并进行测试。然后,测试人员逐渐添加其他相关的模块,直到所有相关的模块都被成功集成和测试。

增量测试使用两种方法进行:自底向上和自顶向下测试。

自底向上集成测试

在这种方法中,测试人员首先测试较低级别的模块。所有经过测试的模块随后用于测试较高级别的模块。此过程持续进行,直到所有顶级模块都完全测试完毕。

优点

  • 易于进行故障定位

  • 与大爆炸方法不同,无需开发所有模块即可开始测试过程。

限制

  • 由于关键模块是最后测试的,因此可能会导致缺陷

  • 无法测试早期原型

自顶向下集成测试

在自顶向下集成方法中,测试从软件系统控制流的顶部到底部进行。与自底向上方法相反,测试人员首先测试较高级别的模块,然后依次测试较低级别的模块。如果某些模块尚未准备好,测试工程师可以使用存根作为替代。

优点

  • 易于进行故障定位

  • 更容易获得早期原型

  • 由于关键模块首先被测试,因此更容易在早期检测到主要缺陷。

局限性

  • 较低级别的模块经常被忽略

  • 需要许多存根

三明治测试

如前所述,三明治测试是自底向上和自顶向下方法的混合体。这意味着顶级模块和较低级别模块都作为一个系统进行集成和测试。因此,三明治测试也称为混合集成测试。此测试需要使用存根和驱动程序。

如何运行三明治测试?

三明治测试过程可以分为五个步骤

  • 步骤 1——准备测试计划

  • 步骤 2——开发测试场景、用例和脚本

  • 步骤 3——运行测试用例并报告缺陷

  • 步骤 4——跟踪缺陷并再次测试它们

  • 步骤 5——重复步骤 3 和 4,直到集成成功完成

三明治测试的属性

  • 确定测试过程中要使用的方法或途径

  • 分配范围和超出范围的项目

  • 分配角色和职责

  • 满足测试的前提条件

  • 准备测试环境

  • 准备风险和缓解计划

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

以下是进行集成测试的进入和退出标准

进入标准

  • 准备所有单元测试的组件或模块

  • 修复并关闭所有高度关键的错误

  • 完成所有模块的代码并成功集成它们

  • 签署并记录所有集成测试计划、测试用例和场景

  • 设置所需的测试环境

退出标准

  • 测试所有集成应用程序

  • 记录所有执行的测试用例

  • 修复并关闭所有高度优先级的错误

  • 提交所有技术文档以及发行说明

在运行三明治测试之前,务必研究应用程序的架构设计。这有助于您更好地识别关键模块。测试人员可以联系架构团队以获取接口设计,以创建和验证测试用例和接口详细信息。

更新于: 2021-07-13

3K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.