“ 我是一名阿里在职9年软件测试工程师,我的经历也许能帮到处于迷茫期的你 ”

Posted TEST_二 黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“ 我是一名阿里在职9年软件测试工程师,我的经历也许能帮到处于迷茫期的你 ”相关的知识,希望对你有一定的参考价值。

不知不觉,入行软件测试也有十几个年头了。待过创业公司也待过上市公司。做过功能测、自动化测试也做过性能测试。做过测试新人也做过测试组长,现在是一名字节的测试工程师,已经工作8年了。

回想刚入行那会,功能测试都玩不溜从,最开始或者更长的时间一直都在从事点点点的工作。觉得工作没有乐趣,枯燥,就这样一直持续了2年,薪资也一直都是那个上下幅度。

实在不想就这样一直点点点,想要提升自己。随着项目越做越多,用例设计也变得手到擒来。自己的内心也不满足于只做功能测试。

不得已开始思考怎么去改变现状,公司最开始只我一位软件测试人员,没有任何流程和规范,但好在工作比较轻松,这就导致我有充足的时间学习各种测试技术和工具。当时,有一些机会在工作中做性能测试,于是,学会了使用LoadRunner和JMeter,有一次需要测试mysql数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。

让我明白了开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度。

那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。

但是还是有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。

1.入门阶段

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

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

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

如果你像题主一样,还没有进入这个行业或者刚开始了解,那么几个问题你一定一定要进行思考:

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

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

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

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

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

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

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

2.初级阶段

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

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

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

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

3.中级阶段

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

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

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

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

关于发展方向

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

关于语言选择

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

测试人员的瓶颈

手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到test lead的位置, 很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。 学不到东西,技术水平低下,是测试这个行业最大的毛病。 如何突破瓶颈?尽量实现自动化 一点要抽时间尽量把自己的测试工作实现自动化,可以节省测试的时间,提高自己的技术水平,也可以避免老是重复测试。

4.高级阶段

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

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

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

  • 技术专家

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

  • 管理方向

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

  • 转行其他

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

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

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

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

做为一名测试人,我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级自动化测试需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到底的朋友!

一、先学习一门编程语言,建议python

二、Python自动化测试框架应用

三、自动化测试篇 - Web UI 自动化

四、自动化测试篇 - 移动端UI 自动化

五、自动化测试篇 - 接口自动化测试

六、自动化测试篇 - 持续集成Git、jenkins、Docker

七、自动化测试篇 - 性能测试LoadRunner、jmeter、app性能

八、自动化测试篇 - WEB安全测试、渗透测试、漏洞扫描

九、自动化测试篇 - RobotFramework、AirTest

十、测试开发篇-自动化测试平台开发

十一、互联网高薪测试拓展知识、Redis、MongoDB、nginx集群实战


希望大家根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

这些资料,以及上方的自动化测试进阶线路详细讲解,对于想进阶测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

以上是关于“ 我是一名阿里在职9年软件测试工程师,我的经历也许能帮到处于迷茫期的你 ”的主要内容,如果未能解决你的问题,请参考以下文章