从第一份测试工作开始,进入 IT 行业大概有 5 年的时间了,我的大学专业是偏硬件的,我应该算的上是从零开始入行。本篇文章我会介绍一些我的工作经历以及为什么我更加推荐测试学习 Java。(当然这些都是我的个人观点,并不都是正确的,如果有不对的地方,还请指出)
第一份工作 在一家传统行业做测试,我的工作基本就是 “点点点” 做最基本的功能测试。
第二份工作来到了深圳,是一家创业公司,开发的负责人让我自学 web 的自动化测试并应用到项目中。当时就开始学习并使用 python+selenium 进行回归测试,算是开始接触 python 吧,接触编程语言吧。
第三份工作去了一家物流公司的外包,因为上家公司经营状况出现了一些问题,我被开发老大推荐去了外包(因为达不到社招标准),在这家公司我开始接触到了一些自动化平台,测试工具平台,然后自己开始学 java,开始做一些简单工具。没人教,基本自己到网上学,遇到问题会请教一下同事。
这段时间掉的头发是最多的
第四份工作来到一家金融独角兽公司,当时最后一面的测试总监,和我各种聊 java 技术栈,我基本上都能回答出来,总监频繁的露出笑容和点头,那个时候我感觉只有一个字:稳!进入公司之后除了完成工作任务之外,还会做一些测试工具平台,基本就是 python 不好完成的工作我就用 Java 写,比如我们后台用 java 完成的一些加密算法,如果你用 python 可以实现,但是蛮复杂的。用 java 的话我可以直接复制开发代码,或者直接调用开发的 jar 就可以实现。金融公司正的很舒服,但是我才待了 8 个月公司就 “暴雷”(良性退出),公司还是很良心的,起码员工的赔偿都到位了,投资人的钱也没说不给退,是吧!
现在已经开始我的第五份工作了,我才来几个月,又遇到大规模裁员
没被裁员还是安安心心上班吧!工作上基本上是 python+java 同时开工,搞完需求就搞搞工具,HttpRunner、Dubbo 接口测试,自己开发测试工具来提升测试需求的效率还是很爽的,得到同事的认可更加美滋滋了。
我的工作经历基本上就是:
功能测试 ->> 自动化测试: python,自动化-->>测试开发: Python,Java
这基本上也符合每个时期各个公司招聘的要求,从一开始的只要求你会功能测试,到现在招聘基本都会要求测试会自动化。我相信以后的招聘要求会越来越高,或许测开就是以后的入门标准了吧!
很多的测试人员对于编程语言第一感觉就是 java 太难,Python 更加简单更加适合自己。
在中国,绝大部分企业目前都是使用的 java 技术栈做后台。举一个例子,虽然有点片面,但是我觉得能说明问题,直接在招聘网站上搜索岗位信息。
在深圳这样的 IT 城市,Python 的招聘岗位都少得可怜,可见应用范围并没有 培训机构吹得那么好。什么半年学会人工智能,毕业即就业,月入 2w。你可拉倒吧,人工智能招聘学历起码研究生起步,你研究生毕业还要去培训班学 Hello world??醒醒吧,钱没有这么好赚。
回归现实,你就是一个测试,点点点。
在这么多需要 Java 工程师的企业当中作为一个测试,你如果会 java,你就可以做一些单元测试,如果你们公司有用到 Dubbo 这种 RPC 框架,你还可以对这些 Dubbo 接口进行测试,进行调用来造测试数据。
还有工作中常接触的 Jmeter、jenkins、消息队列很多都是基于 java 的,如果你需要对这些工具进行二次开发,只会 python 的话绝对没有会 java 的测试吃香,面向工资编程,绝对不会错。
如果你只会 Python,你对开发的 dubbo 接口需要传什么参数都看不懂,怎么去测试人家的接口?
当然对于测试平台的开发,python 的 web 框架 flask,django 可以说比用 java 的 springboot 更加简单就可以搭建一个测试平台。但是如果是对于一个自学的人,你从 github 上面去找项目或者去找视频学习,很明显 java 的项目更全面,资料会更多。
编程语言只是工具,你需要一门擅长的编程语言。因为语言这个东西是相通的,你会了 java 的话,你去看 Python,你去看 go 的代码很容易理解的。让你上手的话干活的话也就一两周的事情,所以不要把你的职业生涯束缚在一门编程语言上。会的多,绝对没有坏处。
我精通各种语言的 “hello world”
不建议去外包,当然这并不绝对,在有选择的情况下,最好还是不要去外包,如果你找了 1-2 个月还没找到合适的工作,只有外包 offer 的话,还是先去外包填饱肚子把,以后再跳槽。
因为我的第三份工作是外包,而且一待就是两年,在外包你可以学到很多东西 (一般招外包的都是大公司),比如流程规范啊,代码规范啊,测试用例的规范,怎么甩锅啊等等,这些东西都很有用。但是你的外包经历会成为你下一份工作的绊脚石,HR 会直接过滤你的简历,技术面试官会觉得你很菜才会去外包,这就是通常说的 ------ 外包鄙视链
引用评论区大佬(#6,@zailushang)的总结:
入门选 python,培养出自己的语感。
深入选 java,毕竟大公司的后端、Android 都是 Java,其实 java 语法是其次的,重要的是 java 相关的高性能用法和虚拟机理解。
还有一个必学的:shell,不管做软件还是硬件,必不可少,且效率非常高。
文笔不好,但是希望我的经历能对你有一些启发。后续还会继续分享的,如果有什么不足的地方还请指出。