7年时间,从功能测试到测试开发月薪30K,有志者事竟成

news2025/1/17 1:12:44

突破自己的技术瓶颈并不是一蹴而就,还是需要看清楚一些东西,这里也有一些经验和见解跟大家分享一下。同样是职场人士,我也有我的经历和故事。在工作期间,我有过2年加薪5次的小小“战绩”(同期进入公司的员工,加薪不超过2次的员工大有人在),7年的时间顺利地从功能测试工程师做到了测试开发,是公司所有员工中成长最快的,也是幸运的,避开了一些坑,少走了很多弯路。但是我敢肯定,在看到这篇文章的人里面,肯定有人比我更优秀。但是对于那些更渴望得到突破和成长的朋友们来说,我把自己以往的成长经验心得分享出来,希望能帮到大家。

由于篇幅过长,我将文章分为下面4个部分来描述

一、我是如何入行软件测试?并且从事所谓的"点点点"
二、我是如何从功能测试进阶自动化测试?并且拿到了人生的一份14k的offer
三、从自动化测试进阶测试开发,拿到了28k的高薪(基本人生颠峰)
四、总结的一点工作经验(还有个人的一点分享)

一、我是如何入行软件测试?并且从事所谓的"点点点"

2012年毕业于一所普通本科,大学专业是土木工程,毕业也是不出意外的来到了工地,从事的是一份监工的工作,就是工地上带白帽子的,每个月拿着4000块钱的工资,加上工地环境差,我还是放弃了这份工作!吃不了苦的真是不建议学习土木工程专业。后来转行也犹豫了很久,最后选择了软件测试行业,我也是通过市面上的培训机构,培训了3个月的时间入职成功,相信大多数转行人,都是通过培训才顺利入行的。

入行软件测试具体需要学习那些内容呢,下面一 一列出来

月薪5-9k,刚刚入行,先学会功能测试!

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

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

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

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

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

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

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


二、我是如何从功能测试进阶自动化测试?并且拿到了人生的一份14k的offer

转眼时间,我已经从事了3年初级测试工程师,2015年5月份开始我已经准备好进阶自动化测试,大概是花了四个月的时间进阶自动化,10月份涨薪到了14k,具体的学习路线我也列了一份出来,现在和大家一一讲述

1.自动化测试的类型

什么可以自动化?实际上很多,但是通常容易误解这个问题。

有两个主要类型,功能性和非功能性:

  • 功能性:测试软件的实际业务应用程序。
  • 非功能性:用于测试软件的其余要求(例如性能,安全性,数据存储等)。

性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。 自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。 目前企业对自动化测试需求越来越多。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。

2.自动化测试的学习路径

搞定性能、自动化测试,独当一面!(我当时刚刚进阶属于经验比较浅的那一批,所以才14k左右)

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

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

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

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

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

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

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

看完自动化测试学习路径后,若想得到一个完整的自动化测试完整路径。我们还需要了解学习自动化测试的前置(支撑)知识和技能

三、从自动化测试进阶测试开发,拿到了28k(基本人生颠峰)

这个时候我已经掌握至少一门开发语言,并能熟练应用,能够客服团队碰到的技术难题,能够设计完成测试框架,并指导测试人员实施,能够对行业带来较大的影响,当然进阶的过程也没有这么顺利,我大概再自动化测试这个层次沉浸了4年时间,且最近一两年才转型测试开发,关于测试开发需要学习那些内容,我也一一陈述出来

性能和自动化玩精通,月薪在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持续交付;

四、总结的一点工作经验

如果你是测试在职,想要获得更快的成长,我给你几条建议:

1、避免去外包公司

基于行业影响,企业需要降低成本,会更倾向于使用外包。大公司使用外包的结果就是外包市场会进一步发展,这些发展会进一步推动企业裁员的进程。如果外包能够搞定很多事情,外包的价格又比较低,很明显很多低级的工作会更倾向于使用外包的。
外包公司的本质是通过提供廉价劳动力赚取剪刀差的一种公司。你拿到的收入,已经被扣除了一部分了。所以你进入这样的公司,既没有办法接触到业务核心,公司也不会提供很好的培训,也没有很好的经验积累,也没有进入更深的测试实践,所以在这里面的成长会面临发展困境。

如果你现在在外包公司,建议你待个一年两年就立马要走,千万不要留的太久,不然将来会面临很大的发展问题。哪怕短时间内给的薪资比较高,但是一定要记住着这不是你最终的归宿。

2、提升核心竞争力

技术能力:编程能力,自动化能力,架构能力。

首先说编程能力,你在测试行业混,Python和Java,这是两门基础要学的语言。这两个你学会了,任何一家公司的要求都是可以匹配的。如果你想做的更好,你可去接触一下go语言。多数公司即使要求你会一门新语言,也会先看你会不会Python或者Java。

第二个指标是自动化,自动化能力衡量的是你在这个领域里面是否有很强的生产力,作为一个测试工程师,最关键的是UI的自动化,接口的自动化,以及持续集成,持续交付。这几个是你核心能力。其中UI自动化,接口自动化以及持续集成,是测试工程师的基础能力。再往上走,那就是持续交付,Devops,一些白盒能力,测试的监控能力,更多的能力往研发和运维去深入,所以架构能力在这里是很重要的考核的指标。
领域知识:架构能力,业务领域,数据意识
软实力:沟通,管理

3、职业选择

首选名企,大厂,一线城市
别问为什么

4、学历建设(学历建设是长期的事情)
非本科的需要注意提升学历
本科以上的同学注重能力和履历
总体来说,别抱怨,好好提升自己的能力,目前测试行业的缺口,在测试开发,好好努力!

既然都看到这里啦,最后请你帮个忙:

1、点赞,让更多小伙伴看到;

2、关注我,持续更新测试干货。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

END绵薄之力

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

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

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

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

相关文章

番外12:ADS导出到AD变为PCB文件

番外12:ADS导出到AD变为PCB文件并嘉立创制板 番外12:ADS导出到AD变为PCB文件,此处的示例为功率放大器! STEP 1: 从ADS导出dxf文件 打开制作好的版图文件,在原有基础上打好散热孔和固定孔,散热孔半径0.63…

PCB阻焊桥存在的DFM(可制造性)问题,华秋一文告诉你

PCB表面的一层漆,称为阻焊油墨,也就是PCB线路板阻焊油墨。阻焊油墨是PCB线路板中非常常见、也是主要使用的油墨,一般90%都是绿色,但也有杂色油墨:红色、蓝色、黑色、白色、黄色等。 阻焊油墨的作用就是绝缘&#xff0…

反射:替对象执行方法

反射,可不只是利用Class创建对象哟,更重要是替对象执行方法!关于反射创建对象,它可以提供一种通用的机制,对任意Class对象得到它的实例,而不需要import。 举个例子,Spring底层就是利用反射为我…

各种文字生成图片的AIGC模型(openAI、谷歌、stable、Midjourney等)

1 前言 AIGC,全名“AI generated content”,又称生成式AI,意为人工智能生成内容。例如AI文本续写,文字转图像的AI图、视频等。 本文主要描述文字生成图片的模型。而且目前扩散模型(Diffusion Models)流行…

CANoe使用记录(一):新建Canoe工程

目录 1、概述 2、新建工程 2.1、新建工程界面 2.2、查看License 2.3、添加DBC文件 2.4、测量窗口 2.5、通道用量 2.6、通道匹配 2.7、硬件通道配置 2.8、状态监控 1、概述 Canoe是德国Vector公司推出的一款总线开发设备,主要用于总线类的开发、仿真、测试…

【Python】【进阶篇】二十六、Python爬虫的Scrapy爬虫框架

目录 二十六、Python爬虫的Scrapy爬虫框架26.1 Scrapy下载安装26.2 创建Scrapy爬虫项目1) 创建第一个Scrapy爬虫项目 26.3 Scrapy爬虫工作流程26.4 settings配置文件 二十六、Python爬虫的Scrapy爬虫框架 Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架…

【Java 数据结构】单链表经典面试题 (动图解析)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

Redis问题

一、认识Redis 1. 什么是 Redis? Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景&#…

vue-seamless-scroll无缝滚动组件使用方法详解+解决轮播空白缝隙问题(最后面)

下载安装 1.npm npm install vue-seamless-scroll --save 2.yarn yarn add vue-seamless-scroll 使用 1、全局注册 import Vue from vue import scroll from vue-seamless-scroll Vue.use(scroll) //或者 //Vue.use(scroll,{componentName: scroll-seamless}) 2、局部注册 im…

刘强东的“百亿补贴” 被指“雷”声大雨点小

京东集团2022年财报显示,2022年第四季度京东收入为2954亿元,同比增加7.1%,与2021年四季度23%的同比增速确有不小的差距。前三季度对应的同比增速分别为17.95%、5.44%和11.35%,与2021年相比均有回落。从财报中可以看出,…

什么是Selenium?使用Selenium进行自动化测试

什么是 Selenium? Selenium 是一种开源工具,用于在 Web 浏览器上执行自动化测试(使用任何 Web 浏览器进行 Web 应用程序测试)。   等等,先别激动,让我再次重申一下,Selenium 仅可以测试Web应用…

Unity VFX -- (2)玩一玩粒子系统

增加火花 复杂的VFX通常是由多个单独的粒子系统所组成。当它们组合到一起时,这些独立的个体会产生出更加有趣的效果。下面我们来为火焰增加火花效果。 1. 在Hierarchy中,展开Fire_ParticleSystem_Prefab物体,选择VFX_Sparks子物体。 2. 激活V…

java springboot工程引导类,简单认识程序入口

我们在创建springboot项目时 总会看到这么一个启动类 首先 我们要知道 我们的程序最后就成立一个spring容器 而你所有的类都是交给这个spring容器去管理的 做 springboot 程序 也会有这个spring容器 为了方便大家看 我们将启动类的代码改成这样 package com.example.thres…

HTTP和第三方模块

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图! 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

zookeepr 简介

简介: zookeeper是为分布式应用提供协调服务的高性能组件。zookeeper通过简单的接口暴露了一些公共服务(命名、配置管理、同步和分组服务), 因此你不需要从头开始写这些服务。你可以现成得使用zookeeper来实现共识、组管理、领导者选举和存在协议。你可以根据自己的…

ConcurrentHashMap分段锁

1.分段锁的设计目的 ConcurrentHashMap 是支持高并发的线程安全的 HashMap。相较于 HashTable 使用 synchronized 方法来保证线程安全,ConcurrentHashMap 采用分段锁的方式,在线程竞争激烈的情况下 ConcurrentHashMap 的效率高很多。 ConcurrentHashMa…

考勤系统的最佳实践 - 静态活体检测 API 技术

引言 静态活体检测(Static Liveness Detection)API 是一种基于人脸识别技术,用于判断面部图像或视频是否为真实人脸的 API 接口。它基于图片中人像的破绽(摩尔纹、成像畸形等),判断目标是否为活体&#xf…

abpvnext 创建数据时发布本地事件ILocalEventBus.PublishAsync ,创建的数据被阻塞的问题解决

一、问题背景描述: 我有一个需求,需要在字典服务里创建字典类型成功后执行ILocalEventBus.PublishAsync 发布一个事件,让主业务服务订阅这个事件,然后执行业务代码将字典类型同步给所有租户。 最开始我在字典服务员的applicatio…

数据结构实验 C语言 一元二项式操作

东莞理工学院请勿抄袭 1.实验目的 通过实验达到: ⑴ 理解和掌握线性结构的概念及其典型操作的算法思想; ⑵ 熟练掌握基本线性结构-线性表的顺序存储结构、链式存储结构及其操作的实现; ⑶ 理解和掌握受限线性结构——堆栈、队列、串、数…

HTTP 1 2 3 的演变过程

1 HTTP/1.1 相比 HTTP/1.0 提高了什么性能? HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等…