0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

2023全网*详细进阶接口自动化测试必备实战教程

发表时间:2023-11-25 07:01:29

文章来源:炫佑科技

浏览次数:136

菏泽炫佑科技

2023全网*详细进阶接口自动化测试必备实战教程

*近看了很多自动化相关的资料,再加上自己的一些实践,对“框架”有了一些了解。 在这篇博客中,我们来谈谈自动化框架的一些事情。 。 。

强烈推荐这个视频,它可以帮助你快速理清知识点。

2023年*详细、*精华的高级接口自动化测试实战教程

1.什么是自动化测试框架?

简单来说,自动化测试框架是由一些标准、协议和规则组成,并提供脚本运行的环境。 自动化测试框架可以为用户高效地完成事情提供很多便利,比如开发结构清晰的脚本、以多种方式和平台执行脚本、以及跟踪脚本执行结果的良好报告。

1、该框架具有以下优点:

1)代码复用

2) *大覆盖范围

3) 维护成本极低

4)人工干预少

5)简单的报告输出

2. 常见测试框架分类

早期的设计框架大致可以分为以下几类:

1)基于模块的测试框架

2)基于()结构的测试框架

3)数据驱动的测试框架,与QTP非常相似

4)关键字驱动的测试框架,同样源自QTP

5)混合测试箱,3 4和综合

6)行为驱动开发测试框架

我们这里就不一一介绍这些框架了。 从字面上看,你可以想象到这些框架的一些背景和组件。 本文仅提供对框架的基本了解。

3. 框架基本组成

让我们考虑一下框架组件:

1)需要配置文件管理

2)业务逻辑代码和测试脚本分离

3)报告和日志文件输出

4)自定义库的封装

5)脚本的管理和执行

6)第三方插件的引入

7)持续集成

解释:

我们需要一个配置文件来控制一些环境信息和开关。 配置文件可以是txt/xml/yaml//ini。 一般多用在JAVA中。 本文是一个系列文章。 我可以选择ini文件。

业务逻辑代码和测试脚本是分离的。 与我们*初学到的不同,代码和脚本在类文件中演示。 我们根本没有使用代码重构或重用。 代码和用例文件分离后,更加清晰,可以多人开发脚本,方便调试。

报告和日志文件输出,执行了多少个案例,以及案例的结果都需要在报告中显示。 一般都是通过第三方插件来实现该功能。 很多报告格式都是HTML,简单明了。 日志输出也很重要。 如果出现错误导致脚本执行失败,可以通过日志快速定位问题位置。

用户自定义库,这个很容易理解。 我们很多函数需要重复调​​用,所以我们把它写成公共方法,放到工具包下面,方便每次调用,比如浏览器引擎类、.py封装。

管理和执行脚本的方法(例如单元测试框架)被广泛使用。

第三方插件。 有时候,我们的一些功能需要借助第三方插件来更好地实现,例如实现文件上传和下载。 您还可以使用第三方报告插件生成基于HTML格式的测试报告。

持续集成,git、svn、ant、maven,我们将这个集成起来,实现持续集成,一键执行测试脚本。

基于以上特点,我大致用下图来描述一个简单的自动化测试框架可能包含哪些组件。

这是该框架的简要介绍。 有些人认为该框架太复杂。 框架只不过是实现特定目的的软件集合。 上面我们画的框架是一个简单的自动化测试框架。 别笑,这确实是一个简单的自动化测试框架设计示例,其中包含必要的组件。 如果你学会了这个设计思想和思路,那么,你已经达到了自动化测试的第二阶段:能够简单地设计一个自动化测试框架并维护框架的能力。

2. 自动化测试

自动化测试定义

首先我们先来说一下什么是软件测试?

简单地说,软件测试就是在规定的条件下运行程序,以发现程序错误、衡量软件质量、评价是否能够满足设计要求的过程。

那么什么是自动化测试呢?

自动化测试是将人驱动的测试行为转化为机器执行的过程,即通过执行用编程语言编译的测试脚本来模拟手动测试步骤来自动测试软件,包括所有测试阶段,并且是跨平台兼容的。 而且它是独立于进程的。

其实严格来说,自动化测试可以分为广义和狭义。 广义上是测试自动化,强调整个测试过程由计算机系统完成2023全网*详细进阶接口自动化测试必备实战教程,范围更广。 狭义上来说,就是我们通常所说的自动化测试,主要是指通过自动化工具自动执行某项测试任务,处理范围比较小。

使用自动化测试的前提条件和适用场合

先决条件

在实施自动化测试之前,需要对软件开发流程进行分析,看看是否适合进行自动化测试。 通常需要同时满足以下条件:

1)需求变化不频繁

测试脚本的稳定性决定了自动化测试的维护成本。 如果软件需求变化过于频繁,测试人员就需要根据变化的需求来更新测试用例和相关的测试脚本。 脚本的维护本身就是一个代码开发过程,必要时需要修改、调试、自动化测试。 框架,如果成本不小于使用它节省的测试成本,那么自动化测试失败了。

项目中有些模块相对稳定,而有些模块的需求变化较大。 然后我们可以对相对稳定的模块进行自动化测试,而那些变化较大的模块则需要手动测试。

2)项目周期足够长

自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写和调试都需要很长时间才能完成。 这个过程本身就是一个测试软件开发过程,需要很长时间才能完成。 如果项目周期比较短,没有足够的时间来支撑这样一个过程,那么自动化测试就成了一个笑话。

3)自动化测试脚本可重复使用

如果你辛辛苦苦开发了一套近乎完美的自动化测试脚本,但脚本的复用率很低,导致成本大于创造的经济价值,那么自动化测试就会成为测试人员的实践而不是一个工具。是一种真正能够产生效益的测试方法。

另外,当手工测试无法完成且需要大量时间和人力时,也需要考虑引入自动化测试。

比如我们的愚公坊项目升级后,一些相对稳定的模块可以使用自动化测试,比如注册登录模块、购物车模块、订单模块等。

应用领域

通常适用于软件测试自动化情况:

(1)回归测试,重复单次数据录入或按键等测试操作,造成不必要的时间和人力浪费;

(2)此外,测试人员通常依赖测试自动化工具来理解程序并验证设计文档;

(3)自动化测试工具的使用有利于测试报告文档的生成和版本的一致性;

(4)自动化工具可以确定测试用例的覆盖路径,确定测试用例集对程序逻辑流和控制流的覆盖率。

随着测试流程的不断标准化和软件测试技术的进一步细化,软件测试自动化日益成为一股不可忽视的力量。 是否以及如何利用这种外力来规范企业测试流程,提高具体测试活动的效率,是本期要讨论的话题。

自动化测试的基本流程

1. 制定测试计划

在开展自动化测试之前,*好制定一个测试计划自动化软件开发,明确测试对象、测试目的、测试项目内容、测试方法、测试进度要求,并保证测试所需的人力、硬件、数据等资源已做好充分准备。 。 测试计划制定后,将发送给用例设计者。

2. 分析测试需求

用例设计者根据测试计划和需求规格说明分析测试需求并设计测试需求树,以便在用例设计过程中覆盖所有需求点。 一般来说,基于Web的功能测试需要涵盖以下几个方面:

1)页面链接测试,保证每个链接正常; 2)页面控件测试,确保每个控件可靠; 3)页面功能测试,确保所有操作正常; 4)数据处理测试,确保数据显示准确、处理准确可靠; 5)模块业务逻辑测试,保证各个业务流程的流畅。

3. 设计测试用例

通过分析测试需求,设计覆盖所有需求点的测试用例,形成专门的测试用例文档。 由于并非所有测试用例都可以使用自动化执行,因此需要将可以执行自动化测试的测试用例归纳为自动化测试用例。 必要时,应将登录系统的用户、密码、产品、客户等参数信息分离出来,形成测试数据,方便脚本开发。

4.搭建测试环境

自动化测试人员可以在进行用例设计工作的同时开始构建测试环境。 因为自动化测试的脚本需要记录页面控件和添加对象。 测试环境的搭建包括被测系统的部署、测试硬件的调用、测试工具的安装盒设置、网络环境的布局等。

5. 编写测试脚本

根据自动化测试用例和问题的难度,采取适当的脚本开发方法来编写更精简的测试。 一般先通过录制获得测试所需的页面控件,然后用结构化语句控制脚本的执行,插入检查点和异常判断反馈语句,将常用的常用功能分离为共享脚本,参数为必要时从数据中唤醒。 改变。 当然,您还可以使用其他高级功能编辑脚本。 脚本写好后,需要反复执行、调试,直到正常运行。 脚本的编写和命名必须符合管理规范,以便于统一管理和维护。

6.分析测试结果并记录测试问题

应及时分析自动化测试结果。 建议测试人员每天花一定的时间来分析自动化测试结果,以便尽早发现缺陷。 如果使用开源的自动化测试工具,建议重新开发,以便能够与测试部门选择的缺陷管理工具紧密结合。 理想情况下,自动化测试用例运行失败后,自动化测试平台会自动报告缺陷。 测试人员只需要每天留出时间来确认这些自动报告的缺陷是否是真正的系统缺陷。 如果是系统缺陷,请提交给开发商修复。 如果不是系统缺陷,请检查自动化测试脚本或测试环境。

7. 跟踪和测试BUG

测试中记录的BUG应记录在缺陷管理工具中,以便定期跟踪和处理。 开发人员修复问题后,需要对问题进行回归测试,即重复测试一次,如果问题通过则关闭。 否则继续修改。 如果问题修改方案与客户达成一致,但偏离了原来的需求,则在回归测试之前需要对脚本进行修改和调试。

三、常见自动化测试框架 1.Robot

如果你想在测试自动化工作中使用测试自动化框架,Robot框架是*好的选择。

Robot 框架使用关键字驱动的方法来简化测试创建。 Robot框架还可以测试、FTP等。它有许多测试库,包括库和其他有用的工具。 它有很多 API 来帮助它尽可能地扩展。 Robot 框架使用的关键字方法对于已经熟悉其他基于供应商的关键字驱动测试工具的测试人员非常有用,从而使向开源的过渡变得更加容易。

2.

它是另一种类型的自动化测试框架,可以应用于各种软件测试。 凭借其开源、易学的特点,该工具经常被QA团队、开发团队、个人团队以及各种开源项目使用。 鉴于许多大型互联网应用程序都具有诸如“断言重写”之类的有用功能。

使用前提:用户不需要比基础知识更多的技术储备。 另外,用户只需要拥有一台具有命令行界面的测试设备,并安装了可用于开发的包管理器和IDE工具。

3.Junit

Junit 是 Java 语言的单元测试框架。 它由 Kent Beck 和 Erich Gamma 创建,并逐渐成为源自 Kent Beck 的 sUnit 的 xUnit 家族中*成功的一个。 Junit 拥有自己的 JUnit 扩展生态系统。 大多数Java开发环境都集成了Junit作为单元测试工具。

Junit 是由 Erich Gamma 和 Kent Beck ( ) 编写的回归测试框架。 Junit测试就是程序员测试,也就是所谓的白盒测试,因为程序员知道被测试的软件如何(How)完成功能以及完成什么功能(What)。 Junit 是一个框架。 如果继承一个类,就可以使用Junit进行自动测试。

4.

它是一个基于Node.js的自动化测试框架。 它有一个集成的测试运行程序,可以运行 Web 应用程序和本机移动应用程序的自动化测试。 同时,它可以在协议和协议上运行,使得无论是跨浏览器测试还是自动化都有效。 由于它是开源的,您可以获得大量插件来满足您的自动化需求。 “Wdio安装向导”使安装变得简单、容易。

5.

是一个开源框架,您可以使用它来自动化任何消息传递协议或数据格式的集成测试。 对于任何类型的消息传递,例如 REST、HTTP、SOAP 或 JMS,该框架都适合测试消息传递集成。 如果您需要与用户界面交互,然后验证后端流程,您可以与 . 例如,如果您必须单击“发送电子邮件”按钮并在后端验证是否收到电子邮件, 可以接收此电子邮件或 UI 触发的 JMS 通信并验证后端结果,所有这些都在一次测试中完成。

6.

这个自动化测试框架可以说是Web程序中*流行的开源自动化测试框架之一。 它具有强大的语言功能,涵盖所有编程语言,跨平台、跨浏览器,并且可以支持录音和回放功能。 通过广泛的库和API可高度扩展,满足测试团队的需求,是测试人员的首选测试框架。

7.

是一个以开发人员为中心的测试自动化框架,使测试驱动开发(TDD)成为开发人员的现实。 它的设计原则是能够打包和捆绑所有内容,使整个端到端测试体验变得愉快而简单。

架构不同。 遥控器在浏览器外部运行,而遥控器在浏览器内部运行。 这种方法有助于了解浏览器内部和外部发生的一切,提供更一致的结果; 它不需要您处理对象序列化或在线协议,同时为您提供对每个对象的本机访问。

8.

是一个用于行为驱动测试的开源库。 该框架有助于编写结构良好且更易于维护的验收标准。 提供大量内置功能,例如处理并行运行的测试、管理、截取屏幕截图、管理步骤之间的状态以及促进 Jira 集成,所有这些都无需编写任何代码。

9.仪表

Gauge 是一个与工具无关的开源测试自动化框架,适用于 Mac、Linux 和 . 从事 TDD 和 BDD 工作的人员将会欣赏 Gauge 对创建动态/可执行文档的关注。

Gauge的重要功能是:可以通过单个命令启动并运行框架; 通过多种扩展插件支持模块化架构; 它可以轻松创建没有任何特定结构的文本文档。 当然,Gauge的功能也可以通过插件的支持来扩展。

10.

它是一个基于Java的自动化测试框架,不依赖于特定的技术栈,因此测试人员只能在iOS和iOS之间复用测试自动化代码。 它的重要功能是:它可以将所有测试层,包括移动终端、Web应用程序、REST服务甚至数据库合并到同一个应用程序中; 支持关系型和子关系型数据库; 它可以使用模板引擎来生成 REST 请求。

上面总结了一些关于自动化测试框架的理解和思考。 提到的一些框架组件可能不合理。 它们仅供参考。 如果您有更好的建议,请指出。 我会很感激。 。 。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多