一个29岁软件测试工程师的7年,太真实了...

news2024/12/22 22:08:50

当前就业环境,裁员、失业消息满天飞,好像有一份工作就不错了,更别说高薪了。其实这只是一方面,而另一方面,各大企业依然求贤若渴,高技术人才依然紧缺,只要你技术过硬,拿个年包50w不是问题。

我的人生格言:“ 比你优秀的人不可怕,可怕的是比你优秀的人比你更努力。”简单的先说一下,坐标长沙,16届本科毕业,算上年前在字节的面试,一共有面试了有5家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少)​

​​其中成功的有3家,另外2家失败的原因在于:

1、对于系统知识的还是了解不够全面,在最后一轮主管面试的时候,主管问得比较细,最后由于不会回答,就让我直接回去等通知了。

2、另外一家失败的是一家小公司,本身人数就不是很多,面试完我多方了解了一下,对方也认为我基本功什么的都不错,但是实际项目经验还是要欠缺一些,因为对方又是创业型公司,需要人上手就能干活,因此我在这个时候不是特别适合他们团队。

至于其他成功的三家公司,给我的面试评价都挺高的貌似,但我也不想记流水账,因此就不一一列举每家公司的面试过程,下面呢主要谈谈一名工作3年-5年左右的软件测试工程师该具备的一些技能以及个人的一些感悟:

1. 入门阶段

这个阶段你或许是刚从学校毕业,也或许是从其他行业转行的,你就会像我一样,对软件测试行业产生一系列的疑问,比如说前景怎么样?薪资高不高?加班多不多?零基础要如何学习?需要学会哪些技能才能够找到工作?

其实这些都不是很重要,重要的是你一定要搞明白这个行业是做什么的,你自己是否适合这个行业。

前些年培训大热的时候,很多同学听到了“前景很好,互联网薪资高,不用写代码,不用加班”的吹嘘,便一股脑的投入到这个行业来。干了几年,不仅钱没挣到,技术也没有沉淀,混不下去只能被迫转行。

在还没有进入这个行业或者刚开始了解,那么以下几个问题你一定一定要进行思考:

1、你是否能接受互联网行业的工作节奏?

2、你是否真的热爱这个行业,有足够的热情愿意去钻研?

3、你的学习能力是否能让你在日新月异的技术浪潮中不掉队?

首先作为互联网行业,必然会有加班的,即使不是996,也必然会有紧急任务或者上线,问下自己是否能接受这样的工作节奏。如果赶到要上线了,通宵也是常有的事,第二天早上你下班了,你的同事刚拎着早餐上班。

其次,如果你对这个行业有着基本的热情,或者说不讨厌这个行业的话,那么起码你能有动力去钻研,去自我驱动,这样才能够保证你的工作对自己不是一种煎熬。

最后,互联网这行业,技术日新月异,能够在软件测试这个行业长久的走下去,必然要不断学习。如果讨厌学习,或者上进心比较差,我不建议你进入这个行业。

如果上面3个方面都没有问题的话,那么恭喜你可以进入下一个阶段。

2. 初级阶段

到了这个阶段,你已经开始上手做测试了,哪怕是最基础的点点点,你也知道互联网企业测试流程是什么样子了,可以说这是你最朝气蓬勃的时候。

你在工作中遇到问题时的窘、遇见大神时的敬仰,都将会转化为你努力求知的动力。阅读书籍、看公开课、逛论坛,你的各种知识和技能在这个阶段会急剧扩充。

但是这个时候,尤其要注意不要病急乱投医。

这个阶段我不建议基础没有打牢,就开始学习自动化,最后什么也没有搞明白。业务能力才是你最重要的,自动化玩的再溜,那也只是个辅助。基础不牢,地动山摇。

3. 中级阶段

这个时候的你,或许已经做测试有1-2年时间了,很多工作也得心应手,薪资也基本稳定了,技术上知道的也比较多,但是仍然感觉自己啥都不会。

对,你缺少某个方向的深入研究!

处于软件测试行业的中级阶段,必然要面临的一个问题是我该朝哪个方向深入发展。自动化还是性能?Python还是Java?APP还是web?

我以我的经验给你一点建议:

关于发展方向:

无论APP测试也好、web测试也好,或者说想研究自动化,或者想专精性能,都是可以的。没有什么所谓的好与不好,重要的还是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感的话,那就一门心思去研究自动化测试。只要往某个方向专精,过一段时间后你就可以成为大神。

关于语言选择:

以前我专门写过一篇关于软件测试工程师语言选择的回答,简单来说,就是刚接触的时候,你可以选择Python,上手更快,也更加灵活,到了高级阶段,应对更大的业务形态,你还得学会Java。做技术的,会很多种语言很正常。

自动化测试与性能测试:

对于自动化测试,不要被其牵着走,也不要过分夸大作用,更不要为了自动化而去自动化。

性能测试在某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库等等,你都要去搞懂。写脚本或者执行都还OK,难的是性能分析和调优。当然如果这个阶段你对自己的要求不是很高,那么你只要掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验。

对于这两个方面,我建议都要去学习,因为目前的招聘需求,都已经是标配要求。

4. 高级阶段

如果你已经是软件测试行业的老鸟了,那相信你很多“坑”都已经踩过了。

到了这个阶段,可以说是软件测试工程师最大的职业发展瓶颈。业内的大神们,也都是突破了这个阶段,才获得新的发展。

一般在这个阶段,会面临3个方向的发展:

技术专家

这条路比较坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有着浓厚兴趣的话,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样你才能成为一个高阶的测试开发工程师。

管理方向

做技术累,其实做管理更累,因为和人打交道是最为复杂的。既要协调上下级的关系,又要统筹安排好各项工作。如果你喜欢走管理路线,也不要脱离业务只做管理,建议做一名技术管理,在带领团队的同时,不断的提升自己的技术。一方面技术不行确实很难服众,另一方面也是锻炼自己落地一些团队方案的能力。虽说管理的“生命周期”会比纯技术长一些,但是一定不能放弃技术。

转行其他

研发、产品、运维,或者创业,都是面临瓶颈之后新的出路。其中特别是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。

那么,作为一名软件测试工程师,该怎样努力才能够快速成为一名优秀的测试开发大佬,或性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这其实不仅仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的一个问题。

技术助力

最后分享自己整理的【备战资源库】,基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!【点击文末小卡片免费领取】

一、软件测试基础

了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维

在这里插入图片描述

二、Linux必备知识

Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。

在这里插入图片描述

三、Shell脚本

掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数

在这里插入图片描述

四、互联网程序原理

自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理

在这里插入图片描述

五、MySQL数据库

软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。

在这里插入图片描述

六、抓包工具

Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的

在这里插入图片描述

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

在这里插入图片描述

八、Web自动化测试Java&Python

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

在这里插入图片描述

九、接口与移动端自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

在这里插入图片描述

十、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

在这里插入图片描述

十一、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

在这里插入图片描述

同时,希望大家能照着这个体系在1-2年内完成这样的一个体系构建。

这个过程会让你比较痛苦,但只要你熬过去了,后面就轻松很多。万事开头难,你只要迈出了第一步,就已经成功了一半了,等到成功之后再回顾这一段路程时,你一定会感慨良多。

合理的利用每一分每一秒的时间学习来提升自己,不要再用"没有时间“的理由来掩饰自己思想上的懒惰!趁着年轻,使劲拼,给未来的自己一个交代!

 

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

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

相关文章

Jetpack Compose 的最佳处理运行时权限的方法

Jetpack Compose 的最佳处理运行时权限的方法 如果您的应用安装在运行Android 6.0(API级别23)或更高版本的设备上,则必须按照本指南中的步骤为用户请求运行时权限。 在Jetpack Compose中获取运行时权限有两种方法。 使用Activity Result使用…

算法与数据结构-复杂度分析

文章目录 什么是大 O 复杂度表示法为什么要用大 O 复杂度表示法如何分析一段代码的时间复杂度1、只关注循环执行次数最多的一段代码2、加法法则:总复杂度等于量级最大的那段代码的复杂度3、乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 几种常…

计算机网络常见面试题

参考:小林coding 1.TCP/IP模型 2.说一下TCP的三次握手? 第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号x,客户端向服务端发送的字段中包含标志位SYN=1,序列号seq=x。第一次握手前客户端的状态为CLOSE,第一次握手后客户端的状态为SYN-SENT。…

海外网红合作攻略:如何在转化率战场上脱颖而出

在当今社交媒体时代,与海外网红合作已成为企业推广产品与服务的重要途径之一。与海外网红合作不仅可以扩大品牌知名度,还能够吸引更多目标受众。然而,仅仅与网红合作并不能保证高转化率。本文Nox聚星将详细介绍几种有效的方法,帮助…

DDR跑不到速率,调整下PCB叠层就搞掂了?

高速先生成员--姜杰 关于DDR的案例,高速先生已经分享过很多期的文章了,有通过修改主控芯片的驱动解决问题的,有通过修改PCB走线的拓扑来解决问题的,也有通过调节端接电阻来解决问题的,相对于下面即将登场的解决方法而…

【Java|golang】2559. 统计范围内的元音字符串数

给你一个下标从 0 开始的字符串数组 words 以及一个二维整数数组 queries 。 每个查询 queries[i] [li, ri] 会要求我们统计在 words 中下标在 li 到 ri 范围内(包含 这两个值)并且以元音开头和结尾的字符串的数目。 返回一个整数数组,其中…

Flutter学习一:安装配置

目录 1 官方文档 2 安装配置 2.1 第一步:下载配置Flutter 2.2 第二步:下载配置Android Studio 2.3 第三步:下载配置VScode 1 官方文档 在 Windows 操作系统上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站…

从一个励志故事,读懂网络工程师的职业规划

这个励志故事主人公的起点,是在伟创力的工厂打螺丝。 改变 他很早不上学了,出社会的时候学历和技能什么也没有,就只能去工厂打螺丝。他在伟创力的工厂打螺丝打了好多年,在接近30岁的时候,他哥跟他说:你不能…

黑客零基础从入门到精通学习成长路线(超多图、非常详细),看完这一篇就够了

前言 近几年,随着移动互联网、大数据、云计算、人工智能等新一代信息技术的快速发展,围绕网络和数据的服务与应用呈现爆发式增长,丰富的应用场景下暴露出越来越多的网络安全风险和问题。 但是,我国网络安全整体投入不高。网络安…

基于YOLOv7开发构建红外高空小目标检测识别分析系统

基于yolo系列的模型开发构建红外场景下的目标检测系统,在我之前的文章中已经有好几次实践了,感兴趣的话可以自行移步阅读: 《红外海洋目标检测实践,基于目标检测模型识别红外海洋目标》 《基于YOLO开发构建红外场景下无人机航拍…

【Java基础】简单参数和springboot方式形参传递法

一、知识点整理 1、Postman 2、在原始的web程序中获取请求参数需通过HttpServletRequest对象手动获取 二、操作步骤 1、参考链接1下载postman,并创建工作空间。 2、打开idea,新建项目,选择Spring Initializar,依赖库勾选Web下…

Locust接口性能测试

谈到性能测试工具,我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具,功能非常强大。但现在一般不推荐使用该工具来进行性能测试,主要是使用也较为复杂,而且该工具体积比较大,需要付费且价…

temu,速卖通,国际站如何稳定安全的测评补单,提升权重不降权

随着互联网和电子商务的快速发展,越来越多的企业和个人通过测评,补单进行产品推广和销售。然而,在测评,补单过程中,如何稳定安全地进行,以提升权重而不降权,成为了许多经营者关注的重要问题。林…

day44_项目1

今日内容 零、 复习昨日 零、 复习昨日 一、web开发流程 1.公司部门的组成人事部门HR技术部门(研发部/IT部/java组/h5组/c组/ui组/产品)行政部门财务部门市场部门运营部门总经理老板/董事/CEO2.项目部人员的组成 各种开发人员: UI/前端/后端(java/c/Python/c/android/Object-c…

CTFShow-WEB入门篇--信息搜集详细Wp

CTFShow-WEB入门篇详细Wp 信息收集:web1:web2:web3:web4:web5:web6:web7:web8:web9:web10:web11:web12:web13:…

基于linux的程序库文件打包和调用的实现(二)——动态库文件打包和调用

随着技术的发展,基于linux项目的软件代码越发复杂,原来一个人可以完成的软件项目,现在可能需要多个人合作、多个部门合作、多个企业合作,每个人、每个部门、每个企业可能负责部分软件模块的开发。各个软件模块在调试过程由于涉及企…

测试思想-集成测试 关于接口测试 Part 2

5. 用例设计思想(举例说明) 如上表,是某个接口说明文档中的一个接口,课程检索,其中“v1/Lesson/testsrch/?” 为接口调用地址,此外,还给出了接口函数输出(即Server Response)及返回值。 问:怎么设计&…

如何免费在线把Figma转成Sketch

我相信所有的设计师都非常熟悉新的设计工具。Figma以其在线合作的特点受到设计师的欢迎。然而,对于设计师来说,在实际工作中,有时需要使用Sketch编辑Figma文件。 今天推荐一款Figma转换Sketch文件格式的免费工具。 下面具体介绍如何通过即时…

chatgpt赋能python:Python内置函数表

Python内置函数表 Python是一种高级编程语言,具有许多内置函数,可用于各种用途,例如处理字符串、操作文件、执行数学计算等等。在本文中,我们将介绍Python内置函数表并讨论其中的一些常见用途。 什么是Python内置函数&#xff1…

JavaFX 树视图TreeView

JavaFX 树视图TreeView 1、TreeView基础查看2、显示案例 1、TreeView基础查看 javafx.scene.control.TreeView<T> javafx.scene.control.TreeItem<T> w3cschool&#xff1a;JavaFX 树视图 DOC-03-14 树视图(Tree View) JavaFX视频教程第101课&#xff0c;TreeView…