什么是系统集成测试 (SIT) 及示例


系统集成测试 (SIT) 究竟是什么?

系统集成测试是一种软件测试,它在集成的硬件和软件环境中执行,以评估整个系统的行为。它是对整个集成系统进行的测试,以确定系统是否符合规定的要求。

系统集成测试 (SIT) 用于验证软件系统各个部分之间的交互。它负责验证软件需求规格/数据和软件设计文档中包含的高级和低级软件需求。

它还验证软件系统与其他系统的共存,并检查软件应用程序组件之间的交互。

在这种类型的测试中,模块在集成形成系统之前会分别进行评估。

例如,软件和/或硬件组件逐渐合并并进行测试,直到整个系统集成。

进行系统集成测试的必要性

由于 SIT 的主要目标是检查不同系统组件之间的关系,因此回归测试是 SIT 的一个重要组成部分。

SIT 是协作项目 STLC(软件测试生命周期)的一部分。在大多数情况下,软件供应商会在客户执行自己的 SIT 测试用例之前进行一轮预 SIT 测试。

在大多数使用敏捷冲刺方法进行 IT 项目的公司中,QA 团队在每次发布之前都会进行一轮 SIT。在 SIT 中发现的问题会返回给开发团队,由他们解决。

只有当冲刺 MVP(最小可行产品)通过 SIT 后才会发布。

SIT 对于突出集成子系统交互时出现的错误至关重要。

系统包含许多无法独立进行单元测试的组件。即使单元独立测试通过,也可能在集成到系统后由于子系统相互交互时出现的各种问题而导致失败。

因此,SIT 对于在将系统部署给用户之前发现和纠正错误至关重要。SIT 在早期阶段发现问题,从而节省了后期修复的时间和金钱。它还允许您及早获得有关您的提案是否被接受的反馈。

SIT 粒度

SIT 粒度可以在三个不同的粒度级别执行 -

  • **系统内测试 -** 这是一个低级别的集成测试,希望将模块连接起来以生成一个统一的系统。

  • **系统间测试 -** 这是一个高级别测试,需要对独立测试的系统进行接口。

  • **配对测试 -** 在这种方法中,整个系统中仅同时测试两个互连的子系统。这样做是为了确保这两个子系统在合并时能够有效地工作,假设其他子系统已经正常工作。

如何执行系统集成测试?

数据驱动方法是执行 SIT 的最简单方法。它只需要使用很少的软件测试工具。

首先,数据交换(数据导入和导出)发生在系统组件之间,然后检查每个数据字段在特定层中的行为。

在程序集成后,数据流有三个主要状态,如下所示 -

  • **#1)集成层中的数据状态** 集成层作为数据导入和导出之间的桥梁。此层级的 SIT 需要对诸如模式 (XSD)、XML、WSDL、DTD 和 EDI 等技术有一些基本了解。可以使用以下步骤来评估此层级的数据交换性能 -

    • 根据 BRD/FRD/TRD(业务需求文档/功能需求文档/技术需求文档)检查此层级中的数据特征。

    • 使用 XSD 和 WSDL 再次检查 Web 服务请求。

    • 通过运行一些单元测试来验证数据映射和请求。

    • 检查中间件日志。

  • **#2)数据库层中的数据状态** 此层级的 SIT 需要对 SQL 和存储过程有基本的了解。可以使用以下步骤来评估此层级的数据交换性能 -

    • 检查从集成层成功发送到数据库层并提交的所有数据。

    • 根据 BRD/FRD/TRD 验证表和列的特征。

    • 根据业务标准验证数据库中使用的约束和数据验证规则。

    • 检查存储例程中是否有任何处理数据。

    • 检查服务器日志。

  • **#3)应用程序层的数据状态** 可以通过以下步骤在该层级执行 SIT -

    • 检查 UI 以查看所有必需的字段是否可见。

    • 通过运行各种正面和负面测试场景来验证数据特征。

    • 需要注意的是,数据导入和数据导出有多种可能性。您需要使用 SIT 在给定时间限制的情况下找到最佳组合。

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

通常,在进行集成测试时使用 ETVX(进入标准、任务、验证和退出标准)方法。

进入标准

单元测试完成

输入

  • 软件需求数据

  • 软件设计文档

  • 软件验证计划

  • 软件集成文档

活动

  • 根据高级和低级需求创建测试用例和流程。

  • 应将实现公共功能的低级模块的构建合并在一起。

  • 创建一个测试工具。

  • 对构建进行测试。

  • 当测试通过时,构建将与其他构建合并并进行测试,直到系统完全集成。

  • 在基于目标处理器的平台上重新运行所有测试并记录结果

退出标准

在目标硬件上完成软件模块的集成,软件性能根据规范正确

输出 -

  • 集成测试报告

  • [SVCP] 软件测试用例和流程

SIT 示例

假设一家公司正在使用软件来维护客户信息。此软件在 UI 中包含两个屏幕 - 屏幕 1 和屏幕 2 - 以及一个数据库。在屏幕 1 和屏幕 2 上输入的信息将保存在数据库中。目前,公司对该软件感到满意。

但是,几年后,公司发现该软件不符合要求,需要进行改进。因此,他们创建了屏幕 3 和一个数据库。现在,这个包含屏幕 3 和数据库的系统与旧的/现有的软件连接在一起。

系统集成测试示例

在集成后对整个系统执行的测试现在称为系统集成测试。这里评估新系统与旧系统的共存,以确保整个集成系统正常工作。

SIT 技术

执行 SIT 的主要方法有四种 -

  • 自顶向下方法

  • 自底向上方法

  • 三明治方法

  • 大爆炸方法

自顶向下和自底向上方法都是渐进式方法。让我们从自顶向下方法开始讨论。

  • **自顶向下方法** 在这种方法中,测试从应用程序的最顶层模块开始,即 UI,我们称之为测试驱动程序。存根用于模拟底层模块的功能。顶层模块逐个与底层模块存根合并,然后测试功能。每个测试完成后,存根将替换为真实模块。模块可以以广度优先或深度优先的方式合并。测试将持续进行,直到创建整个应用程序。这种方法的优点是不需要驱动程序,并且可以根据系统的功能定义测试用例。这种方法的主要缺点是依赖于底层模块功能的可用性。在用存根替换真实模块时,可能会延迟测试。编写存根也很困难

  • **自底向上方法** 它克服了自顶向下方法的缺点。在这种方法中,首先将最低级别的模块组合在一起以创建集群。这些集群在程序中发挥特定作用。然后,测试用例的输入和输出由驱动程序管理。之后,测试集群。测试后,移除驱动程序并将集群与下一更高级别合并。重复此过程,直到完成整个应用程序结构。这种方法消除了对存根的需求。随着处理级别的提高和对驱动程序的需求减少,它变得更加简单。建议在面向对象系统、实时系统和对性能有严格要求的系统上使用这种方法进行 SIT。这种方法的缺点是最重要的组件,即 UI,是最后测试的。

  • 三明治方法 在这种方法中,前面提到的自顶向下和自底向上方法被合并。系统被认为具有三层:中间的目标层、目标层上方的层和目标层下方的层。测试在两个方向上进行,并在中间的目标层上汇聚,如下图所示。这种方法的优点是可以同时评估系统的顶部和底部层。该技术的缺点是在集成之前没有彻底测试各种子系统。为了克服此限制,我们重新设计了三明治测试,以便使用存根和驱动程序并行测试顶部、中间和底部层。

  • 大爆炸方法 在这种方法中,集成在应用程序的所有模块都完成后完成。在所有模块集成后,执行测试以确定集成系统是否可操作。由于所有内容都是一次性合并而不是增量合并,因此在这种方法中很难发现问题的根本原因。当只需要一轮 SIT 时,通常使用此方法。

更新于:2021年9月27日

5K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告