怎样系统地学习自动化测试?

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快

平时的测试工作其实细分一下,大概有三个领域,接口测试、web测试、环境搭建,那么围绕这三点进行的自动化就是自动化测试的全部内容,分别对应了:

1. 接口自动化

2. UI自动化

3. 持续集成(Jenkins)

一、接口自动化测试

现在的系统基本都是前后端分离的项目,后端全部由接口构成,因此接口测试需求量大,实现接口的自动化测试尤其重要。

那么,如何进行接口自动化测试呢?这里这几个知识点和工具,简单介绍一下。

1、HTTP协议

HTTP协议及其加密协议HTTPS的原理是学习接口测试的基础,需要理解地去学习和掌握原理;

2、接口文档

在实际工作中,接口的信息主要通过接口文档进行说明,了解接口文档的结构、内容和规范可以帮助我们深度参与接口测试以及接口自动化测试。

3、接口测试工具Jmeter和Postman和Fiddler

Jmeter已经火了很多年了,它即使接口的功能测试工具,又可以是接口的性能测试工具,还可以是接口的自动化测试工具,在如今的测试工作中使用普遍,需要重点掌握和使用。并且它是免费开源的,也很容易上手学习。

Postman工具也很强大,在日常工作中,他的作用更多的体现在调试上,无论开发还是测试都会用到它来调试接口的。

Fiddler 抓包工具:对于学习http协议的接口的同学,一定要学会使用抓包工具,常用的工具就是fiddler,这个工具可以帮你定位很多问题BUG,且安装使用都很方便。

掌握以上几项工具后,对于HTTP协议的接口自动化测试,基本可以掌握和应用;还可以尝试进行接口的性能测试。

二、WEB自动化测试(UI自动化测试)

相较于接口测试来说,UI自动化测试要复杂的多,成本也高出许多,这里主要是人力成本和时间成本,因为UI对接的是对接前端界面,要素繁多,需求改动之下变化不断,因此维护成本非常高。

而正因为如此,掌握UI的自动化测试更加有含金量。

对一些大型系统,特别是不断迭代的项目,虽然需求一直在变化,界面前端一直在修改,好在项目周期长,在开发和测试过程中,如果能够使用自动化测试的脚本进行回归测试的话,那么将大大提高提高工作效率,降低工作成本。并且,在UI自动化测试中,有一种很关键的思想,叫做“关键字驱动”测试,专门用来解决UI自动化测试脚本开发和维护的问题。

如何学习web端的UI自动化测试?

Web自动化测试

推荐工具Selenium

推荐理由:Selenium是世界上排名前十的自动化测试工具(不区分UI自动化和接口自动化)

1.1 Selenium

Selenium主要是进行Web自动化测试,同时在手机APP自动化测试中,有一些测试框架也是基于Selenium来实现。如果要进行Web自动化测试,学习selenium是不二之选。

优点

  • 跨平台、跨语言
  • 支持多种浏览器
  • 支持移动端测试
  • 插件多,扩展性强

缺点

  • 不能直接生成测试报告
  • 不能识别动态图片
  • 掌握Selenium后,那么就掌握了主流的Web自动化测试。

学习Selenium的方法

  • 先掌握手工功能测试,理解测试的功能业务
  • 再学习HTML、CSS、JS这三大知识
  • 第三学习Selenium测试框架
  • 最后学习PO分层管理的思想

三、持续集成

1、什么叫持续集成?

jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。— 维基百科

我们假想一个场景,现在一个测试工程师把自动化脚本都编写好了,但是这位大佬还是需要每天上班点击“开始“运行脚本,而且当开发提交新的版本时,也需要重新运行自动化脚本。

那么可以不可以让这个自动化脚本,自动的运行,并且在开发每次发布版本之后,自动的执行呢?当然可以,这就是持续集成。

要学习持续集成,我们首先推荐jenkins。

2、什么是持续集成工具Jenkins?

Jenkins工具是JAVA编写的开源工具,无论是扩展性,还是实用性,都非常好,很多中小型公司都是用jenkins进行持续集成,一些大型公司也是在jenkins的基础上进行的二次开发。

3、如何学习Jenkins

理解CI和CD的概念

  • CI:持续集成(把多个开发编写的代码,集成在代码仓库,自动进行单元测试,并返回结果)
  • CD:持续交付(把集成的代码,自动的构建、部署、测试、发布,并返回各个阶段的结果)

要实现这些过程,我们需要拆分学习

  • 集成代码
  • 单元测试
  • 构建代码
  • 部署代码
  • 测试代码
  • 发布代码
  • 发送测试结果
  • 使用Jenkins整合这些过程

要想把持续集成学好,光靠Jenkins这个工具其实还远远不够,我们甚至需要深入到架构设计、开发、测试、运维才能很好的进行。

四、总结

掌握以上的三个方面的自动化测试,即是掌握了自动化全链路的全部实自动化技术,大家在做工作期间,一定要持续学习,持续集成,才能进步,真正掌握测试自动化技术。

在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

2024全网最牛,字节大佬花了一周讲完的自动化测试全套教程,从零开始教你成为年薪百万测开工程师

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/532127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【面试题】redis在工作中的使用场景有哪些?

前言:在实际工作中,Redis作为一种高性能的内存数据库和缓存系统,可以应用于多种场景,同时在面试过程中也经常被问到类似的问题,我们经常会被问的一脸懵逼,那今天我们就来总结一下redis的一些使用场景。 数据…

Linux--进程间的通信-匿名管道

进程间的通信 进程间通信(IPC,Interprocess Communication)是指在不同进程之间传输数据和交换信息的一种机制。它允许多个进程在同一操作系统中同时运行,并实现彼此之间的协作。 进程间通信方式: 管道(Pi…

应该如何进行POC测试?—【DBA从入门到实践】第三期

在数据库选型过程中,为确保能够灵活应对数据规模的不断扩大和处理需求的日益复杂化,企业和技术人员会借助POC测试来评估不同数据库系统的性能。在测试过程中,性能、并发处理能力、存储成本以及高可用性等核心要素通常会成为大家关注的焦点&am…

20240326-1-KNN面试题

KNN面试题 1.简述一下KNN算法的原理 KNN算法利用训练数据集对特征向量空间进行划分。KNN算法的核心思想是在一个含未知样本的空间,可以根据样本最近的k个样本的数据类型来确定未知样本的数据类型。 该算法涉及的3个主要因素是:k值选择,距离度…

dwd_traffic_page_view_inc装载数据很慢

dwd_traffic_page_view_inc dwd_traffic_page_view_inc 装载数据很慢 可能原因 1.加载数据的小文件太多,saprk 加载这些小文件时,需要消耗资源。

ITK 重采样 resample

Itk 重新采样有二多种情况&#xff0c;这里说二种情况 1. 输入参数 &#xff0c;和输出相关数据&#xff0c;输出范围&#xff0c;spacing &#xff1b; typedef itk::Image< float, 3 > itkFloatImageType;typedef itk::ResampleImageFilter < itkFloatImageType, i…

【Gem5】获取构建教程

gem5-tutorial-hpca-2023 1 介绍 1.1 Gem5是什么1.2 Gem5可以用来做什么1.3 获取并构建gem5 gem5-tutorial-hpca-2023 打开网址&#xff1a; github 创建教程代码空空间 “Code” -> “Codespaces” -> “Create Codespace on master” GitHub Codespaces 是一个由…

网络安全加密算法---对称加密

三位同学一组完成数据的对称加密传输。 三位同学分别扮演图中 A、B 和 KDC 三个角色&#xff0c;说明 KA、KB&#xff0c;KAB 和发送的数据Data 的内容。 给出图中 2 和 3 中的数据&#xff0c;以及 Data 加密后的密文。可以完成多轮角色互换的通信 过程。其中一轮过程要求 K…

jni 开发 调用dll 函数的流程

jni 调用dll方法以及dll内调用java方法的流程 编写java类 public class abc{static{System.loadLibrary("abc.dll");}public String getResponse(String ReqStr) {return "ok";}public native void InitDiagObj();public native void CarryabcEntry(Stri…

Vulnhub:DEVCONTAINER: 1

目录 信息收集 arp nmap nikto whatweb WEB 信息收集 dirmap 文件上传 提权 系统信息收集 横向提权 信息泄露 get root 信息收集 arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:50:56:2f:dd…

一例简单的文件夹病毒的分析

概述 这是一个典型的文件夹病毒&#xff0c;使用xp时代的文件夹图标&#xff0c;通过可移动存储介质传播&#xff0c;会向http://fionades.com/ABIUS/setup.exe下载恶意载荷执行。 其病毒母体只是一个加载器&#xff0c;会在内存是解密加载一个反射型的dll&#xff0c;主要的…

python使用uiautomator2操作雷电模拟器9找图

接上篇文章python使用uiautomator2操作雷电模拟器9并遇到解决adb 连接emulator-5554 unauthorized问题-CSDN博客 搭建好uiautomator2后&#xff0c;主要就是使用了。 本文就利用uiautomator2的截屏、模拟点击和aircv的找图功能&#xff0c;实现对指定寻找的图片的位置的点击。…

观察者模式与发布-订阅模式的对决

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

javaWeb网上零食销售系统

1 绪 论 目前&#xff0c;我国的网民数量已经达到7.31亿人&#xff0c;随着互联网购物和互联网支付的普及&#xff0c;使得人类的经济活动进入了一个崭新的时代。淘宝&#xff0c;京东等网络消费平台功能的日益完善&#xff0c;使得人们足不出户就可以得到自己想要的东西。如今…

PCB学习记录---原理图

一、注释 NC&#xff1a;no connect,默认不连接 NF: no fix&#xff0c;默认不安装 0R: 0R的电阻&#xff0c;即可以短路 二、看图流程 1、看标题&#xff0c;了解功能 2、浏览有几个模块 3、找芯片对应的数据手册&#xff0c;了解芯片功能和使用 例如CH224&#xff…

gradio简单搭建——关键词匹配筛选【进一步优化】

gradio简单搭建——关键词匹配筛选[进一步优化] 任务回顾新的想法&#xff1a;无效元素筛选界面搭建数据处理与生成过程交互界面展示 任务回顾 在 apply \text{apply} apply方法的使用一节中&#xff0c;简单提到了任务目标&#xff1a;通过关键词的形式&#xff0c;在文本数据…

Harmony鸿蒙南向驱动开发-DAC

DAC&#xff08;Digital to Analog Converter&#xff09;是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。 DAC模块支持数模转换的开发。它主要用于&#xff1a; 作为过程控制计算机系统的输出通道&#xff0c;与执行器相连&#xff0c;实现对生产过程的自…

【讲解下Fiddler的安装和使用】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

支小蜜校园刷脸支付系统的优势在哪里?

在当今社会&#xff0c;校园欺凌问题日益受到人们的关注。校园欺凌不仅影响学生的身心健康&#xff0c;还可能导致其产生厌学、逃学甚至报复社会的行为。建立校园防欺凌系统对于学校而言&#xff0c;具有极其重要的意义。本文将详细探讨校园防欺凌系统对学校的好处。 一、保障…

3.1 基本形式 机器学习

从本章本节开始就开始正式介绍机器学习的算法了&#xff01;我们首先登场的是---------线性模型。 w可以理解为权重&#xff0c;我们的x就是我们的样本点的各个特征数值&#xff0c;最后输出模型f&#xff08;x&#xff09;。其代表我们把样本点带入&#xff0c;以二分类为例&a…