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

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

🍅 关注公众号:互联网杂货铺,回复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全网最牛,字节大佬花了一周讲完的自动化测试全套教程,从零开始教你成为年薪百万测开工程师

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust zip异步压缩与解压

在使用actix-web框架的时候,如果使用zip解压任务将会占用一个工作线程,因为zip库是同步阻塞的,想用异步非阻塞需要用另一个库,下面列出同步解压,跟异步解压的两个方法实现,异步解压不会占用工作线程。注意&…

C++ 线程库(thread)与锁(mutex)

一.线程库(thread) 1.1 线程类的简单介绍 thread类文档介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如windows和linux下各有自己的接口,这使得代码的可移植性比较差。C11中最重要的特性就是对线程进行支持了&#xff…

操作系统的基础知识:操作系统的特征:并发,共享,虚拟,异步

操作系统的特性: 1.并发 并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替注意:并行:指两个或多个事件在同一时刻同时发生。 操作系统的并发性指计算机系统中“同时”运行着多个程序,这…

graphicLayer.startDraw({开启连续绘制isContinued之后,无法获取连续标绘的坐标数据

摘要:graphicLayer.startDraw({开启连续绘制isContinued之后,无法获取连续标绘的坐标数据的解决方案 问题前景: graphicLayer.startDraw({开启连续绘制isContinued之后,.then()方法只走一次,无法获取连续标绘的所有坐…

Qt中显示hex数据的控件

效果类似QTextEdit,但是显示十六进制的数据,比如用于显示抓取串口或者bin文件的数据等等 chunks.h #ifndef CHUNKS_H #define CHUNKS_H/** \cond docNever *//*! The Chunks class is the storage backend for QHexEdit.** When QHexEdit loads data, C…

Java中的循环语句

目录 第一章、Java中的for循环介绍for循环for-each/增强for循环嵌套for循环 第一章、遍历List集合的几种方式简单的for循环增强型for循环Iterator迭代器ListIterator列表迭代器while循环Iterable.forEach()方法Stream.forEach()方法 第一章、Java中的for循环介绍 for循环 ①普…

【Linux】shell 脚本基础使用

在终端中输入命令可以完成一些常用的操作,但是我们都是一条一条输入命令,比较麻烦,为了解决这个问题,就会涉及到 shell 脚本,它可以将很多条命令放到一个文件里面,然后直接运行这个文件即可。 shell 脚本类…

【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

1. 欢迎大家订阅和关注,3GPP通信协议精讲(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待! 目录 1. 对于主要的LTE核心网接口,给出运行在该接口上数据的协议栈,并给出协议特征 2. 通常…

Centos7使用docker安装Jenkins(含pipeline脚本语句)

一、下载Jenkins docker pull jenkins/jenkins:lts 二、启动Jenkins docker run \-u root \--rm \-d \-p 8081:8080 \-p 50000:50000 \-v /root/docker/jenkins/var/jenkins_home:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \-v /usr/bin/docker:/usr…

番外篇 | YOLOv8改进之引入YOLOv9的ADown模块 | 替换YOLOv8卷积

前言:Hello大家好,我是小哥谈。YOLOv9是一种目标检测算法,而ADown模块是YOLOv9中的一个重要组成部分。ADown模块主要用于特征提取和下采样操作,以便在后续的检测任务中更好地捕捉目标的特征。具体来说,ADown模块是YOLOv9中的一个卷积块,由一系列卷积层和池化层组成。它的…

spring boot —— Spring-Cloud-Zuul(网关服务getway),kafka笔记

一、 引入zuul依赖: org.springframework.cloud spring-cloud-starter-zuul 二、创建应用主类。使用EnableZuulProxy注解开启zuul的API网关服务功能: EnableZuulProxy SpringCloudApplication public class Application { public static void mai…

FPN(Feature Pyramid Network)详解

文章涉及个人理解部分,可能有不准确的地方,敬请指正 0. 概述 FPN,全名Feature Pyramid Networks,中文称为特征金字塔网络。它是2017年cvpr上提出的一种网络,主要解决的是目标检测中的多尺度问题。FPN通过简单的网络连…

第十四届蓝桥杯省赛真题-幸运数

代码及解析: #include <iostream> using namespace std;bool check(int x) {int tmpx,len0;while(tmp){len;tmp/10;}//算位数的方法 if(len%21)return 0;//直接retrun 0 int tlen/2;int ans10,ans20;while(t--){ans1x%10;//加每一位x/10; }while(x){ans2x%10;x/10;}if(…

AOF文件重写

1.2.3.AOF文件重写 因为是记录命令&#xff0c;AOF文件会比RDB文件大的多。而且AOF会记录对同一个key的多次写操作&#xff0c;但只有最后一次写操作才有意义。通过执行bgrewriteaof命令&#xff0c;可以让AOF文件执行重写功能&#xff0c;用最少的命令达到相同效果。 如图&am…

类和对象(一)

面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间的交互完成。 类的…

LeetCode 239. 滑动窗口最大值

滑动窗口最大值 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3,…

双碳目标下太阳辐射预报模式【WRF-SOLAR】及改进技术在气象、农林、电力等相关领域中的应用

太阳能是一种清洁能源&#xff0c;合理有效开发太阳能资源对减少污染、保护环境以及应对气候变化和能源安全具有非常重要的实际意义&#xff0c;为了实现能源和环境的可持续发展&#xff0c;近年来世界各国都高度重视太阳能资源的开发利用&#xff1b;另外太阳辐射的光谱成分、…

2024字节跳动春季招聘必备:Spring Transaction面试题全攻略,99%的候选人都推荐收藏!

随着微服务架构和分布式系统的广泛应用&#xff0c;事务管理作为确保数据一致性和系统稳定性的关键技术&#xff0c;其重要性日益凸显。Spring Framework作为企业级应用开发的首选框架&#xff0c;其提供的事务管理功能强大而灵活&#xff0c;能够满足现代应用开发的复杂需求。…

C++继承之private继承

1 概述 通过继承机制&#xff0c;可以利用已有的对象类型来定义新对象类型。所定义的新对象类型不仅仅拥有新定义的成员&#xff0c;而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类&#xff0c;又称为父类。由已存在的类派生出的新类称为派生类&#xff0c;又称…

高可用系列二:绝对核心——服务请求幂等

服务请求幂等&#xff0c;简单地解释可以为同一次请求&#xff0c;因为各种原因重试时得到的结果一致或者可被识别&#xff0c;这里的结果一致指的是对于平台数据的变更影响&#xff0c;比如重复提交同一订单&#xff0c;会不会生成重复订单。从上一篇&#xff08;高可用系列一…