andriod studio 运行 无结果_如何无代码测试自动化框架?

8d1d98038919483e9832cad735564300.png

上一篇文章,我们介绍了自动化的级别分为:脚本/编码、无脚本、使用人工智能(AI)的高级自动化,以及最好的几种无脚本测试自动化工具。下面我们继续探讨如何无代码测试自动化框架?

145e45575332fe8dcd8b024ba77b72ba.png

一、设计目标

下面简要介绍了一些应考虑的重要设计目标。

1、输入驱动

运行自动化测试所需的任何输入都应超出自动化框架的“编码”部分。输入内容可以是您的测试步骤,测试条件,测试数据,预期结果等。

对于每种类型的输入,框架都应以易于使用的关键字形式提供支持,从而也可以理解上下文。

2、允许自定义

显然,这意味着您应该提供一些选项来为高级用户自定义测试脚本的处理,以便它们可以包含独特的方案。高级用户可以将他们的测试脚本(以程序的形式)插入到框架的测试输入中。

3、简单性

这是一个非常重要的设计目标,因为了解如何设置,配置和使用自动化框架应该比编码变得困难。

一个这样的示例将是提供一个模板,该模板具有所有必需的测试输入以及默认值(但与上下文相关)。

这样,用户将迅速了解如何根据他们的应用程序需求提供测试输入。另一种方法是在测试输入中提供高水平的抽象。

示例:让我们模拟单击按钮。在这里,作为用户,我只对单击按钮的简单操作感兴趣。

该框架应该能够通过内部处理标识按钮控件的不同方法来执行该操作,然后再执行该操作。实际上,这与输入驱动的目标有些相关,在该目标中,您必须定义易于理解的关键字,如本例中的ClickButton。

4、与平台无关

必须能够在不同的PC和Mobile平台上运行。针对Web应用程序开发的无脚本自动化情况下的不同浏览器。作为此目标的一部分,您还应该考虑支持跨不同平台的通用测试输入。

5、技术不可知

在当今的情况下,我们都知道技术是广泛的,开发应用程序有很多选择。无论使用什么技术来开发被测应用程序(在给定的应用程序类型(例如Web或移动应用程序)下),自动化框架都应该能够测试这些应用程序,而对测试输入和框架引擎本身所做的更改很少或没有任何更改。

6、测试环境不可知

它应该能够在云和本地虚拟环境上运行。

7、可扩展

我们应该提供选项来插入其他软件组件,以涵盖复杂的测试方案。让我们以包含前端应用程序和Web服务的电子商务网站为例,您想测试应用程序的功能以及性能。这项要求肯定需要使用可以测试Web服务和网站性能的工具的插件。

二、洞察实施要求

在研究实现细节之前,让我们首先了解无脚本自动化框架的高级体系结构组件。

033c41c3ab79594a4515c1dbadf14098.png

我们将看到3个主要组件(当然,可以将这些组件进一步划分为较低的级别,但这不是现在的目的), 我们将看到该组件以大致了解框架:

1)框架核心引擎:

这是框架的核心组件,它完成了自动化逻辑,验证,与体系结构其余组件的接口以及第三方应用程序/脚本的所有繁重工作,用于自定义测试配置和处决。

将所有测试输入操作转发到操作处理程序,以处理AUT(被测应用程序)上的操作。对于开发此引擎,重要的是要考虑上述设计目标,选择合适的编程知识和技术。

根据明智的技术选择,您将能够满足大多数设计目标,从而为自动化框架的消费者提供最大的收益。

2)测试输入接口:

从用户的角度来看,这是前端组件,您将在其中提供所有测试输入,例如测试用例步骤,测试条件,测试数据,预期结果等。

记住简单性的设计目标,应该以一种使消费者可以快速适应并开始使用您的框架的方式设计此组件。未能达到此目标将导致框架本身的使用减少。

核心引擎的接口是解释器,通常遵循某种协议来交换测试输入上的信息。

3)测试输出接口:

该组件负责输出测试结果,测试日志,缺陷日志,报告和仪表板。框架核心引擎会将结果转发到Output logger,然后由Output接口呈现。

在上述组件中,使用者通常将与Test输入接口和Test输出接口连接。因此,我们将仅探索这两个组件。

在上述组件中,使用者通常将与Test输入接口和Test输出接口连接。因此,我们将仅探索这两个组件。

测试输入接口

可以以不同方式提供测试输入。但是,这完全取决于我们针对此框架所针对的消费者类型。

  • XML,Excel等文件;诸如测试数据字段,测试步骤,数据类型之类的架构将由框架引擎定义,并且在提供测试输入时必须遵循该架构。
  • 基于GUI的输入,您将在提供相关的测试字段,以便使用者可以提供所有测试详细信息以执行。
  • 基于可视化编辑器的输入,消费者可以以流程图的形式提供这些输入(支持基本逻辑,例如条件和循环)。实际上,这是提供输入接口的最流行的方式,尽管开发这种接口比较耗时。

需要提供的典型功能集是:

  • 能够根据测试类型,测试优先级等对测试用例进行分组。
  • 必须能够创建自定义测试套件以运行冒烟和回归测试,选择性测试等。
  • 测试与平台无关的输入。
  • 能够多次执行单个测试用例。
  • 我们应该能够针对不同的测试值执行单个测试用例。
  • 能够针对特定的测试步骤或测试用例启动另一个可执行文件。例如,与Jenkins的接口以自动启动测试执行。
  • 测试执行和输出日志记录的配置。示例:超时。
  • 设置“测试脚本库”以确保在必要时可在团队和项目之间重复使用。
  • 能够从过去创建的模板中导入测试数据输入。
  • 准备导入测试用例文档并将其映射到测试数据输入。记住“可扩展性”设计目标。是的,这是迈向更高水平自动化的第一步!

测试输出接口

从无脚本自动化的角度来看,您还必须确保能够以无缝方式查看测试执行结果,而无需编写特殊代码。

需要提供的典型功能集是:

  • 能够查看测试结果,测试日志,框架日志等。
  • 生成各种测试报告和仪表板。
  • 能够根据特定要求创建自定义报告。
  • 必须能够在运行时通过GUI传输测试结果。
  • 能够与标准测试用例管理工具对接。
  • 应该能够以不同格式(例如Excel,doc,pdf等)导出测试结果,报告和仪表板。
  • 能够针对特定要求(例如性能测试工程等)过滤和解析测试日志。
  • 提供将所有测试数据(结果,日志,选择性数据点)推送到高级模块(例如分析)的功能。记住“可扩展性”设计目标。是的,这是迈向更高水平自动化又迈出的第一步!

三、关于无脚本自动化的神话

以下是有关此框架的一些误解。

1)SAF是100%无脚本的:实际上,这不是100%正确的。尽管目标是使其100%无编码,但实际上不可能实现这一壮举。

这样做的主要原因是被测应用程序(AUT),技术和用于开发软件的编程语言中存在各种复杂性。因此,我们提到的设计目标之一是为定制提供灵活性。

2)使用SAF,测试人员不需要任何编程或编码知识:再次,这不是100%正确。实际上,它们确实需要一些编程和逻辑技能的基本概念。

对于基于Web或移动的应用程序,测试人员还需要了解对象和类的基础知识,这些对象和类需要作为自定义脚本的一部分包含在内。

实际上,有些工具(例如TestCraft)不需要QA专业人员来拥有编码知识。它们的拖放功能以及即时运行功能使任何人都可以了解如何运行测试。

3)SAF完全取决于记录和回放,可以依靠:否。记录和回放只会为用户提供一个工作脚本,该脚本具有输入和流的硬编码值,必须稍后对其进行自定义。

无论如何,它都不涵盖用户输入和测试步骤的所有可能情况。

四、无脚本示例

为了便于理解,下面给出了一些无脚本自动化的示例。

1)这是一个测试执行示例

  • 开启网页
  • 在用户名字段中输入用户
  • 在密码字段中输入密码
  • 点击登录按钮

以上每个都是无脚本框架支持的关键字。

作为测试人员,您只需传递如下所示的值:打开网页“ www.linkedin.com”

Enteruser dummyuser

Enterpassword dummypwd,mask = true

单击“登录”

斜体字是接受参数以执行操作的关键字。

注意:EnterPassword接受2个参数。第二个是标志,用于指示在密码字段中键入字符时的掩码。

2)假设您要自动执行付款交易流程:

  • 选择账户类型
  • 输入购买商品的金额
  • 输入密码
  • 打印收据

SelectAccount 信用

EnterAmount INR1000

EnterPIN 1234,mask = true

PrintReceipt Customercopy = false,Merchantcopy = true

斜体字是接受参数以执行操作的关键字。

注意:EnterPIN接受2个参数。第二个是标志,指示在PIN输入字段中键入时PIN数字的掩码。PrintReceipt也有2个参数。

如果您注意到上面的流程,这就是典型的交易流程。您可以将整个流程用作各种测试用例的“事务测试模板”。这是使测试人员易于生成测试步骤和测试输入的方式。

关键字,关键字组和基于流的关键字的可重用性可以在无脚本自动化框架(SAF)中完成

六、结论

通过本文,您将发现开发无代码或无脚本的自动化框架是一项具有挑战性且同样有趣的任务。

您可以为任何类型的应用程序测试开发此类框架,即基于Web的,移动应用程序,Web服务,GUI,数据库,嵌入式设备应用程序等。

但是,应格外小心地开发稳定,可靠和高性能的工具。这只是警告,选择正确的技术和脚本/编程语言来开发一个奇妙而有用的框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值