什么是带有示例的系统集成测试 (SIT)
系统集成测试(SIT)究竟是什么?
系统集成测试是一种在集成的硬件和软件环境中执行的软件测试,以评估整体系统行为。它是在整个集成系统上执行的测试,以确定系统是否符合规定的要求。
系统集成测试(SIT)用于验证软件系统部件的交互。它负责验证软件需求规范/数据和软件设计文档中包含的高级和低级软件需求。
它还验证软件系统与其他软件系统的共存并检查软件应用程序组件之间的交互。
在这种测试中,模块在集成以形成系统之前分别进行评估。
例如,软件和/或硬件组件逐渐合并和测试,直到集成完整的系统。
系统集成测试的必要性
因为SIT的主要目标是检查不同系统组件之间的关系,所以回归测试是SIT的一个重要组成部分。
SIT是STLC协作项目(软件测试生命周期)的一个组成部分。在大多数情况下,软件供应商会在客户执行他们自己的SIT测试用例之前进行preSIT轮次。
在大多数使用敏捷冲刺方法处理IT项目的企业中,QA团队在每次发布之前都会进行一轮SIT。在SIT中发现的问题将返回给开发团队,他们致力于补救措施。
冲刺MVP(MinimumViableProduct)只有通过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]软件测试用例和程序
坐示例
假设一家公司正在使用软件来保存客户信息。该软件在UI中包含两个屏幕——屏幕1和屏幕2——以及一个数据库。在屏幕1和2上输入的信息保存在数据库中。目前,该公司对该计划感到满意。
然而,几年后,该公司发现该软件不符合标准,必须对其进行改进。结果,他们创建了Screen3和一个数据库。该系统包括Screen3和一个数据库,现在与旧的/现有的软件相连。
系统集成测试示例
集成后对整个系统执行的测试现在称为系统集成测试。此处评估新系统与旧系统的共存情况,以确保整个集成系统正常运行。
SIT技巧
执行SIT有四种主要方式-
自上而下的方法
自下而上的方法
夹心法
大爆炸法
自上而下和自下而上的方法都是渐进的技术。让我们从自上而下的辩论方式开始。
自上而下的方法在这种方法中,测试仅从应用程序的最顶层模块开始,即UI,我们将其称为测试驱动程序。存根用于模仿底层模块的功能。顶层模块与底层模块存根一一合并,然后测试功能。每次测试完成后,存根将替换为真正的模块。这些模块可以以广度优先或深度优先的方式组合。测试将继续进行,直到创建了整个应用程序。这种方法的优点是不需要驱动程序,并且可以根据系统的功能来定义测试用例。这种方法的主要困难是依赖低级模块功能的可用性。用存根替换正版模块时可能会出现测试延迟。
自下而上的方法它克服了自顶向下方法的缺点。首先,在该技术中组合最低级别的模块以创建集群。这些集群在程序中提供特定的角色。然后由驱动程序管理测试用例的输入和输出。之后,对集群进行测试。测试后,驱动程序被删除,集群与下一个更高级别合并。重复此过程,直到完成整个应用程序结构。这种方法消除了对存根的要求。随着处理级别的提高和对驱动程序的要求降低,它变得更简单。建议在面向对象系统、实时系统和具有严格性能要求的系统上执行SIT时使用此方法。这种方法的缺点是最重要的组件,即UI,最后被测试。
三明治方法在这种方法中,合并了前面提到的自顶向下和自底向上的方法。该系统被认为具有三层:中心的目标层、目标上方的层和目标下方的层。测试在两个方向上进行,并聚集在位于中心的目标层,如下图所示。这种方法的好处是允许同时评估系统的顶层和底层。这种技术的缺点是它没有在集成之前彻底测试各种子系统。为了克服这一限制,我们重新设计了三明治测试,以便使用存根和驱动程序并行测试顶层、中间层和底层。
BigBang方法在这种方法中,在应用程序的所有模块都完成后才完成集成。在集成所有模块后,执行测试以确定集成系统是否可运行。因为一切都是一次性合并而不是增量合并,所以这种方法很难发现问题的核心原因。当只需要一轮SIT时,通常使用此方法。
评论列表