100天涨薪4k,从功能测试到自动化测试,我整理的3000字超全学习指南

news/2024/4/27 0:36:20/文章来源:https://blog.csdn.net/IT_LanTian/article/details/130286664

去年6月份,由于经济压力让我下定决心进阶自动化测试,已经24的我做了3年功能测试,坐标广州薪资定格在8k,可能是生活过的太安逸,觉得8000的工资也够了,但是生活总是多变的,女朋友的突然怀孕,让我肩膀上的担子重了很多,但是我的工资交出房租水电这些好像不够孕期的经济支出,我唯一能做的的就是提升自己的工资,在软件测试行业这些年,对行业前景还是有一定了解的,最后选择了进阶自动化测试工程师,努力终究是有回报的,在前几天跳槽成功工资到达了一个新高12k,虽然比不上一些社会精英,但是我也满足了,经过此次事见之后,我也相信我的工资绝不会止步于此,废话不多话直接分享我的学习方法,希望对进阶自动化测试的朋给予一点帮助...

本篇文章我从3个方面来介绍
一、自动化测试是什么
二、自动化测试相对于功能测试好在哪里
三、自动化测试怎么学

一、自动化测试是什么

一般认为的是接口自动化测试、WebUI自动化测试、App自动化测试等测试方案都被称为自动化。事实上,自动化测试是相对于手动的。使用代码或第三方工具将复杂的测试工作从手动转换为机器自动执行,可以统称为自动化测试。除了上面提到的自动化测试三个方面,当然还包括日志过滤、日志回放、界面监控、服务监控等,根据具体的业务需求通过代码来解放人力。

二、自动化测试相对于功能测试好在哪里

1、工资毋庸置疑,自动化测试的工资相比功能测试高出太多(钱才是快乐源泉)

2、对回归测试更方便:
进行回归测试,要测试系统的所有功能模块,周期较长的回归测试工作量大,测试比较频繁,适合自动化测试。由于测试的脚本和用例都是设计好的,测试期望的结果也可以预料,将回归测试自动化可以极大的提高效率缩短回归时间。

3、模拟真实情况:
可以执行手工测试无法执行的测试,比如同时并发上千用户测试系统的负载量,测试人员无法达到测试目的,而使用自动化测试工具可以模拟多用户的并发过程。

4、有效的利用人力物力资源:
频繁地机器化的动作可以用自动化测试执行,减少错误的发生,更好的利用人力资源。

5、测试的重复利用:
由于自动测试通常使用的是自动化脚本技术,这样就可以只需要做较少的甚至是不修改就可以实现在不同的测试过程中使用相同的用例。

6、减少人为的错误:
自动化测试是机器完成,不存在执行过程中人为的疏忽和错误,测试设计完全决定了测试的质量,可以降低减少人为造成的错误。

三、自动化测试怎么学

自动化构成:

自动化测试在当前市场上应用非常广泛,主流有接口自动化测试UI自动化测试。在此基础上,加上持续集成就能实现全自动化测试。接下来我将按照自动化的这三个主要构成来给大家详细介绍自动化(文末作者学习笔记分享)

一、接口自动化测试
二、UI自动化测试
三、持续集成

一、接口自动化测试

目前市场上大部分项目,都是前后端分离的项目,由此产生了大量的接口。而接口自动化测试,主要是对接口进行测试。

那么,咱们应该怎么进行接口自动化测试呢?这里这几个知识点和工具,必须掌握。

1、HTTP和HTTPS协议

在主流程的接口测试中,又有大量接口是基于HTTP协议实现,数据安全用HTTPS协议进行保障,所以HTTP和HTTPS协议必须掌握。

2、接口文档

在实际工作中,接口的信息的载体除了代码,那就是接口文档了(开发人员提供),了解接口文档的结构、内容和规范可以帮助我们深度参与接口测试以及接口自动化测试。

3、接口测试工具Jmeter和Postman

meter是近几年兴起的接口测试工具,它最大的特点就是免费开源,容易学习。

Jmeter官网:https://jmeter.apache.org/index.html

Postman工具也很强大,在实际的项目应用中,几乎每个开发都会使用Postman来调试接口请求。

Postman主界面

官网文档

4、Mock测试

在自动化测试中,不是所有的功能都适合自动化测试,对于一些难以处理的测试点,我们不得不使用Mock技术来模拟。

  • 登录和注册接口中,密码的Mock
  • Mock支付环境
  • Mock支付密码
  • Mock验证码(图片验证码、滑块验证码、人脸识别等、短信验证码等等)

5、总结

掌握这几个知识点后,对于HTTP协议的接口自动化测试,完全可以掌握和应用;甚至还可以进行小规模的接口性能测试。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙,可以免费学习!划重点!开源的!!!
qq群号:110685036

 

二、UI自动化测试

UI自动化测试的成本比接口测试要高,主要原因不是技术实现难度高,而是因为UI是对接用户的终端界面,它是调整最频繁,改动最剧烈的部分,所以维护成本高。

那么我们不需要进行UI自动化测试了吗?恰恰相反,对一些大型项目,其功能是处于不断地迭代地,虽然界面在调整,但是由于项目周期长,在开发和测试过程中,需要频繁使用自动化测试的脚本进行回归测试,可以提高自动化测试的利用率,提高工作效率,降低工作成本。

而且,UI自动化测试中,有一种很关键的思想,叫做“关键字驱动”测试,专门用来解决UI自动化测试脚本开发和维护的问题。

那么怎么学习UI自动化测试呢?

在这里,我们可以先学习Web自动化测试,再学习App自动化测试。

1 、Web自动化测试

这里推荐Selenium工具和Robot framework

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

如下图所示2019年最受欢迎自动化测试工具:(Selenium高居榜首)

1.1 Selenium

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

优点

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

缺点

  • 不能直接生成测试报告
  • 不能识别动态图片

掌握Selenium后,那么就掌握了主流的Web自动化测试。

学习Selenium的方法

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

1.2 Robot framework

Robot Framework是python语言编写的功能自动化测试工具。具有良好的扩展性,支持关键字驱动,支持同时测试多种类型的客户端或者接口,还可以进行分布式测试。

优点

  • 关键字驱动测试
  • 可以重复利用
  • 易扩展
  • 支持HTML测试报告
  • 有庞大的测试库提供支撑(支持web、手机、windows客户端、数据库、HTTP测试等)

缺点

  • 界面操作共性问题:用例庞大时会很卡
  • 有一些BUG,例如导入测试库时会卡死

学会了Robot Framework的使用,那么就掌握了关键字驱动技术。

关键字驱动:

学习Robotframework的方法

1.3 总结

Selenium和Robot framekwork 两者如果都能够掌握,那么无论是主流的Web自动化测试,还是其他UI的自动化测试,都能够有自己的心得,并且在市场中占有一席地位。

2 App自动化测试

2.1 应该选择哪款工具?

我们先看一组数据(主流):

支持的功能数据(TesterHome得到)

由上面两个图,可以发现,Appium无论是在市场利用率,还是在功能上,都比其他工具要强。

而且,Appium不仅支持安卓还支持iOS,所以在这里,我们应该选择学习Appium最能满足市场的需要。

2.2 Appium学习方法

官网:http://appium.io/

中文学习手册::https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

三、持续集成

1、什么叫持续集成?

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

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

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

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

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

3、如何学习Jenkins

  • 理解CI和CD的概念

    CI:持续集成(把多个开发编写的代码,集成在代码仓库,自动进行单元测试,并返回结果)
    CD:持续交付(把集成的代码,自动的构建、部署、测试、发布,并返回各个阶段的结果)
  • 要实现这些过程,我们需要拆分学习
    • 集成代码
    • 单元测试
    • 构建代码
    • 部署代码
    • 测试代码
    • 发布代码
    • 发送测试结果
    • 使用Jenkins整合这些过程

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

关于持续集成的学习内容没有那么的全面,需要的朋友进群自提哈

【软件测试学习交流群】每天学习一点,今后必成大神

四、总结

其实自动化测试是一个非常广泛的技术,要想深入精通到更行各业,需要至少5年的钻研才能精通,熟练到一定级别,甚至做上技术总监也不是没有可能。

对于测试来讲,测试的工作其实相对是轻松,技术难度也不是特别高,所以大家在做测试期间,一定要持续学习,持续集成,才能进步,实现自我的价值。

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

Bsah shell的操作环境

文章目录 Bsah shell的操作环境路径与命令查找顺序使用案例 bash的登录与欢迎信息:/etc/issue、/etc/motdbash的环境配置文件如下login与non-login shell/etc/profile(login shell 才会读)~/.bash_profile(login shell 才会读)source:读入环境配置文件的…

上新了丨高性价比5G智能模组,美格智能SRM700正式发布

伴随着5G、AI、云计算等技术与物联网技术的融合发展,一个万物智联的智能世界正在到来。5G已经成为数字经济重要的基础设施,千行百业的用户都需要依靠高速率、大带宽、低延时的5G技术来构建数字化转型能力。 作为全球领先的无线通信模组及解决方案提供商…

51单片机(一)软硬件环境和单片机介绍

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其实STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

HDCTF 2023 复盘

web yamiyami 当时考虑直接读的/proc/self/environ 读到flag是not_flag 就没考虑过/proc/1/environ了 然后不知道py3URL二次编码的特性,读不到源码,无从下手 做flask算pin码的题做多了,还以为pid是1的就是self,难顶 上面那种是非预期 预期是yaml反序列化 先读源码 /read?u…

银行数字化转型导师坚鹏:宏观经济趋势与资本行业机遇和挑战

2023年宏观经济趋势与资本行业机遇和挑战 课程背景: 很多学员存在以下问题: 不知道我国目前的宏观经济形势? 不清楚宏观环境对我国经济的影响? 不知道资本行业未来主要发展趋势? 课程特色: 精彩解…

小案例CSS

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthde…

QMS-云质说质量 - 4 为什么有的质量人不属于质量部?

想管理好质量&#xff0c;首先就要把质量人员放在合适的组织架构中。 对人进行管理&#xff0c;基本原则是&#xff1a;尽量让员工的利益与企业的利益保持同步&#xff0c;虽然无法做到完全重合&#xff0c;但出发点肯定要战略一致。 俗话说“屁股决定脑袋”&#xff0c;因此&a…

IS210AEBIH3BED包含逻辑集成电路、存储器集成电路、专用集成电路

IS210AEBIH3BED包含逻辑集成电路、存储器集成电路、专用集成电路 什么是集成电路测试仪   集成电路测试仪是对集成电路进行测试的专用仪器设备。集成电路测试是保证集成电路性能、质量的关键手段之一。集成电路测试技术是发展集成电路产业的三大支撑技术之一&#xff0c;因此…

ChatGPT课程送账号啦,让你成为新生代AI程序员

ChatGPT能帮助程序员 解决哪些具体问题&#xff1f; 程序员在日常工作中可能会遇到各种各样的问题&#xff0c;如语法错误、逻辑问题、性能问题等等。 不同业务场景的问题&#xff0c;都可以利用ChatGPT获取各自场景下的知识&#xff0c;并使用ChatGPT提供的代码示例和问题解…

Kerberos设计和落地长常识

Kerberos 处理三类安全对象 票证 kerberos票证授予服务给每个客户发一张标记&#xff0c;该标记发送给一个特殊的服务器&#xff0c;证实kerberos最近已经认证了发送者&#xff0c;票证包括过期时间和新生成的会话密钥供客户和服务器使用。 认证 由客户构造的一个标记&#xff…

震惊!为了4680锂电池溯源,竟然做出这种事情

电池溯源&#xff0c;一直都是国家尤为重视的话题。 中国电子技术标准化研究院更是一再强调了&#xff1a;锂电编码标准编制和溯源平台初步建设方案。参会代表围绕锂电编码溯源体系建设有关问题开展了研讨&#xff0c;表示依托行业通用编码标准&#xff0c;建立完善的锂电全生…

OSCP-Sirol(docker容器到宿主机)

目录 扫描 WEB 提权 扫描 sudo nmap 192.168.64.54 -p- -sS -sVPORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u7 (protocol 2.0) 53/tcp closed domain 80/tcp open http Apache httpd 2.4.25 ((Debian)) 3306…

leetcode重点题目分类别记录(四)图论深入

文章目录 入度出度最大网络秩可以到达所有点的最少点数目 并查集省份数量等式方程的可满足性按字典序排列最小的等效字符串以图判树 二分图判断二分图 深度优先搜索封闭岛屿数量太平洋大西洋水流问题 广度优先搜索树上逃逸最短路径多源最短路径 拓扑排序DFS解决拓扑排序BFS解决…

【C++关联容器】set的成员函数

目录 set 1. 构造、析构和赋值运算符重载 1.1 构造函数 1.2 析构函数 1.3 赋值运算符重载 2. 迭代器 3. 容量 4. 修改器 5. 观察者 6. 操作 7. 分配器 set set是按照特定顺序存储唯一元素的容器。 在一个set中&#xff0c;一个元素的值也是它的标识&#xff08;值…

mybatis中大数据量foreach插入效率对比

1.controller代码 RequestMapping("/testInsert")public String testInsert(Integer sum){testService.testInsert(sum);return "发送成功";}2.service代码 Overridepublic void testInsert(Integer sum) {long start System.currentTimeMillis();List<…

修炼汇编语言第一章:汇编基础知识概述

目录 前言 一、汇编语言的组成 二&#xff1a;存储器 三&#xff1a;指令和数据 四&#xff1a;存储单元 五&#xff1a;CPU对存储器的读写 地址总线 控制总线 数据总线 前言 汇编语言是数据结构&#xff0c;操作系统&#xff0c;微机原理等重要课程的基础&#xff0…

QT中TCP的学习

文章目录 qt中TCP的实现 qt中TCP的实现 学习视频 QT中可以通过TCP协议让服务器和客户端之间行通信。服务器和客户端的具体流程 下方的信号都是系统提供的&#xff0c;我们只需要写相应的槽函数 A、服务器&#xff1a; 创建QTcpServer对象启动服务器&#xff08;监听&…

【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)

简单不先于复杂&#xff0c;而是在复杂之后。 目录 1. 字符指针 面试题 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名 VS 数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二…

后端大厂面试总结大全六

目录&#xff1a; 1、Transactional注解控制事务有哪些不生效的场景2、MySQL的优化 1、Transactional注解控制事务有哪些不生效的场景 数据库引擎不支持事务数据源没有配置事务管理器没有被spring管理方法不是public的同一个类中方法调用&#xff0c;导致Transactional失效 举…

操作系统原理 —— 进程状态切换具体做了哪些事情?(八)

什么是进程控制&#xff1f; 进程控制的主要功能是&#xff1a;对系统中的所有进程实施有效的管理&#xff0c;它具有创建新进程、撤销已有进程、实现进程状态转换等功能。 简单来说&#xff0c;就是进程控制就是要现实进程状态的转换。 那如何实现进程的控制呢&#xff1f;…