构建成功的 UI 自动化测试框架的 7 个步骤
ADADACHAN
2021.08.06 10:21:27字数 3,055阅读 0
编辑文章
构建成功的 UI 自动化测试框架的 7 个步骤
1. 结构、组织和设置源代码控制
首先为您的测试资产设置和组织文件夹结构。您需要将不同的资产彼此分开,例如测试、名称映射标准和脚本,并在每个资产中创建您知道需要的文件。例如,在“脚本”文件夹中,您需要为每种类型的脚本创建文件——事件脚本、操作、实用程序和验证。还要确保为您的数据创建一个文件。
以这种方式构建您的资产将使您的团队成员能够快速引用它们,并确保在进行更新时您的测试是稳定的。以这种方式构建资产时,您可以随时重新访问该项目,而无需对大量信息进行分类。这还将模板化您的测试文件夹,使您能够在整个项目中克隆它们。
在完成这些第一步时,请确保您使用的是像 Git 或 Mercurial 这样的源代码控制管理系统 (SCM) 来存储您的工作。如果出现错误,您不会希望失去工作或花费的时间。像这样的工具将允许您在需要时回溯。
2.什么是自动化测试框架?
测试框架
是一组用于创建和设计测试用例的指南或规则。它们为被测应用程序提供标准化的测试语言和报告结构,并可以降低测试维护成本。框架将测试链接回软件开发生命周期 (SDLC) 的其他部分,例如需求和缺陷,使团队能够更快地发现和修复错误。然而,并非所有测试框架都是自动化框架——在开发后者时要牢记这一点。测试框架由用于应用程序开发的所有工具和实践组成,从为应用程序概述的需求、测试活动(包括手动和自动测试)到运行测试的环境等等。
自动化测试框架
特别关注优化自动化流程。它们通过测试可重用性和通过将测试数据与逻辑分离来加速测试创建和维护来促进更快的周期。有多种类型的自动化测试框架,因此采用适合您的框架至关重要。然而,使用结构良好的方法可以通过提高测试准确性、最大化测试覆盖率以及降低成本和维护来提高团队的效率 - 最终为您的工作提供更高的投资回报 (ROI)。
3. 熟悉应用程序
开始熟悉应用程序 - 超出要求可以告诉你的范围。阅读概述应用程序应该做什么和不应该做什么的文档只会让你走到这一步。在这一步中,您想弄脏手。进行探索性测试,让自己了解系统的内部工作流程是如何设置的。本练习将确保您了解应用程序的工作原理。完成此操作后,您需要创建一个系统,或更新您如何找到 UI 对象。根据您使用的工具,这可能意味着您需要创建基本的名称映射属性,或为识别对象所需的操作编写脚本。这一步的关键是记录你的行动。记下您的需求以及您的自动化资产将如何测试它们
4. 确定您的测试环境并收集数据
收集您计划用于测试的数据并设置您的环境。设置可以在多个环境中运行的配置对您的成功至关重要。是时候接受事件处理程序是您最好的新朋友了。
事件处理程序是由代码组成的函数,充当侦听器,等待事件发生以触发脚本或一系列脚本。想象一下您的普通银行应用程序。在空闲时间达到一定分钟数后,会弹出一条通知,询问您是否需要更多时间。如果您不响应,出于安全原因,它会自动将您注销。
此处的事件处理程序是触发空闲通知和注销过程脚本的函数。无论您使用哪种环境,可能是 Windows 10 或 Windows 7,您都希望此工作流发生,您的最终用户也会期望它发生。
事件处理程序将使您能够完成响应事件的操作,而无需针对每个环境进行一组单独的测试。它们是关于系统应该如何运行的说明,没有具体细节,并且允许您为测试添加复杂性,而无需手动处理它们。例如,您可以更改任何动态对象标识属性,例如 URL 或文件名。
如果您更改应用程序的名称并需要将其指向不同的路径,或更新其安装方式,您的框架将能够在事件处理程序的帮助下解决此问题。测试用于确保应用程序的各个部分按预期运行,框架提供了这样做的工具。
现在进入您的测试数据。您的框架应该将数据与测试分开存放。使用您的存储库来存储数据并保持您的属性和引用通用 - 而不是特定于测试的。这将允许您的数据对象在脚本之间共享,并且您的数据将在您拥有的所有实用程序中使用,从而节省您将来的时间和精力。
5. 设置烟雾测试项目
在创建实用程序和验证之前,设置冒烟测试项目至关重要。它们将成为您用来验证实用程序的最重要的一组测试。
冒烟测试或构建验证测试验证应用程序最重要的功能是否按预期工作,并确定是否需要额外测试。如果冒烟测试通过,则意味着您的应用程序的重要部分正在运行,因此您可以继续进行更深入的测试。如果失败,则意味着您的应用程序需要工作的基本功能已经损坏。发生这种情况时,您最好先要求修复此问题。此时的进一步测试只会浪费宝贵的时间。
随着您的软件成熟或扩展功能,您的冒烟测试套件也需要增长。只需一个错误即可削弱应用程序并降低公司的声誉。
6. 为屏幕操作创建实用程序
在熟悉应用程序、收集数据和设置环境后,您需要为常用用户界面 (UI) 操作(例如菜单导航和文本输入字段)创建共享实用程序。这些是测试的基本构建块,然后您可以将它们组合在一起形成测试逻辑。
根据您使用的工具,这可能就像将片段拖放到关键字测试中一样简单。这将允许您的框架驱动您的测试流程和验证,以便对单个测试进行最少的维护。
这里的一个技巧是在您的框架中使用 JavaScript 类,特别是用于导航。这样,如果您更新记录操作或预期测试结果的方式,则只需从一个位置执行此操作 - 最终保持记录一致。
这将使非自动化工程师或开发人员的团队成员能够查看您的测试日志并了解发生了什么。他们将能够确定故障是应用程序中的资产、问题还是实际缺陷,这就是为什么从实际测试数据中提取框架数据很重要的原因。
7. 建立和管理验证
在下一步中,您需要设置验证——应用与您的数据结构相同的逻辑,这意味着它们应该是可共享的。假设您正在测试应用程序的功能,并且文本字段上的需求发生变化。如果您要验证文本字段只接受数字字符而不接受文本,则需要更新您的测试。
在这种情况下,您不想在更新每个测试时陷入困境,特别是如果您仍在手动执行此操作。理想情况下,您可以在一处更新文本字段的验证部分,以便您可以进行 50 个测试多个不同场景的测试仍然有效。您构建到操作中的任何 UI 验证都应该是可选的,以便在某个字段正确接受输入并且测试通过的情况下,无需每次都验证该操作。
您的验证数据也应该共享。不同的输入实用程序应该能够接受在前面的步骤中创建的数据对象,以便您可以将项目链接在一起。这也将使您能够在需要时在一个区域进行更新,然后可以将更新传播到框架的所有不同区域——再次强调,将框架数据与实际测试数据分离的重要性。
8. 设置您的日志记录和报告机制
UI 自动化框架的最后一部分是日志记录和报告机制。在整个构建过程中,您应该对所有探索性操作、数据准备以及环境和验证构建进行记录和笔记。
在验证之前记录消息,说明您正在验证什么以及预期结果是什么。您需要使这些消息易于阅读,以便非技术用户可以查看您的日志并确切知道发生故障的位置和原因。错误不应该是神秘的,没有人应该猜测它们为什么会发生。
此步骤的目标是帮助您标准化您的流程 - 您的日志记录内容、日志记录时间以及错误。
报告也应该自动化。自动化报告将减少您花在提取报告上的时间,并使您能够专注于分析数据。如果您想导出测试日志以在您的网络或 Web 服务器上共享,使用正确的工具,您可以自动执行电子邮件发送过程。如果测试失败,您会想立即知道。为什么要等待手动提取报告?
测试用于验证应用程序逻辑。框架用于轻松创建和构建测试。遵循这七个步骤,您将能够构建一个强大的 UI 自动化框架,为持久的成功奠定基础。
9.构建您的 UI 框架和 TestComplete
构建自动化 UI 测试框架可能是一个痛苦的过程。它既复杂又耗时。作为测试过程的一般指南,您的框架应该概述从您计划编写代码和脚本的标准语言到您正在实施的实践以及您打算使用的工具的所有内容。在选择一种工具时,您应该采用一种灵活且对各种语言提供开箱即用支持的工具。