本
文
摘
要
什么是集成测试?
集成测试被定义为一种测试类型,其中软件的不同模块被集成并作为一个整体进行测试。一个典型的软件项目由多个软件模块组成,这些模块由不同的程序员进行编码。集成测试的目的是在集成这些不同的软件模块时揭示它们之间交互中的缺陷。
集成测试专注于检查这些模块之间的数据通信。因此,它也被称为“ I&T” (集成和测试)。
为什么要进行集成测试?
尽管每个软件模块都经过了单元测试,但由于各种原因,缺陷仍然存在,例如
通常,模块是由单个软件开发人员设计的,他们的理解和编程逻辑可能与其他程序员不同,必须进行集成测试,以验证软件模块可以统一工作。在模块开发时,客户有很大的机会改变需求。这些新要求可能未经过单元测试,因此必须进行系统集成测试。软件模块与数据库的接口可能是错误的外部硬件接口(如果有)可能是错误的异常处理不充分可能会导致问题。新开发的功能模块代码合并到主分支代码需要进行集成测试。集成测试用例示例
集成测试用例与其他测试用例的不同之处在于,它主要关注模块之间的接口和数据/信息流。在此优先考虑集成链接,而不是已经测试的单元功能。
以下场景的集成测试示例:应用程序具有3个模块,分别是“登录页面”,“邮箱”和“删除电子邮件”,并且每个模块都在逻辑上进行了集成。
这里不必过多地关注登录页面测试,因为它已经在单元测试中完成了。但是,请检查它如何链接到“邮箱页面”。
同样的邮箱:检查其与“删除邮件”模块的集成。
测试用例ID测试用例目标测试用例预期结果1个检查“登录”和“邮箱”模块之间的接口链接输入登录凭据,然后单击“登录”按钮被定向到邮箱2个检查邮箱和删除邮件模块之间的接口链接从邮箱中选择电子邮件,然后单击删除按钮所选电子邮件应显示在“已删除/已删除邮件”文件夹中集成测试的方法、策略和方法论
软件工程定义了各种策略来执行集成测试:
大爆炸法 增量方法。进一步细分为以下几种自上而下的方法自下而上的方法三明治方法-自上而下和自下而上的组合以下是不同的策略,执行方式以及其局限性和优势。
大爆炸测试
Big Bang Testing是一种集成测试方法,其中所有组件或模块都立即集成在一起,然后作为一个单元进行测试。测试时,这组组合的组件被视为一个实体。如果单元中的所有组件均未完成,则集成过程将不会执行。
好处:
适用于小型系统。缺点:
故障定位很困难考虑到在这种方法中需要测试的接口数量众多,很容易会漏掉一些要测试的接口链接。由于集成测试只能在设计完“所有”模块之后才能开始,因此测试团队在测试阶段的执行时间将减少。由于所有模块都经过一次测试,因此高风险关键模块不会被隔离并优先进行测试。处理用户界面的外围模块也不是隔离的,并且不会进行优先级测试。增量测试
在增量测试方法中,通过集成两个或多个彼此逻辑相关的模块来进行测试,然后对应用程序的正常功能进行测试。然后,其他相关模块以增量方式集成,并且该过程继续进行,直到所有逻辑相关的模块成功集成并测试为止。
增量方法又可以通过两种不同的方法来执行:
自下而上自顶向下插桩和驱动程序
插桩和驱动程序是集成测试中的伪程序,用于促进软件测试活动。这些程序可以替代测试中缺少的模型。它们没有实现软件模块的整个编程逻辑,但是它们在测试时模拟了与调用模块的数据通信。
插桩:由被测模块调用。
驱动程序:调用要测试的模块。
自下而上的集成测试
自下而上的集成测试是一种策略,其中首先测试较低级别的模块。然后,这些经过测试的模块将进一步用于促进更高级别模块的测试。该过程将继续进行,直到测试了所有顶层模块为止。一旦较低级别的模块经过测试和集成,便形成了下一个级别的模块。
图解表示法:
好处:
故障定位更容易。不像Big-bang方法那样浪费时间等待所有模块的开发缺点:
控制应用程序流程的关键模块(在软件体系结构的最高级别)最后经过测试,并且可能容易出现缺陷。早期的原型是不可能的自上而下的集成测试
自上而下的集成测试是一种按照软件系统的控制流程从上到下进行集成测试的方法。首先测试较高级别的模块,然后再测试和集成较低级别的模块,以检查软件功能。插桩用于测试某些模块是否尚未就绪。
好处:
故障定位更容易。有可能获得早期的原型。关键模块按优先级进行测试;可以发现并修复主要的设计缺陷。缺点:
需要许多插桩。较低级别的模块未充分测试。三明治测试
三明治测试是一种策略,其中顶层模块与底层模块同时进行测试,同时底层模块与顶层模块集成在一起并作为系统进行测试。它是自顶向下和自底向上方法的组合,因此被称为混合集成测试。它同时使用了插桩和驱动程序。
如何进行集成测试?
集成测试过程,与软件测试策略无关(如上所述):
准备整合测试计划设计测试方案,案例和脚本。执行测试用例,然后报告缺陷。跟踪并重新测试缺陷。重复步骤3和4,直到成功完成集成。集成测试计划的简要说明:
它包括以下属性:
测试方法/方法(如上所述)。集成测试的范围和超出范围的项目。角色和职责。集成测试的先决条件。测试环境。风险和缓解计划。集成测试的进入和准出标准
任何软件开发模型中集成测试阶段的进入和退出条件
准入标准:
单元测试的组件/模块修复并关闭了所有高优先级的错误所有要编码的模块都已成功完成并集成。集成测试计划,测试用例,要签署和记录的方案。设置集成测试所需的测试环境准出条件:
集成应用程序的成功测试。已执行的测试用例已记录在案修复并关闭了所有高优先级的错误要提交的技术文件,然后是发行说明。