软件测试自动化框架(自动化测试从入门到框架)

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

如何无代码测试自动化框架?你得记住以下5个关键点

一、设计目标

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

1、输入驱动

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

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

2、允许自定义

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

3、简单性

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

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

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

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

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

4、与平台无关

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

5、技术不可知

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

6、测试环境不可知

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

7、可扩展

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

二、洞察实施要求

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

如何无代码测试自动化框架?你得记住以下5个关键点

我们将看到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)这是一个测试执行示例

· 开启网页

· 在用户名字段中输入用户

· 在密码字段中输入密码

· 点击登录按钮

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

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

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,数据库,嵌入式设备应用程序等。

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

我是谁?

我是一名从事了多年软件测试的老测试员,今年年初我花了一个月整理了一份最适合2020年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴。

(0)
上一篇 2023年2月5日 下午2:12
下一篇 2023年2月5日 下午2:18

相关推荐

  • 口罩有水珠怎么办

    本文目录 1.为什么口罩会出现水珠? 2.怎么避免口罩出现水珠? 3.如何处理口罩出现水珠的情况? 最近冬天来了,气温下降,大家都开始戴上口罩来保护自己。但是在佩戴口罩的过程中,有…

    生活百科 2023年6月15日
  • 爱尔兰禁止离婚是真的吗

    婚姻自主权作为人的基本权利之一,包括结婚自由和离婚自由,任何人或组织都无权干预,这在世界绝大多数国家中都是不言自明的常识。然而,在某些天主教国家,离婚现象却被法律严厉禁止,任何人都…

    2022年11月5日
  • 老子和孔子认识吗(老子比孔子大几岁)

    。显然是我的专长,但我不会把它当成论文来写,而是用自然语言讲解得简洁一些。 两个怪象 我留意到头条有两个现象:一,常说孔子是老子的学生;二,很多人推崇鬼谷子这个虚构出来的人物。第二…

    2023年5月15日
  • 古琴尺寸详解,常见的几种古琴形制

    顾博士讲传统古琴斫制技艺G104:简析传统的古琴斫制技艺之四 小编所撰原文,发表于《郑州师范教育》2017年第3期。 2、琴体尺寸。 实物中琴体的尺寸并不一致,从平均值来看:唐代,…

    2023年1月8日
  • 初中英语意思相近用法不同的词组

    初中英语中有很多常用短语意义相近却不相同,常常出现在考试中,一不小心就会选错或用错,今天小编就为大家总结了用法不同的近义词/词组,这也是初中英语学习的重点和中考英语必考的知识点,希…

    2023年4月8日
  • Bilibili怎么注销账号,怎么注销bilibili的登录号

    本文目录 1. Bilibili怎么注销账号 2. 怎么注销bilibili的登录号 3. bilibili视频怎么删 4. 哔哩哔哩账号注销不了怎么办 Bilibili怎么注销账…

    生活百科 2023年12月14日
  • 三江是个什么样的地方?(三江新消息)

    祖国之大 什么样的景色没有! 什么样的奇观没有! 在我们生活的地方 基本上每座城市都有自己的那条河流 例如天津市区有海河 广州市区有珠江 锦江穿蓉城而过 有的城市甚至有两条河流 这…

    2023年4月29日
  • 摩托罗拉razr深度使用评测,摩托罗拉razr5g 翻车

    摩托罗拉 razr 2022 已经发布两个多月了,对于喜欢折叠屏手机的朋友来说,尤其是喜欢翻盖式折叠屏手机,可能准备在今年的双11期间购买摩托罗拉 razr 2022。 据我所知,…

    2023年3月29日
  • 余额变更积分兑换是真的吗

    在日常生活中,我们经常会遇到各种各样的积分兑换活动,比如使用信用卡消费可以积累积分,然后可以用积分兑换礼品或者抵扣消费金额等等。而近来,一种新的积分兑换方式也开始受到了一些人的关注…

    生活百科 2023年6月19日
  • 2022苹果秋季新品发布会邀请函

    今日,苹果正式宣布了 2022 秋季新品发布会,将于9月8日凌晨1点召开,本次发布会主题为“超前瞻” 苹果还在官网发布了邀请函,从邀请函的背景图来看,是一个星空中闪烁的点点星光,可…

    2022年11月21日

发表评论

登录后才能评论