测试自动化框架的类型| 您应该知道的一切-软件测试材料

发布于 2021-05-10 01:29 ,所属分类:软件测试工程师学习资料

什么是框架?




一个框架定义了一个规则,或者说我们可以以系统的方式来达到预期的效果逐步最佳做法。因此,上述测试自动化框架涉及最佳实践,以实现我们的自动化项目的目标。

让我们看一个一般的例子:

我们大多数人都喜欢喝茶。我们如何泡好茶。

为了做到这一点,我们添加了某种茶粉,糖,牛奶和水等成分来制成茶。为了制作出优质的茶,我们添加了所有成分应按正确的比例混合。

如果您想每天进行操作。不可能每天按正确比例添加所有成分。

如果可以将所有成分按正确比例添加到罐子中。您可以每次都以相同的口味冲泡茶。

在这里,我们添加了制作好茶所需的所有成分的“罐子”就是框架。

我们真的遵循这个过程吗?

答案是否定的

我们可以在不遵循此过程的情况下冲茶。

但是,如果先前上述过程,那么结果将会很好。

同样,如果遵循一个框架,我们可以获得更好的结果。



什么是Selenium框架?



Selenium框架的代码结构可帮助您重用代码,减少代码维护,提高代码特征,并允许多个用户使用相同的程序。

为什么我们需要Selenium框架?

  • 易于代码维护

  • 增加代码重用

  • 更高的代码清晰度性

  • 降低脚本维护成本

  • 减少测试的执行时间

  • 人力资源减少

  • 易于报告

测试自动化框架的类型:

Selenium自动化框架类型

  1. 线性脚本框架

  2. 模块化测试框架

  3. 图书馆架构测试框架

  4. 数据驱动的测试框架

  5. 关键字驱动的测试框架

  6. 混合测试框架

  7. 行为驱动开发测试框架



线性脚本框架:

  • 线性脚本框架是基本等级的自动化测试框架,以线性方式呈现“记录和追溯”形式。

  • 该框架也称为“记录和重建”框架。

  • 这种类型的框架用于测试小型应用程序。

  • 在这种类型中,将针对每个测试用例分别完成测试脚本的创建和执行。

  • 测试人员捕获每个测试步骤,例如浏览,导航,用户输入,执行检查点。然后测试人员播放脚本以进行测试。

线性脚本自动化框架的优点:

  • 无需计划或花费大量时间即可生成测试脚本(记录和重置)

  • 不需要编码知识

  • 生成测试脚本的快速方法

线性脚本自动化框架的缺点:

  • 由于自动生成的脚本,缺乏可重用性

  • 硬编码数据容许我们使用多个数据集

  • 维护成本高–即使要做很小的更改,也需要大量的成本。

模块化测试框架

  • 在调试测试框架中,测试人员可以通过将整个被测应用程序分解为较小的独立测试来明智地创建测试脚本模块。

  • 简而言之,测试人员将应用程序划分为多个模块,并分别创建测试脚本。通过使用主脚本来实现所需的方案,可以将这些单独的测试脚本组合成一体的测试脚本。该主脚本用于初始化各个模块以运行端到端测试方案。

  • 使用此框架的首要是要建立一个抽象层,以保护主模块分段替换测试中运作的任何更改。

  • 在此框架中,测试人员编写函数库以在需要时使用它。这是AKA框架或基于模块的框架。

模块化测试框架的优势:

  • 由于将整个应用程序分解为不同的模块,因此具有更好的可伸缩性和易于维护

  • 可以独立编写测试脚本

  • 一个模块中的更改对其他模块没有影响或影响很小

模块化测试框架的缺点:

  • 花更多时间分析测试用例并确定可重用的流程

  • 由于测试脚本中的数据经过硬编码,因此无法指控多个数据集。

  • 需要编码技巧才能建立框架

图书馆架构测试框架:

  • 图书馆架构测试框架,又称“结构化脚本”或“功能分解”

  • 它基于一级框架,并具有一些其他优点。

  • 在调试测试框架中,我们将被测试的应用程序划分为模块,而在这里,我们确定了常见任务对其其分组为功能。将功能分组后,这些组将保存在库中。测试脚本重用这些库来创造新的测试用例。

库体系结构测试框架的优点:

  • 脚本维护很简单

  • 容易扩展

  • 函数库是可重用的,并且可以重用

库体系结构测试框架的缺点:

  • 需要编码技能

  • 准备测试脚本需要更多时间

  • 一组固定的测试数据在脚本中进行了硬编码

数据驱动的框架:

  • 数据驱动的测试自动化框架着重于将测试脚本逻辑和测试数据彼此分离。

  • 它允许我们通过传递不同的测试数据集来创建测试自动化脚本。

  • 测试数据集保存在外部文件或资源中,例如MS Excel工作表,MS Access表,SQL数据库,XML文件等,

  • 测试脚本连接到外部资源以获取测试数据。

  • 通过使用此框架,我们可以轻松地使测试脚本针对不同的测试数据集正常工作。

  • 与基于模块的框架索引,该框架大大减少了测试脚本的数量。

  • 该框架通过可重复使用的测试提供了更大的测试覆盖范围,并且仅在需要时并仅更改输入的测试数据即可灵活执行测试。

  • 它通过更改测试数据对测试没有影响是可靠的,但它也有其自身的缺点,例如在此框架上工作的测试人员需要使用动手编程知识才能开发测试脚本

数据驱动框架的优点:

  • 它支持多个数据集

  • 修改测试脚本不会影响测试数据

  • 无需对测试数据进行硬编码

  • 通过执行更多测试来节省时间

数据驱动框架的缺点:

  • 需要编码技巧

  • 设置框架和测试数据需要更多时间

  • 需要经验丰富的自动化测试人员来设计框架

关键字驱动的测试框架:

  • 这也称为表驱动测试或基于动作词的测试。

  • 在关键字驱动的测试中,我们使用表格格式为将要执行的每个函数或方法定义关键字或操作词。

  • 它根据excel工作表中指定的关键字执行自动化测试脚本。

  • 通过使用此框架,测试人员可以使用关键字来开发任何测试自动化脚本,而编程知识替代的测试人员也可以使用该测试脚本。

  • 他逻辑读取关键字和调用外部的Excel表中提到的所需的动作被放置在主类。关键字驱动的测试类似于数据驱动的测试。

  • 即使在此框架上工作不需要太多的编程技能,但初始设置(实施框架)也需要更多的专业知识。

关键字驱动框架的优势:

  • 无需成为专家即可编写测试脚本

  • 可以重用代码。我们可以将不同的脚本指向相同的关键字

  • 即使应用程序更改,测试脚本也不会更改。

  • 在开发应用程序之前可以设计测试

  • 测试脚本通过基本修改独立于被测应用程序运行

  • 不依赖于测试工具

关键字驱动框架的缺点:

  • 花更多时间设计

  • 初始成本高

  • 需要具有良好测试自动化技能的员工

混合驱动测试框架:

  • 混合测试自动化框架是上述两个或多个框架的组合。它尝试针对管理的特定测试环境利用其他框架的优势和好处。大多数团队正在通过当前市场中构建这种混合驱动的框架。

行为驱动开发测试框架:

  • 此行为驱动开发框架的目的是创建一个允许所有人(例如业务分析师,开发人员,测试人员等)积极参与的平台。它要求开发团队和测试团队之间加强协作。它不需要用户熟悉编程语言。我们使用非技术性自然语言来创建测试规范。市场上可用于行为驱动开发的一些工具是JBehave,Cucumber等,

摘要:

  • 即使我们看到了不同类型的测试自动化框架。最流行的测试自动化框架是数据驱动框架,关键字驱动框架和混合框架。

  • 在数据驱动框架中,我们将测试数据保存在excel表中,并使用TestNG的数据提供程序执行测试用例。

  • 在关键字驱动的框架中,我们在excel表中定义关键字,并且代码将调用此文件来执行测试用例

  • 混合框架是数据驱动框架和关键字驱动框架的组合。





往期推荐

自动化测试与手动测试 必须知道的重要差异

Python+webdriver定位元素的几种方法

Python 位操作符(Bitwise)

数据驱动框架(Apache POI – Excel)

Python中的文件处理–为初学者学习Python文件处理

手把手教你使用Python库打造一款简易黑客工具

高效持续测试策略的4个要素

关于Scrapy爬虫框架中meta参数的使用示例演示(上)

建立数据驱动,关键字驱动和混合Selenium框架这些你了解吗



相关资源