从功能测试进阶自动化测试,爆肝7天整理出这一份超全学习指南【附网盘资源】

news2025/3/1 13:57:11

因为我最近在分享自动化测试技术,经常被问到:

功能测试想转自动化,请问应该怎么入手?有没有好的资源推荐?

那么,接下来我就结合自己的经历聊一聊我是如何在工作中做自动化测试的。(学习路线和网盘资源放在文末了)

测试新人

我的职业生涯开始和大多数测试人一样,刚开始接触都是纯功能界面测试。那时候在一家电商公司做测试,在这个吃技术的IT行业来说,不断学习是至关重要的。但是我之前做的是最基础的业务工作,随着时间的消磨,让我产生了对自我价值和岗位意义的困惑。

一是感觉自己在浪费时间,另一个就是做了快5年的功能测试,感觉每天过得浑浑噩噩,薪资也从不见涨,岗位也一直得不到提升,身边的许多同事要么升职加薪,要么跳槽去了更好的公司工作,特别觉得自己碌碌无为。

选择Python

不得已开始思考怎么去改变现状。当时最简单的想法是挤出时间去学习各种测试技术和工具,提高自己的价值,也就是核心竞争力。后来被主管偶然发现,给了我一些资源和文档,建议我去研究下自动化测试。

当时来说,我还没有接触过自动化测试,但是通过主管给我的资源,让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度

那时候正是脚本语言开始流行起来,因为当时项目的原因跟Python结缘,开始用Python和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。

分享是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是博客都是很好的反馈机制。当然,也很有成就感。

2017年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础,所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。

掌握自动化工具的原理使用起来才会更加游刃有余,而这也需要你有一定的编程基础的原因。

2018年随着移动App越来越流行,趁着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。

后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了好几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。

自动化测试

当时由于公司的规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界有更多机会,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试的工作。

后来的机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。

这对于我来说是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高

到岗后就是顶住压力,不断的学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等

坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。

所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展自动化测试开发工作。

行业内卷

最近聊到软件测试的行业内卷,企业对人才的要求越来越高,竞争越来越激烈,如何避免被优化?怎么获得更好的工作和机会?不断提升自己的技能栈成了测试老人迫在眉睫的问题。

不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试的相关经验?”

所以还停留在手工功能测试层面,如果不去提升技术,不仅要面临长江后浪推前浪的压力,还要顶住当下行业的内卷之势。不然就只能接受窘境,最后甚至是面临淘汰。更别说升职涨薪了

如何从初级功能测试到高级自动化测试开发,达到技术提升和待遇提高的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。

所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做自动化的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

学习指南

如果你也在往自动化测试开发方向发展

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以扫描文末二维码获取网盘链接。希望会给你带来帮助和方向。

【自动化测试学习路线】

1. 自动化测试必备Python编程内容

2. Web UI 自动化测试基础内容

3. Web UI 自动化测试实战内容

4. APP UI 自动化测试基础内容

5. APP UI 自动化测试实战内容

6. API 接口自动化测试基础内容

7. API 接口自动化测试实战内容

8. CI/CD持续集成专项技术

9. 自动化测试框架实战技术

-事必有法,然后有成- 最后祝大家早日拿到满意的offer ~

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方【小卡片】大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

今天主要是和大家分享我的学习路线和网盘资源,后续我会分享一些面试攻略,有被帮助到的朋友,大家可以点赞支持一下~

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

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

相关文章

盒子拖拽效果,原生js实现

原生js实现拖拽效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevic…

keychron机械键盘使用感受

最近入手了一个Keychron无线机械键盘&#xff0c;跟mac本搭配起来使用&#xff0c;体验非常好。记录下使用的感受。 包装 包装很结实&#xff0c;拆开快递盒后&#xff0c;快递盒里有充气袋包裹着键盘盒&#xff0c;键盘盒塑料薄膜封装&#xff0c;没有一点的磕碰。 拆封 不仅外…

运动蓝牙耳机什么牌子好,比较好的运动蓝牙耳机推荐

现在市面上的运动蓝牙耳机越来越多&#xff0c;在选择耳机的时候应该如何入手呢&#xff1f;最重要的是需要按照自己的需求来选择&#xff0c;但在耳机的配置上不能忽视的是耳机的防水等级&#xff0c;运动耳机对防水等级的要求更高&#xff0c;这样能够更好地防御汗水浸湿耳机…

【汇编】四、内存访问(一只 Assember 的成长史)

嗨~你好呀&#xff01; 我是一名初二学生&#xff0c;热爱计算机&#xff0c;码龄两年。最近开始学习汇编&#xff0c;希望通过 Blog 的形式记录下自己的学习过程&#xff0c;也和更多人分享。 上篇系列文章链接&#xff1a;【汇编】三、寄存器&#xff08;一只 Assember 的成…

mgre实验

实验思路 1、首先根据拓扑结构合理分配IP地址&#xff0c;并对各个路由器的IP地址和R5环回接口的IP地址进行配置。 2、让私网中的边界路由器对ISP路由器做缺省路由。 3、根据实验要求&#xff0c;对需要配置不同类型认证的路由器进行认证配置&#xff0c;和需要不同封装的协议…

Git的基本使用以及上传到GitHub

GIT的基本使用一、安装并配置GIT二、Git的基本操作三、使用GIT上传至GitHub四、Git分支一、安装并配置GIT 1.安装GIT连接 GIT安装包链接 2.打开GIT 鼠标右键点击Git Bash Here 安装完 Git 之后&#xff0c;第一件事就是设置自己的用户名和邮件地址。因为通过 Git 对项目进行…

Spark-序列化、依赖关系、持久化

序列化 闭包检查 序列化方法和属性 依赖关系 RDD 血缘关系 RDD 窄依赖 RDD 宽依赖 RDD 任务划分 RDD 持久化 RDD Cache 缓存 RDD CheckPoint 检查点 缓存和检查点区别 序列化 闭包检查 从计算的角度, 算子以外的代码都是在 Driver 端执行, 算子里面的代码都是在 E…

Lesson 9.3 集成算法的参数空间与网格优化和使用网格搜索在随机森林上进行调参

文章目录一、集成算法的参数空间与网格优化1. 学习曲线2. 决策树对象 Tree二、使用网格搜索在随机森林上进行调参1. 建立 benchmark2. 创建参数空间3. 实例化用于搜索的评估器、交叉验证评估器与网格搜索评估器4. 训练网格搜索评估器5. 查看结果在开始学习之前&#xff0c;先导…

拆解DKD loss (建议读完论文哈)

论文链接&#xff1a;https://arxiv.org/abs/2203.08679def dkd_loss(logits_student, logits_teacher, target, alpha, beta, temperature):gt_mask _get_gt_mask(logits_student, target) # 获取掩码other_mask _get_other_mask(logits_student, target)pred_student …

自动化测试——数据驱动测试

数据驱动测试 在实际的测试过程中&#xff0c;我们会发现好几组用例都是相同的操作步骤&#xff0c;只是测试数据的不同&#xff0c;而我们往往需要编写多次用例来进行测试&#xff0c;此时我们可以利用数据驱动测试来简化该种操作。 参数化&#xff1a; 输入数据的不同从而产…

一篇文章教你彻底理解ThreadLocal

文章目录ThreadLocal是什么&#xff1f;ThreadLocal如何使用&#xff1f;特别注意ThreadLocal数据存储存取ThreadLocal原理解析Thread.threadLocals原理Thread.inheritableThreadLocals原理ThreadLocal内存泄漏内存泄漏原因对内存泄漏的补救用完就要删除&#xff08;最终解决&a…

统一流程平台----执行流应用

在flowable平台中&#xff0c;执行流&#xff08;Execution&#xff09;完成了流程实例/执行分支/任务/子流程之间关系的建立。flowable整个体系以执行流为基础&#xff0c;完成上下游数据的关联&#xff0c;让bpmn图纸能按照约定进行流转&#xff0c;形成了第一层概念。1.执行…

vue3实战项目安装各种爆时候报错问题和解决

文章目录1.安装:npm install -g sass报错问题1.npm install失败,报错如下引入使用echarts 相关问题1. vue3中npm install echarts --save报错但是这个地方有报提示,问题待解决...........1.安装:npm install -g sass 注释: 多种安装方法 2.vue中局部引用,也可以设置全局css文件…

C++:vector和list的迭代器区别和常见迭代器失效问题

迭代器常见问题的汇总vector迭代器和list迭代器的使用vector迭代器list迭代器vector迭代器失效问题list迭代器失效问题vector和list的区别vector迭代器和list迭代器的使用 学习C&#xff0c;使用迭代器和了解迭代器失效的原因是每个初学者都需要掌握的&#xff0c;接下来我们就…

C++代码格式化-clang-format

文章目录前言c|vscode|clang-formatc|vs|clang-formatc|.clang-format其他附录Visual Studio格式在vs和vscode中不同无法从繁体切换到简体我的vs code配置前言 一个项目中的代码&#xff0c;可能来自不同的地方。不管是多人合作&#xff0c;还是ctrl-c/ctrl-v&#xff0c;都有…

剑指offer JZ6 从尾到头打印链表

Java 剑指offer JZ6 从尾到头打印链表 文章目录Java 剑指offer JZ6 从尾到头打印链表一、题目描述二、递归写法三、栈方法使用Java的递归和栈解决从尾到头打印链表的问题 一、题目描述 输入一个链表的头节点&#xff0c;按链表从尾到头的顺序返回每个节点的值&#xff08;用数组…

spring cloud @RefreshScope 刷新机制

在学习 nacos 的配置修改发现用到了 RefreshScope 注解&#xff0c;将 spring boot 的日志调整如下logging:level:com:alibaba:cloud: debugorg:springframework:context: debugcloud: debug调用 nacos 的配置修改&#xff0c;看到如下信息2023-03-10 15:48:15.332 INFO [com.a…

三天吃透MySQL面试八股文

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

MGRE综合实验

实验拓扑及相关要求&#xff1a; IP地址配置&#xff1a; ip规划如该拓扑上可视 缺省路由&#xff1a; [r1]ip route-static 0.0.0.0 0 15.0.0.2 [r2]ip route-static 0.0.0.0 0 25.0.0.2 [r3]ip route-static 0.0.0.0 0 35.0.0.2 [r4]ip route-static 0.0.0.0 0 45.0.0.2 公…

Java的二叉树、红黑树、B+树

数组和链表是常用的数据结构&#xff0c;数组虽然查找快&#xff08;有序数组可以通过二分法查找&#xff09;&#xff0c;但是插入和删除是比较慢的&#xff1b;而链表&#xff0c;插入和删除很快&#xff08;只需要改变一些引用值&#xff09;&#xff0c;但是查找就很慢&…