系统集成测试(SIT),在软件系统和软件工程的背景下,是一个练习软件系统与他人共存的测试过程。系统集成测试将多个已通过系统测试的集成系统作为输入,并测试它们所需的交互。按照此过程,将可交付的系统传递给验收测试。
系统集成测试(SIT)是一个测试阶段,可能在系统测试之后进行测试。随后可能会进行额外的用户验收测试(UAT)。许多组织没有一个SIT阶段,对UAT的第一次测试可能包括对所有软件组件的第一次集成测试。
虽然每个软件模块都经过了单元测试,但由于各种原因,仍然存在缺陷,如
·模块通常由个人软件开发人员设计,他们的理解和编程逻辑可能与其他程序员不同。集成测试成为验证软件模块统一工作的必要条件
·在模块开发时,客户机的需求发生变化的可能性很大。这些新要求可能不进行单元测试,因此需要进行系统集成测试。
·软件模块与数据库的接口可能存在错误
·如果有外部硬件接口,则可能存在错误
·异常处理不当可能会导致问题。
集成测试的策略
软件工程公司定义了执行集成测试的各种策略,即。
·大爆炸方法:
·增量法:进一步分为以下部分
·自上而下的方法
·自下而上的方法
·三明治的方法-自上而下和自下而上的组合
下面是不同的策略、它们的执行方式、它们的局限性以及优点。
大爆炸方法
这里将所有组件同时集成在一起,然后进行测试。
它的优点是方便小型系统。
它有以下缺点:
·故障定位困难。
·考虑到在这种方法中需要测试的接口数量太多了,一些要测试的接口链接很容易丢失。
·由于集成测试只能在“所有”模块设计完成后才能开始,因此测试团队在测试阶段执行的时间将更少。
·由于所有模块都是一次测试的,因此高风险关键模块不会被隔离,并优先进行测试。处理用户界面的外设模块也不被隔离,并进行优先级测试。
增量方法
在这种方法中,测试是通过连接两个或两个以上与逻辑相关的模块来完成的。然后添加其他相关模块,并测试其是否正常工作。该过程继续进行,直到所有模块成功连接并测试。
反过来,增量方法则由自下而上和自上而上这两种不同的方法来执行。
存根和驱动程序
增量方法是通过使用被称为存根和驱动程序的虚拟程序来执行的。存根和驱动程序并没有实现软件模块的整个编程逻辑,而只是模拟与调用模块的数据通信。
被测试的模块调用。
驱动程序:呼叫待测试的模块。
自下而上的集成
在自底向上的策略中,在较低级别的每个模块都使用较高的模块进行测试,直到所有模块都进行测试。它需要在司机的帮助下进行测试
它具有以下优点:
·故障定位更容易。
·等待所有模块的开发是不浪费时间的
它有以下缺点:
·控制应用程序流程的关键模块(在软件架构的顶层)进行测试,可能容易出现缺陷。
·一个早期的原型是不可能的
自上而下的集成
在从上到下的方法中,按照软件系统的控制流程从上到下进行测试。它需要帮助使用存根来进行测试。
它具有以下优点:
·故障定位更容易。
·获得早期原型的可能性。
·关键模块优先测试,首先发现重大设计缺陷。
它有以下缺点:
·需要许多东西。
·对较低级别的模块进行测试不足。
在混合策略中,是自上而下和自下而上的方法的组合。在这里,顶模块与低模块进行测试,同时低模块与顶模块集成并进行测试。这个策略利用了存根和驱动程序。
进行集成测试
集成测试程序,不论软件测试策略(以上所述):
·准备集成测试计划
·设计测试场景、用例和脚本。
·执行测试用例,然后报告缺陷。
·跟踪和重新测试这些缺陷。
·重复上述两个步骤,直到集成成功完成。
集成测试指南
·首先,确定可采用的集成测试策略,然后相应地准备测试用例和测试数据。
·研究了该应用程序的体系结构设计,并识别出了关键模块。这些都需要按优先级进行测试。
·从建筑结构团队中获取接口设计,并创建测试用例来详细验证所有接口。必须对到数据库/外部硬件/软件应用程序的接口进行详细测试。
·测试用例结束后,测试数据起着关键作用。
·在执行之前,始终准备模拟数据。在执行测试用例时,不要选择测试数据。