介绍5种最流行的自动化测试框架类型

发表于:2021-9-18 09:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软测小生    来源:知乎

  团队根据团队规模、经验水平、用户需求等因素来选择测试框架。以下是五种最流行的框架及其优缺点:
  1、线性框架
  这是最基本的框架类型。它通常被称为“记录和回放(record and playback)”框架。
  在这个过程中,测试代码的创建和执行是按线性或顺序编写的——测试人员手动记录每一个步骤,并自动回放记录的脚本。这些步骤包括导航、用户输入和检查点。它最适合小型应用程序或团队。
  在此过程中,测试代码的创建和执行以线性或顺序方式编写-测试人员手动记录每个步骤并自动播放记录的脚本。这些步骤包括导航,用户输入和检查点。最适合小型应用程序或小团队。
  优点:
  线性框架最大的好处是生成测试用例的速度快,直接录制;无须代码基础,无须手动编写测试代码,因此门槛较低、易于上手。
  缺点:
  然而线性框架的不足之处也很明显:录制的脚本是固定的(hardcode),不可重用。这意味着,当应用发生微小变化时,上一次录制的脚本可能就无法使用了,需要重新录制(rework),从而产生大量的后期维护成本。
  2、基于模块化的框架
  顾名思义,此框架允许将被测应用程序划分为单独的模块,单元或部分。每个模块都会为它们创建独立的测试脚本。因此,每个模块及其测试脚本的组合可以构建代表各种测试案例的更大的测试。
  优点:
  该框架在创建模块时使用抽象。因此,应用程序更改将只影响与它们相关联的测试脚本所涉及的模块,而不影响其他部分。
  高度的模块化,这使得维护更加容易且具有成本效益。
  创建测试用例所需的精力最少,因为可以重复使用不同模块的测试脚本。
  缺点:
  如果没有语言开发基础,则建立框架可能会很困难。
  由于将数据硬编码到测试脚本中,因此无法重复使用数据集——因为测试是单独执行的。
  3、库结构框架
  该库体系结构框架建立在模块化框架的基础上,但具有其他好处。这样做的好处是,它不仅可以将被测应用程序划分为测试脚本,还可以将测试脚本中的相似任务划分为通用功能。
  然后创建一个库,该库构成了AUT的常用功能,可以在需要时由测试脚本调用。
  优点:
  高度的模块化,这使得测试维护简单且预算友好。
  它具有高度的可重用性,因为它的公共函数库可以被几个测试脚本使用。
  缺点:
  框架中引入的库使其更加复杂。
  测试数据也被硬编码到测试脚本中。因此,数据中的更改必须适用于测试脚本。
  测试脚本的开发需要更多的时间和技术
  4、数据驱动框架
  在数据驱动框架中,测试数据和测试脚本是分离的。在许多测试场景中,需要使用不同的测试数据多次测试同一功能或特性。如果测试数据是hardcode进测试脚本的,那么每更换一次测试数据都需要修改测试脚本。这是很大的工作量。此时,可以使用数据驱动框架。具体来说,测试脚本是固定的,而测试数据可以从外部的数据文件,以Excel、CSV、SQL等形式作为参数传入测试脚本。这样,我们只需要维护一份脚本和一份数据文件即可。
  优点:
  总体来说,这种框架最大的好处就是易于维护。
  测试脚本中的任何更改都不会影响测试数据。因此,可以避免对数据进行硬编码。
  可以使用多组数据进行测试。
  可以通过更改外部数据库中的测试数据来测试各种测试方案,从而减少所需的测试脚本数量。
  缺点:
  准备和计划框架的通用测试脚本,识别与格式化测试数据需要花费时间。
  框架设计的使用需要经验丰富的测试人员,因为它的复杂性,需要具备多种编程语言知识。
  5、关键字驱动框架
  该框架是数据驱动框架的扩展。测试数据和测试脚本也被分离,不同的是,该框架要更进一步地将测试脚本中的通用功能剥离出来,形成关键词(keyword)。测试脚本本质上就是对一系列通用的或者自定义的关键词的调用。这样做的好处是关键词可以在多个测试中复用,并且测试脚本更加易于维护。不过,实现这样一个框架并非易事。
  优点:
  与数据驱动不同,运行此框架不需要脚本知识。
  可以独立于被测应用程序构建测试脚本。
  一个关键字可以在多个测试脚本中使用。因此该代码是可重用的。
  缺点:
  设计框架和维护关键字对自动化的专业知识要求比较高。
  实现该框架的成本相对较高,而且设置起来也比较耗时和复杂。
  综上所述,实现用于自动化测试的框架需要选择一种灵活的工具。该工具应支持广泛的应用程序,并满足测试要求。另外,应该有正确的策略来定义应该自动化哪些部分。
  需要指出的是,业界已经有了实现上述各种测试自动化框架的工具。通常来说,我们并不需要重新发明一个新的框架,而是基于已有的框架去进行优化升级,使之适合自己的项目需求,来完成自动化测试工作。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号