毕业5年的同学突然告诉我,他已经是年薪30W的自动化测试工程师....

news2024/11/27 2:49:57

作为一名程序员,都会对自己未来的职业发展而焦虑。一方面是因为IT作为知识密集型的行业,知识体系复杂且知识更新速度非常快,“一日不学就会落后”。

另外一方面,IT又是劳动密集型的行业,不仅业人员多,而且个人在平时的开发过程中有大量的重复劳动(如 CRUD),自己的能力没有随年龄的增加而增长。

这种情况下,就会应验“35岁就失业”魔咒

那作为一名测试工程师,如何规划自己的职业生涯呢?一般来说,测试工程师的技术生涯会分为初级测试工程师,中级测试工程师、高级测试工程师3个阶段,这也是我们的成长的路径。 

以下是每个层次的主要特点和职责:

  • 初级测试工程师

  • 初级测试工程师通常是入门级别,需要熟悉测试基础知识,如软件测试原则、测试方法、测试理论等。他们还需要掌握一些基本技术,如手工测试、测试用例编写、缺陷管理等。初级测试工程师通常需要受到更多的指导和培训,并需通过实践不断提升自己的能力。

  • 中级测试工程师

  • 中级测试工程师需要在基本知识和技能的基础上,掌握更深入和复杂的测试技术,如自动化测试、性能测试、安全测试等。同时需要具备一定的项目管理和沟通协调能力,能够与开发团队、产品团队等密切合作,共同推进项目。中级测试工程师通常会担任一些小型项目的测试负责人或者测试组长。

  • 高级测试工程师

  • 高级测试工程师是测试团队中的技术专家,需要有较为深入的技术知识和经验。他们通常会设计测试架构,制定测试策略并指导团队进行测试。同时需要具备一定的管理能力,包括人员管理、资源调配等。高级测试工程师通常会参与大型项目的测试规划和管理,并对测试流程进行改进和优化。

 对应的学习路线

我按照薪资的不同大致划分成3个档位:

  • 月薪5-9k:从零基础入门到能够找到工作
  • 月薪15-25k:测试在职搞定性能测试和自动化测试
  • 年薪30W+:搞定测试开发,进入一线大厂

第一阶段:月薪5-9k,刚刚入行,先学会功能测试!

可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:

软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;

搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:

发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;

这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:

Linux、数据库、接口测试、APP测试等

OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!

嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。

会了以上这些内容,只能说是能够获得一份工作,但是现在行业招人的要求原来越高,搞定自动化或者性能测试,才能拿到10k以上的月薪。

第二阶段:月薪15-25k,搞定性能、自动化测试,独当一面!

先说性能测试,行业内是有很多误区和痛点的:

  • 只测不调,无法给出研发和运维人员执行建议
  • 无法定位问题,缺乏清晰的逻辑和数据证明价值
  • 性能测试工具≠性能测试
  • 性能测试技术体系落后(loadrunner),急需拥抱开源软件

如果要搞定这些问题,那么性能测试你得这么去学:

性能测试的概念和流程:常见问题剖析、流行工具、方案设计
性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
性能监控:性能监控体系与监控数据采集
性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告:jvm调试与系统调试;性能瓶颈分析

性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!

搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。

web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;
移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;
服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系;

第三阶段:月薪30k+,对标大厂,冲击测试开发岗位!

性能和自动化玩精通,月薪在10k+甚至是20k+都是很轻松的,那如何冲击30k+呢,这就要求往技术专家或者管理层去发展了,但是即使做管理,也必要要求技术水平够硬?说做管理不需要技术精通?你试试底下的人会不会反你?

在测试开发的路线上,就要求更加专精,更加全面:

完善测试技术体系:Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础:
web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
docker容器技术:docker容器、docker镜像;
持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;

在这里,我想给想进阶的朋友们一点建议:很多时候,很多事情,并不像你想象中的那么简单,千万不要自认为简单而不愿意去做,很多东西只有你亲手去做了之后,才会发现事情并不像你最初想的那么简单。

其实自动化测试的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点了解的程度。so,出去面试时先看看自己复习到了哪个阶段就好。

 END绵薄之力

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

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

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

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

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

相关文章

8个你可能不知道的令人震惊的 HTML 技巧

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 1. 捕获属性打开你的设备摄像头 正如 input 标记具有 email、 text 和 password 属性一样&…

Unity音量滑块沿弧形移动

一、音量滑块的移动 1、滑块在滑动的时候,其运动轨迹沿着大圆的弧边展开 2、滑块不能无限滑动,而是两端各有一个挡块,移动到挡块位置,则不能往下移动,但可以折回 3、鼠标悬停滑块时,给出音量值和操作提示 …

JMeter 获取登录接口的token

1、登录接口为POST请求方式,添加请求登录接口的消息体数据 添加HTTP信息头管理器,配置content-type值为application/json 2、给登录接口“添加监听器-查看结果树”和“后置处理器-正则表达式处理器” 先运行一次登录接口,通过查看结果树返回内…

C++三大特性—继承 “访问控制”

本文主要阐述关于C继承中基类与派生类之间的访问关系 继承方式与访问方式 继承定义格式: 派生类可以继承定义在基类的成员,但是派生类的成员函数不一定有权访问从基类继承来的成员    访问限定符的作用:控制派生类从基类继承而来的成员是否…

Matlab——逻辑回归(原理、代码)

对于一个机器学习方法,通常由模型、策略和算法3个要素构成。 模型是假设空间的形式,如是线性函数还是条件概率;策略是判断模型好坏的数学表达式,将学习问题转化为优化问题,一般策略对应一个代价函数(Cost F…

SQL优化(2):主键优化

在上一小节,我们提到,主键顺序插入的性能是要高于乱序插入的。 这一小节,就来介绍一下具体的 原因,然后再分析一下主键又该如何设计。 1 数据组织方式 在InnoDB存储引擎中,表数据都是根据主键顺序组织存放的&#xf…

数据结构——求二叉树的属性

数据结构——求二叉树的属性 一、对称性101. 对称二叉树1.递归2.迭代3.同类题: 二、深度104. 二叉树的最大深度1.递归1)后序1)前序 2.迭代(层序) 559. N 叉树的最大深度1.递归(深度优先)2.迭代&…

MATLAB实现OCR识别数字和字符

OCR也叫做光学字符识别,是计算机视觉研究领域的分支之一。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。 MATLAB实现OCR识别数字和字符,涉及灰度转换、中值滤波、二值化处…

【教学类-34-05】拼图(彩色图片+凹凸拼)3*4格子(中班主题《个别化拼图》偏美术)

图片展示: 背景需求: 最近班级孩子得了传染病,来了2位孩子。 我觉得:人少的话,孩子们就有充足的时间去拼那些带有凹凸槽的自制彩色图形拼图。 难点: 1、从直线剪切(方形拼图)转…

[JAVA编] 一编让你搞定多态

目录 1. 多态概念 2. 多态的体现和实现条件 3. 重写 4. 引用类型转换 4.1向上转型 4.2向下转型 5. 多态的好处 1.多态的概念 什么是多态? 多态是继封装, 继承之后, 面向对象的三大特性 在生活中,比如跑的动作,猫,狗和大象,跑起来都不一样.再比如飞…

【cmd命令】MySQL服务器无法启动

winR 输入services.msc 我发现我电脑上有两个mysql名,上面一个(MySQL)处于停止运行状态 下面一个(MySQL)处于运行状态 如果要使用上面一个的服务器,就要把下面一个的服务器关闭,然后启动上面的服务器…

elastic-job 搭建——应用于企业级项目

1. 📂 技术方案 方案介绍 ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业…

你知道渲染农场是什么原理吗?它是如何工作的?

我们知道,仅靠一台计算机几乎是不能达到专业渲染集群的处理能力的。所以现在, 允许将很多台计算机或是处理器进行连接,再将连接后的机器作为一个总平台来处理不同的渲染需求,这样的设置,就被称之为渲染农场。 渲染农…

年轻人“赶烤”淄博,文旅业如何借势?

​(图片来源于网络,侵删) 文 | 螳螂观察 作者 | 易不二 从“更适合中国宝宝体质的TACO”在社交媒体爆火,到全国人民为之“赶烤”,淄博凭借独树一帜的烧烤文化,已经站上了文旅业回暖的潮头。 今年五一假期…

FPGA目前就业形势咋样?来听听业内工程师的看法

看到网上有一个问题很火:2023了,FPGA目前就业形势咋样?很多同学也对这个方向比较感兴趣,下面就来一起了解一下吧。 FPGA岗位有哪些? 从芯片设计流程来看,FPGA岗位可以分四类 产品开发期:FPGA系统架构师 …

基于FFmpeg倒放功能的实现-----命令行和API调用实现方法

来源:微信公众号「编程学习基地」 文章目录 FFmpeg API调用reverse滤镜实现视频倒放ffmpeg命令行实现方法FFmpeg 过滤器 调用API实现方法完整代码贴上运行FFmpeg API调用reverse滤镜实现视频倒放 ffmpeg命令行实现方法 ffmpeg -i bigbuckbunny_480x272.h265 -filter_comple…

vue页面内嵌iframe使用postMessage进行数据交互(postMessage跨域通信)

什么是postMessage postMessage是html5引入的API,它允许来自不同源的脚本采用异步方式进行有效的通信,可以实现跨文本文档,多窗口,跨域消息传递.多用于窗口间数据通信,这也使它成为跨域通信的一种有效的解决方案. vue父页面(嵌入iframe的页面) 在vue中…

【文心一言】文心一言最近这么火,它到底是什么

前言 文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一…

网工容易混淆的三种网线类型:直连线、交叉线和反转线

网线是计算机网络中最常见的传输介质之一,它能够将数据快速而可靠地传输到各个网络设备中。在实际的网络应用中,我们常常需要使用到不同类型的网线,包括直连线、交叉线和反转线。本文将介绍这三种网线的定义、应用场景和注意事项。 直连线 …

Tailwind CSS入门(二)——基本介绍和特性

上一篇文章简要的介绍了原子类CSS,以及个人对语义化、原子化的一些经验和理解。从这篇文章开始,正式开始分享Tailwind CSS的特性、使用和技巧。 Tailwind CSS是一个为快速开发而精心设计的原子类CSS框架,在此我们将搭建一个Vite项目来配合讲…