5年测试在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...
毕业3年了,学的是环境工程专业,毕业后零基础转行做软件测试。
已近从事测试行业8年了,自己也从事过2年的手工测试,从事期间越来越觉得如果一直在手工测试的道路上前进,并不会有很大的发展,所以通过自己的努力,早几年已经成功的转入自动化测试的方向,又过去了这么久,现在就职于美团测试开发框架组,搭建过美团platuo测试框架,thrift测试框架,自动化测试平台,熟悉python3,java,vue,在多家公司从0到1搭建过自动化测试框架,保障过亿级流量服务的质量工作。
虽然这不是什么值得说道的事情,但我想,自己的经历应该能为那些想转行做软件测试,却又不知该如何下手的朋友们提供一点微不足道的经验,这也是我为什么要撰写这篇文章的原因。
一、手工测试的工作日常
手工测试主要是通过手工操作的方式来测试功能是否符合要求,存在许多主观因素,有可能因为测试人员的失误导致功能点的漏测或者由于测试人员的主观因素给开发人员提一些并不是bug的bug,浪费大家的时间,且大多数是重复性工作,容易产生厌烦心理。
二、自动化测试的工作日常
自动化测试主要是使用工具,利用代码自动的执行测试用例。这种方法主观因素较少,对就是对,错就是错,并不会因为测试人员主观的因素影响测试结果。而且除去编写自动化脚本的时间,进行自动化测试的时候,效率高,节省了测试人员的时间。而且在做版本的回归测试的时候,自动化测试占明显优势。而且自动化测试工程师的工资真的比功能测试工程师的薪资强太多了

三、为什么要向自动化测试方向发展?
手工测试可替代性太强。只要你会分析需求,只要会编写测试用例,就可以进行手工测试,而且3年的手工测试和5年的手工测试并没有什么大的区别,企业在招聘的时候更倾向于3年的应聘者,因为3年和5年的手工测试,工作能力差不多,3年的手工测试该会的都已经会了,并且3年的应聘者的期望薪资要低于5年的应聘者,所以手工测试的工作时间越长反而越没有竞争优势。
反观自动化测试,需要有一定的代码基础和逻辑思维能力,及随时处理脚本编写过程中的各种问题的能力,这个随着工作经验的增长,各种能力也会随之增长,所以说经验越丰富的自动化测试工程师越吃香。
四、进阶自动化,需要做什么?
如果我们想向自动化测试方向发展,需要做什么?
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了下面的《自动化测试工程师发展规划路线》,希望会给你带来帮助和方向,也整理了一些自动化测试资源,说到这大家别急哈哈,接着往下看,为了不影响大家阅读文章,放在了文末
【自动化测试提升路线】
1. 自动化测试必备Python编程内容

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

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

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

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

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

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

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

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

上面就是我整理出来的一份自动化测试工程师技术路径图。希望大家能在这个成长过程中收益良多。全方位提升测试技术,建立一套属于自己的技术体系。帮助大家不断学习和优化技术栈,跟进先进和主流的测试技术,给到大家带来的不仅仅是技术和薪资的提升,更多的是改变测试人在IT技术领域的地位和心态,拔高测试行业的技术深度。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
相关文章:
5年测试在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...
毕业3年了,学的是环境工程专业,毕业后零基础转行做软件测试。 已近从事测试行业8年了,自己也从事过2年的手工测试,从事期间越来越觉得如果一直在手工测试的道路上前进,并不会有很大的发展,所以通过自己的努…...
【Python数据分析】数据分析之numpy基础
实验环境:建立在Python3的基础之上 numpy提供了一种数据类型,提供了数据分析的运算基础,安装方式 pip install numpy导入numpy到python项目 import numpy as np本文以案例的方式展示numpy的基本语法,没有介绍语法的细枝末节&am…...
Swift 如何从图片数据(Data)检测原图片类型?
功能需求 如果我们之前把图片对应的数据(Data)保持在内存或数据库中,那么怎么从 Data 对象检测出原来图片的类型呢? 如上图所示:我们将 11 张不同类型的图片转换为 Data 数据,然后从 Data 对象正确检测出了原图片类型。 目前,我们的代码可以检测出 jpeg(jpg), tiff,…...
【ES6】 JavaScript 中的Object.assign
Object.assign() 是 JavaScript 中的一个方法,它用于复制源对象的所有可枚举属性到目标对象。该方法会返回目标对象。 这是其基本用法: let target Object.assign({}, source);在这个例子中,source 对象的所有可枚举属性都被复制到了 targ…...
Redis缓存和持久化
目录 Redis缓存 什么是缓存 缓存更新策略编辑 业务场景 缓存穿透 常见的解决方案 缓存雪崩 解决方案 缓存击穿 解决方案 Redis持久化 RDB持久化 执行时机 RDB方式bgsave的基本流程 AOF持久化 RDB和AOF的对比编辑 Redis主从 数据同步原理 总结 Redis缓存 …...
OpenCV(六):多通道分离与合并
目录 1.多通道分离split() 2.多通道合并merge() 3.Android JNI demo 1.多通道分离split() void cv::split ( InputArray m, OutputArrayOfArrays mv ) m:待分离的多通道图像。 mv:分离后的单通道图像,为向量vector形式。 2.多通道合并merge…...
Sql单行数据查询为多行
数据量小可以,数据量大时间太久 select distinct regexp_substr("fixed_option", [^,],1,level) c1 from "MATERIAL"."BasicInfo_Dishes_Summary" A where "fixed_option" is not NULL AND "dish_name"地三鲜…...
网络协议分析-http/https/tcp/udp
文章目录 TCP三次握手/TCP三次挥手TCP三次握手TCP四次挥手完整报文 实例代码HttpSampleClientHttpSampleServerHttpsSampleClientHttpsSampleServerTcpSampleClientTcpSampleServerUdpSampleClientUdpSampleSever 资料 TCP三次握手/TCP三次挥手 “三次握手”的目的是“为了防止…...
基于aarch64分析kernel源码 四:printk 内核打印
一、参考 Message logging with printk — The Linux Kernel documentation 如何获得正确的printk格式占位符 — The Linux Kernel documentation 使用printk记录消息 — The Linux Kernel documentation printk 内核打印 – 人人都懂物联网 (getiot.tech) 内核printk原理…...
机器人中的数值优化(六)—— 线搜索最速下降法
本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,…...
postman调试注意事项
Postman是一个强大的API调试工具,它可以帮助开发人员测试和调试API端点,以确保它们按预期工作。在使用Postman进行接口调试时,以下是一些注意事项和可能出现的问题,以及如何解决这些问题。 确保请求参数正确 在测试API接口时&am…...
【C#】泛型
【C#】泛型 泛型是什么 泛型是将类型作为参数传递给类、结构、接口和方法,这些参数相当于类型占位符。当我们定义类或方法时使用占位符代替变量类型,真正使用时再具体指定数据类型,以此来达到代码重用目的。 泛型特点 提高代码重用性一定…...
CLIP:连接文本-图像
Contrastive Language-Image Pre-Training CLIP的主要目标是通过对比学习,学习匹配图像和文本。CLIP最主要的作用:可以将文本和图像表征映射到同一个表示空间 这是通过训练模型来预测哪个图像属于给定的文本,反之亦然。在训练过程中&#…...
MFC网络编程简单例程
目录 一、关于网络的部分概念1 URL(网址)及URL的解析2 URL的解析3 域名及域名解析3 IP及子网掩码4 什么是Web服务器5 HTTP的基本概念6 Socket库概念7 协议栈8 Socket库收发数据基本步骤 二、基于TCP的网络应用程序三、基于UDP的网络应用程序 一、关于网络的部分概念 1 URL(网址…...
云原生简介 (Cloud Native)
云原生(cloud Native) 云原生的概念诞生于10年前,netflix 在 AWS 上的一次演讲中。有趣的是当初没有明确的定义,现在也没有明确的定义,对不同的人来说,有不同的概念。 概念 云原生:是在云上构…...
【SpringBoot系列】 测试框架之@SpringBootTest的使用
SpringBootTest的详细介绍 SpringBootTest 是 Spring Boot 测试框架中的注解,用于标识一个测试类,以指示该类是一个 Spring Boot 应用程序的测试类。它允许你在测试环境中加载整个 Spring Boot 应用程序上下文,测试应用程序的各种组件、服务…...
【数据结构与算法篇】手撕八大排序算法之交换排序
👻内容专栏: 《数据结构与算法篇》 🐨本文概括:常见交换排序包括冒泡排序与快速排序,本篇讲述冒泡排序与快速排序的思想及实现、复杂度分析。 🐼本文作者: 花 蝶 🐸发布时间&#…...
ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合
GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的…...
uniapp 项目实践总结(一)uniapp 框架知识总结
导语:最近开发了一个基于 uniapp 框架的项目,有一些感触和体会,所以想记录以下一些技术和经验,在这里做一个系列总结,算是对自己做一个交代吧。 目录 简介全局文件全局组件常用 API条件编译插件开发 简介 uniapp 是…...
Oracle查看与修改隐藏参数
Oracle查看与修改隐藏参数 查看隐藏参数修改隐藏参数 查看隐藏参数 查看数据库中所有的隐藏参数: SELECT a.ksppinm "Parameter", b.KSPPSTDF "Default Value",b.ksppstvl "Session Value", c.ksppstvl "Instance Value"…...
AI技术原理--AI Token是什么:10分钟搞懂大模型基础单位
当你在ChatGPT里输入"你好,今天天气怎么样"的时候,你以为它真的读懂你的话吗? 并不是。 在你看不到的地方,有一个叫"分词器"的程序,正在把你的文字拆解成一个一个叫"Token"的单元。 …...
OpCore-Simplify:技术赋能Hackintosh的开源工具革命
OpCore-Simplify:技术赋能Hackintosh的开源工具革命 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款革命性的开源工…...
数据仓库建模:事实表类型详解与选型实战指南
数据仓库建模:事实表类型详解与选型实战指南一、引言二、定义:什么是数据仓库事实表?三、数据仓库中三大核心事实表类型3.1 类型1:事务事实表(Transaction Fact Table)3.2 类型2:周期快照事实表…...
解锁流媒体世界:如何用N_m3u8DL-RE轻松下载加密视频与直播内容
解锁流媒体世界:如何用N_m3u8DL-RE轻松下载加密视频与直播内容 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8…...
智能邮件中枢:OpenClaw+Qwen3.5-9B自动分类回复系统
智能邮件中枢:OpenClawQwen3.5-9B自动分类回复系统 1. 为什么需要自动化邮件处理 每天早晨打开邮箱,看到堆积如山的未读邮件时,那种窒息感我太熟悉了。作为外贸团队的独立开发者,我经常需要同时处理客户询盘、供应商报价、内部协…...
GHelper完整指南:免费轻量级华硕笔记本性能控制工具终极教程
GHelper完整指南:免费轻量级华硕笔记本性能控制工具终极教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Str…...
GLM-4-9B-Chat-1M惊艳效果:1M token混合中英文技术文档中精准分离双语术语表
GLM-4-9B-Chat-1M惊艳效果:1M token混合中英文技术文档中精准分离双语术语表 想象一下,你手头有一份200万字的技术文档,中英文混杂在一起,专业术语随处可见。传统方法需要人工逐页翻阅,耗时耗力还容易出错。现在&#…...
AI辅助游戏开发新体验:让快马平台的AI模型为你的Superpowers项目编写剧情与平衡技能
最近在尝试用Superpowers框架开发一款魔法题材的RPG游戏,发现InsCode(快马)平台的AI辅助功能特别适合快速原型开发。这里分享下如何用AI模型辅助完成游戏剧情脚本和技能平衡设计的实践过程。 剧情脚本生成 输入"魔法学校学徒发现古老卷轴"这个简单设定后&…...
效率倍增:用快马打造Ollama多模型对比测试工具
最近在折腾本地大模型时,发现Ollama虽然能方便地运行多个模型,但每次想对比不同模型的表现都得手动切换,特别影响效率。于是琢磨着做个工具来提升测试效率,顺便把实现过程记录下来分享给大家。 需求痛点分析 本地测试不同模型时&a…...
让AI当你的面试官:基于快马平台打造智能前端面试辅导助手
最近在准备前端面试时,我发现很多题目看似简单,但真要回答得全面深入并不容易。比如经典的"深拷贝"问题,不仅要写出代码,还得考虑循环引用、性能优化等细节。这时候如果能有个AI助手帮忙分析题目、提供思路,…...
