职业经验 8 年 软件测试工程师感悟——写给还在迷茫中的朋友

高级软件测试 · 2018年07月10日 · 最后由 张翔 回复于 2018年07月24日 · 3613 次阅读

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业 “缺口” 已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI 测试仍存在着非常多的机会。

“长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试行业的 “前行者” 们,给我们带来了非常大的压力。

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

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

一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明 “泰山崩于前而面色如土” 却只能眼睁睁看着自己被行业淘汰吗?

并不是,下面的软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:

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

二、Shell 脚本
掌握 shell 脚本,包括 shell 基础与应用、shell 逻辑控制、shell 逻辑函数等。

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

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

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

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

七、Web 自动化测试 Java&Pyhton
了解自动化的目的,熟练掌握 testng&unittest 自动化框架,以及断言与日志处理。

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

九、敏捷测试&TestOps 构建
揭开 TestOps 的神秘面纱,持续集成 Jenkins 框架烂熟于心。

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

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在 3-4 年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

加油吧,测试员!路就在脚下,成功就在明天!

未来的你肯定会感谢现在拼命的自己!

共收到 23 条回复 时间 点赞

持续通过新技术解决老问题 :)
《兼容性测试,你们怎么玩》:https://zhuanlan.zhihu.com/p/39572804

magicyang 回复

感谢楼主的建议

loshu2003 回复

一点个人的理解,供你参考:
技术上来说,测试除了安全有门槛以外(不是仅仅会用某些安全检测工具,我以前只会用点工具,相当于不会。。。),其他光从技术看门槛都不算高。迷茫很正常。。。我一直都很迷茫~
国内都有 35 的年龄坎,找机会做管理或者安全吧,这是我个人的建议。
当然也会有高端的测试技术职位,前两天看到 LIEPIN 有 100-160W 的测试技术职位,那个要求一般人达不到。
菜鸡共勉~

这些知识基本都会,但还是感到迷茫,和题主一样入圈已经 8 年了

仅楼主可见
乾行 回复

嗯,是的,但是懂业务语言就可以进行 code review,可以查看代码就了解功能

抓包可以抓取固定 http 请求吗,然后用获取得到的数据用于测试那不是美滋滋

楼主说的很好,我的观点跟楼主一致
楼主如果把众测流程加上就更好了,目前的众测在端侧测试中十分重要!

谢谢大佬的指点迷津!😇

懂的再多,最后还是猛的点点点

java/python 搬砖技能优先.

楼主说的不错哟,测试要求越来越高了,最后你如果想做好这个工作,感觉要具备建造航天飞机的技术了,😆 😆 😆

乾行 回复

写个平台给那些不会代码的测试用用,NodeJs 是个不错的选择。

怎么能在没有实战的情况下,掌握这些内容呢

😀 思寒是 node.js 的黑粉。。

米阳MeYoung 回复

对与编写接口测试脚步,同步异步是个模板。

node.js 不适合开发核心系统是对的,但是对于测试来说,职业规划中没有考虑转开发的话,node.js 仍是测试领域效率最高的语言

tttttttttggggg 回复

阿里对 Java 要求高是因为阿里后端代码是 Java 编写的,如果从接口测试、UI 自动化测试来说,使用 Java 开发的效率太低

乾行 回复

如果为了做平台,那可以考虑学 Node, 回了 js 前后的通吃 。如果为了做自动化测试,写业务脚本,墙裂不建议用 node,各种异步到哭。过来人。

乾行 回复

nodejs 不适合 QA,nodejs 的语言、生态和底层技术,都不适用于构建公司的核心架构。未来仍然是 java、python、go 的天下。热度其实没啥用,需要多关注各家公司使用的内部技术栈。

乾行 回复

面试一下阿里你才会发现他们对 java 要求有多高,Node 还是少,可能很多公司都不给你机会

对于刚入行的新人们,建议学习 Node.js,至于为什么不选择 Java、Python,大家去 github 搜索一下目前流行的测试框架便知结果。
UI 自动化建议关注阿里的 macaca、网易的 airtest 开源代码,录制、遍历将会成为主要趋势。

嗯~ 收获了~ 谢谢大佬

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册