我是靠谱客的博主 老迟到毛豆,最近开发中收集的这篇文章主要介绍软件测试笔记——10.如何做到有效的集成测试?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言


软件产品的构成都是非常复杂的,这也就意味着它将含有多个模块,这些模块通过接口进行交互。针对于这些集成模块的测试,我们称之为集成测试。也可以认为它是由单元测试扩展出来的。

集成测试的定义


集成测试是测试单元模块之间的连接或数据传输的过程。它又称为I&T(集成与测试)。

它分为大爆炸法、自上而下法、自下而上法和三明治或混合集成法(自上而下和自下而上相结合)。这个过程是通过使用名为stub和Drivers的虚拟程序来执行,其不需要实现软件整个模块,而只是模拟与调用模块的数据通信即可。

它通常是在单元测试之后完成之后执行的。集成测试中涉及的每个模块都应该在集成测试之前进行单元测试。通过在集成测试之前进行单元测试,可以提高执行软件集成测试的信心。

集成测试也需要编写相应的测试计划,从而减少了测试的混乱,并为有效执行集成测试提供了清晰的路径。

集成测试的目标


  • 降低风险
  • 验证接口的功能和非功能行为是否符合设计和规定
  • 建立对接口质量的信心
  • 查找缺陷(可能接口本身或组件或系统内)
  • 防止集成接口的缺陷在后期测试中发现

如何写集成测试用例


假设网页程序中有三个模块,如“登录页”、“收件箱”和“删除邮件”。

在编写集成测试用例时,我们不关注单个模块的功能,因为在单元测试期间应该覆盖单个模块,在集成测试阶段我们主要关注模块之间的通信。根据上述假设,我们必须关注“登录页面如何链接到收件箱页面”和“收件箱页面如何链接到删除邮件模块”。

在这里插入图片描述

什么是大爆炸式的集成测试


它是将所有模块合并一次,并在完成单个模块测试后验证功能。在大爆炸式集成测试中,只有在所有模块都准备好之后,才能集成各个模块。然后他们会去检查它是否表现良好。在这种类型的测试中,可能会出现一些缺点,例如,可能是在很后期发现缺陷。很难定位缺陷是来自于某个模块或者是接口,亦或是集成方面的问题。

什么是自上而下的集成测试
在这里插入图片描述

在自上向下的集成测试中,测试是自上而下进行的。首先测试高级模块,然后测试低级模块,最后将低级模块集成到高级模块,以确保系统工作正常。

在这种类型的测试中,如果模块还没有准备好进行集成测试,那么桩程序(stub)将用作临时模块。

什么是自下而上的集成测试
在这里插入图片描述

在自下而上的集成测试中,测试是自下而上进行的。首先测试底层模块,然后测试高层模块,最后将高层模块集成到低层,以确保系统按预期工作驱动程序用作集成测试的临时模块。

桩和驱动程序有什么区别


桩和驱动程序用于组件级的测试

在这里插入图片描述

假设我们在一个应用程序中有两个模块,即“模块1”和“模块2”。开发人员只开发了应用程序的“模块1”。在他们完成“模块2”的开发之前,我们(测试人员)收到了测试“模块1”的要求。我们可以测试“模块1”,如果其与“模块2”没有依赖关系。假设“模块1”依赖于“模块2”。那我们该怎么办?在这种情况下如果想要测试“模块1”,需要开发人员创建一个桩(stub)模块来替换“模块2”。如果“模块2”依赖于“模块1”,但“模块1”尚未就绪,则采用相同的方法在本例中,我们使用驱动(driver)替换“模块1”。

像我们之前提过的登录并且登录邮箱页面的案例。
您必须测试登录页面(假设,邮箱页面正在开发中)。登录页面将在登录后调用邮箱页面,但邮箱页面尚未就绪。为了克服这种情况,开发人员编写了一个虚拟程序作为邮箱页面。这个就是桩(stub)程序。

桩(stub)被称为“程序”。如果“调用的程序”不完整,则将其替换为桩。(这是自上而下的方法)。

再来说说驱动程序,登录页面已经准备好了,但不是邮箱页面。这次假设邮箱页面已经准备好测试,但是登录页面还没有准备好。为了克服这种情况,开发人员编写了一个类似于登录页面的虚拟程序。这个虚拟程序就是驱动程序,驱动程序也就是“调用程序”。如果“调用程序”不完整,则将其替换为驱动程序。(这种情况在自下而上的方法中发生)。

驱动
自顶向下集成测试中使用桩自下而上集成测试中使用驱动程序
在开发子程序时使用桩开发过程中使用驱动程序
-首先测试最上层的模块--最底层模块最先测试-
它用来模拟未集成的底层模块的行为它用来模拟未集成的上层模块的行为
桩是被调用程序驱动是调用程序

什么是混合集成测试


混合集成测试也称为三明治集成测试。它是自顶向下和自下而上集成测试的结合。

集成测试的工具
一些集成测试工具如下:

  • Citrus Integration Testing
  • VectorCAST/C++
  • FitNesse
  • Validata

总结


集成测试是测试环节中很重要的一个部分,尤其是在今天软件产品的架构都在向微服务的架构转变,那么集成各个服务间的测试就显得尤为重要。希望对大家有所帮助,如果有疑问或者想法,也请大家留言区回复。如果有想学习如软件测试的朋友们,可以加入我们扣扣群(785128166)里面有各种软件测试资源(视频教程,PDF文档,面试题)和技术讨论。


更多好文推荐:

python教程——目录!

  • 1.Python 语言

软件测试笔记——目录!

  • 1.定义,类型,方法

最后

以上就是老迟到毛豆为你收集整理的软件测试笔记——10.如何做到有效的集成测试?的全部内容,希望文章能够帮你解决软件测试笔记——10.如何做到有效的集成测试?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部