集成测试定义

什么是集成测试?

集成测试解释:集成测试是一种软件测试类型,集成测试技术是将软件模块从逻辑上集成并将其作为一个组进行测试。一个典型的软件项目是由多个软件模块组成,而这些软件模块又是由不同的程序员编码而成。集成测试的任务是在这些软件模块集成时暴露它们交互中的缺陷。集成测试的侧重点是检查这些模块之间的数据通信。因此,集成测试也叫做“I&T”(集成和测试)、“字符串测试(String Testing)”,有时也称为“线程测试- Thread Testing”。

为什么进行集成测试?

虽然每个软件模块在这之前都经过了单元测试,但由于以下各种原因缺陷仍然存在:

  • 每个模块通常都是由软件开发人员独立设计的,且每个开发人员的理解和编程逻辑会与其他程序员有所不同。集成测试作用便是验证软件模块是否能统一工作。
  • 在模块开发时期,客户的需求很有可能会发生变化。这些新需求可能没有经过单元测试,因此系统集成测试就变得极其重要。
  • 软件模块与数据库的接口可能出现错误
  • 如果系统有外部硬件接口,为了避免可能存在的错误,也需要进行测试
  • 异常处理不当可能会导致问题的出现

集成测试用例 示例

集成测试用例与其他测试用例的不同之处在于,集成测试主要测试的是模块之间的接口、数据流和信息流。这里优先考虑的是集成连接,而不是已经测试过的单元功能。

以下是集成测试用例举例说明:假设一个应用程序有三个模块,分别是“登录页”、“邮箱”和“删除电子邮件”,每个模块都是由逻辑形式集成的。这里我们不太关注界面测试,因为那已经在单元测试中完成了。我们需要检查的是登录界面是如何链接到邮箱页面的。

邮箱登录测试:检查邮箱登录入口与删除邮件模块的集成程度。

测试用例ID 测试用例目标测试用例描述预期结果
1检查登录界面和邮箱模块之间的接口链接输入登录凭据并单击“登录”按钮定向到邮箱
2检查邮箱和删除邮件模块之间的接口链接从邮箱列表中选择电子邮件并单击删除按钮 所选电子邮件应显示在“已删除/垃圾箱”文件夹中

集成测试策略有哪些

集成测试主要测试方法:  

软件工程定义了执行集成测试的各种策略,集成测试的方法有三种:

  • Big Bang Approach :    大爆炸集成测试
  • Incremental Approach:增量集成测试
    1. 自上而下集成测试
    2. 自下而上集成
  • 三明治集成方法

(一)大爆炸测试方法的优点和缺点:

Big Bang测试是一种集成测试方法,是将所有组件或模块一次性集成在一起作为一个单元进行测试。在测试时,集成组合的组件将被视为一个实体。如果单元中还有未完成的组件,那么集成流程将不会被执行。

这也是最简单的集成测试模式,集成测试的流程是将所有模块组合在一起,并在完成单个模块测试后验证其功能。简单地说,测试人员会将系统的所有模块都简单地组装成一个系统进行测试。不过这种方法仅适用于非常小的系统。如果在集成测试期间发现任何错误,定位起来就比较困难,因为这个错误可能属于已经被集成的任何模块。因此,要修复在BigBang集成测试期间报告的调试错误费用是非常高的。

大爆炸集成策略是一种软件测试方法,在Bigbang测试方法中,软件应用程序的所有组件或模块都被合并并同时进行测试。当软件组件的相互依存度较低时,或者当开发环境中存在阻止测试单个组件的约束条件时,才会使用这种方法。大爆炸集成测试的目的是验证系统的整体功能,并识别组件组合时出现的任何集成问题。虽然爆炸测试技术在某些情况下很有用,但它也具有高风险,因为系统的复杂性和组件之间的交互次数会使识别和诊断问题变得困难。

  • 大爆炸测试方法的优点有哪些—爆炸测试技术适用于小型系统;
大爆炸测试方法的缺点:a、定位故障存在困难
b、集成测试需要测试的接口数量较多,有可能会出现漏测一些需要测试的接口链接的情况。
c、由于集成测试只有在“所有”模块设计完成后才能开始,因此留给测试团队在测试阶段执行测试的时间将减少。
d、由于所有模块都是一次性测试的,因此高风险关键模块并没有被隔离以及优先进行测试,且与用户界面交互的外围模块也没有被隔离或被优先测试。

(二)增量式测试

在增量测试方法中,测试是通过集成两个或多个逻辑上相互关联的模块来完成的,主要测试应用程序是否正常运行。然后其他相关模块会被逐步集成,该过程会持续进行直到所有逻辑相关模块被成功集成和测试。

增量测试的方式有两种:1)、自下而上;2)、自上而下

  • 自下而上模式:自底向上集成测试是一种先测试较低级别模块的策略。这些已被测试的模块被进一步用于帮助完成更高级别模块的测试。该过程会持续进行直到所有顶层模块都被测试。一旦较低级别的模块经过测试和集成,那么就形成了较高一层级别的模块。

自下而上集成方式的特点:

优点a、定位故障较为容易
b、与爆炸测试技术不同,它不必浪费时间等待所有模块都被创建才能执行
缺点a、控制应用程序流程的关键模块(该模块位于软件体系结构的顶层)是最后测试的,容易出现缺陷。
b、无法建立初始原型
  • 自上而下测试:

自上而下的集成测试是一种按照软件系统的控制流程从上到下进行集成测试的方法。集成测试过程是首先测试较高级别的模块,其次测试和集成较低级别的模块来检查软件功能。如果某些模块还没有准备就绪,则可以使用存根模块进行测试。

优点a、故障定位变得容易
b、可以实现早期原型的创建工作
c、优先测试关键模块便于很快发现并修复主要的设计缺陷。
自上而下集成的缺点a、需要许多存根
b、较低级别的模块不能得到充分测试。

(三)三明治测试方法:

三明治测试法是一种策略。在三明治测试策略,顶层模块与底层模块的测试是一同的,二者共同集成为一个系统进行测试。它是自上而下预测和自下而上预测方法的结合,因此被称为混合集成测试。它既利用了存根程序,也利用了驱动程序。

存根程序和驱动程序:存根程序和驱动程序是集成测试中的伪程序,有利于软件测试活动。这些程序可以替代测试中缺失的模型。它们不执行软件模块的整个编程逻辑,但在测试时会通过调用模块来模拟它们之间的数据通信。

存根程序/Stub由被测模块调用
驱动程序/Driver调用要测试的模块

怎么进行集成测试?

集成测试步骤包括:

  • 识别组件:识别应用程序中需要集成的各个组件。这包括前端、后端、数据库和任何第三方服务插件。
  • 创建测试计划:制定一个包括测试场景和测试用例在内的测试计划,并执行相应的测试以验证不同组件之间的集成点。其中包括测试数据流、通信协议和错误处理。
  • 设置测试环境:设置一个尽可能接近生产环境的测试环境。这会使得集成测试的结果更加准确可靠。
  • 执行测试:执行列出的测试计划,从最关键和最复杂的场景开始。确保记录集成测试过程中遇到的任何缺陷或问题。
  • 分析测试结果:分析集成测试的结果,以确定需要解决的任何缺陷或问题。这可能涉及到与开发人员一起修复错误或对应用程序架构进行更改。
  • 重复测试:缺陷修复后,重复集成测试的流程,以确保更改成功以及应用程序仍按预期工作。

集成测试的进入退出方法

集成测试的进入步骤:

  • 所有组件/模块要完成单元测试;
  • 修复并关闭所有高优先级错误;
  • 所有模块都要完成代码编写并成功集成;
  • 集成测试计划、测试用例、测试场景都要经过批准并作记录;
  • 部署集成测试所需的测试环境。

集成测试的退出机制:

  • 成功测试集成的应用程序;
  • 记录执行的测试用例;
  • 修复并关闭所有高优先级错误;
  • 提交技术文件之后发布说明。

集成测试原则

  1. 首先,确定可以选用的集成测试策略,再根据相应的测试策略准备测试用例和测试数据;
  2. 研究应用程序的体系结构从而确定关键模块,优先测试这些关键模块;
  3. 从体系结构团队那里获得接口设计,并创建测试用例来详细验证所有接口信息。必须详细测试系统与数据库/外部硬件/软件应用程序交互的接口;
  4. 在完成测试用例之后,测试数据开始发挥关键作用;
  5. 在执行集成测试之前准备好模拟数据。但在执行测试用例时不要选择测试数据。

软件测试英语词汇

登录界面英文Login Interface
优先测试英文Priority testing

Author: Maha

我是Wintesting中国站的 Maha,目前职位是市场营销&内容经理,负责CN Wintetsing网站内容的设计、编写与发布,同时还监管国内市场营销工作。与此同时,我也是一名IT培训教员,我的教育背景和所从事的行业都是与IT工程师行业及信息通信技术相关。此外,除了编写中英双语的新兴技术文稿外,我还是一名IT翻译工作者,累积翻译字数逾近10万,涉及的领域有大数据、人工智能、IoT、机器学习、云计算、AR&VR、计算机网络技术、计算机网络安全技术、应用程序测试、软件测试、系统测试、网络测试及IT基础设施等。如果你需要相关领域的内容编写或翻译工作请联系我。