做软件测试工作,你是否也很茫然?

测试工程师职业发展,一直是大家普遍关注的热门话题。

最近一位被现实刺痛的测试同学发出的感慨引发了大家的讨论,本文截取了几位测试老鸟的自我总结和真诚建议,供参考。

@茫然的测试Y同学

测试工作十年了,一路走来,做过功能测试,性能测试,自动化测试,还有云测平台(参与过),现在想找个新工作,还挺难的。面试问到的东西,很多之前都学过,操作过,但都浅尝辄止,没有深入掌握,达不到用人要求,很尴尬也很茫然。

@幡然醒悟的测试K同学

我现在还记得我刚入行的时候,都在说测试知识广度优先。后来工作多年后,才醒悟过来自己被骗了。无论做什么都要有一门安身立命的本事,不断深挖里面的技术细节,然后以此为核心竞争力去扩展自己的其他能力。

尤其在互联网这种技术一年小更新,三年大变样的行业里,更要求我们不断的拓展学习第二门,第三门拿得出手的新技能,以防旧技术被淘汰而失去竞争力。

@努力尝试的测试R同学

测试工作也10多年了,好像早些年也是这种状态,反正工作要求做啥就做啥,觉得自己啥都会一点,但别说深入学习了,基本连测试书都不看。还觉得测试好像就这么点东西,没有什么价值,整天想着是不是应该转岗。

突然有一天觉得自己不应该再停留在原地,也没有转岗的勇气,就想跳槽试试看。然后就主动去找各种测试圈子岗位,了解大公司的技术要求有哪些,然后去看教学视频。算是逼了自己一把,也加上一些运气,努力跳到一个比较大的互联网公司。在那里也终于开阔眼界,打开职业发展新通道。

我个人的经验:

1. 测试技术发展早些年其实一直都是比较缓慢的,传统测试一个初级岗位和高级岗位的差距可能并不大,你只要找对方法通过半年的努力就可以赶上。

2. 要找准自己的价值点,我一直觉得人应该尽力去寻找自己的价值和优势,并且努力把它发挥到最大化。

3. 对测试来说年龄有时候是个障碍,但有时候也不是,关键你要考虑这个年纪你应该要做的是什么,没有人一辈子都在做点点点,也没有公司要一个员工一辈子只会点点点。

4. 拥抱变化,探索未知。很多时候运气也是成功的一部分,但是运气来源于你生活的复杂度,越复杂,你可能得到运气的几率越大。所以多去认识同行优秀的朋友,多去参加技术活动,开阔眼界,让你的生活复杂度高,可能运气就来了。

@怒转开发的测试M同学

我测试工作 10 年的时候也很迷茫,遇到职业发展和收入瓶颈,然后一气之下转开发去了…,现在工作压力一直很大,头发白了不少,谁的钱都不是从天上飘下来的…,有时甚至觉得对自己的期望超过自己能力了。

其实做技术岗位,编程语言,程序架构,并发性能,这些都要懂,而且不管年纪多大,多刷刷 LeetCode 算法题没坏处,至少语言,基础算法不会卡你,会有优势。还要多练习一些软技能,比如沟通能力,PPT 能力,英语能力等,综合提高。

@思寒,测试架构师

做事情还是要深入,要有工匠精神。一专多能(T 型)是最好的个人竞争力架构,切忌浅尝辄止。

年轻的时候容易放松,觉得一切都有机会,等到年纪大了,就会发现这个社会其实没有想象中那么友好,也是一个喜新厌旧的体系。要想保持自己的地位,就需要有可以造福社会的专长领域。

多数人被淘汰不是没人要,而是有性价比更好的替代品。要多去思考自身对公司和领域的价值,注意强化自己的专业意识,想清楚自己的被替代成本有多大。

“自强则万强”,要摆脱危机,就要将自己的职业发展跟业务价值牢牢绑定。

对测试工程师来说,首先要明确一点,测试技能和技术只是过程,业务的质量才是目标。一个优秀的、有价值的测试工程师,必须要能做到如下几点:

  • 懂业务:能扎实的保证业务质量。不排斥用脑力和体力去保证质量。
  • 懂技术:能够做深入的自动化测试或者分析工作。能够利用工具和技术解决问题。
  • 懂架构:能够跟研发和产品进行正常的交流,保证产品需求和实现都没问题。能带团队走上更好的发展。

近年来,在持续交付/DevOps 背景要求下,从事测试开发的工作是测试工程师理想的职业发展方向,这也是当前互联网企业高薪热招的稀缺人才,待遇甚至超过同级别开发人员。

建议各位测试工程师都能沉下心来,重点掌握 Linux/Shell常用命令、一门编程语言 Python 或 Java、以及常见的数据结构,数据库和 Docker 相关知识,夯实技术基础。

然后,深度学习自动化测试技术,熟练掌握 Web、App、接口自动化测试技术,能结合持续集成、持续交付、DevOps 体系实践,这也是面试大厂的必备要求。

另外,架构能力是测试开发这座大山的山顶,爬上去你将领略到更多不一样的风景。比如能够从底层代码改造开源自动化测试框架,打造适合自己的利器,解决实际问题,本质上也是一种思维方式的升华。