职业经验 java 对测试来说真的不重要吗

大佬喝可乐 · 2020年07月22日 · 最后由 退之 回复于 2021年04月21日 · 4722 次阅读

从第一份测试工作开始,进入 IT 行业大概有 5 年的时间了,我的大学专业是偏硬件的,我应该算的上是从零开始入行。本篇文章我会介绍一些我的工作经历以及为什么我更加推荐测试学习 Java。(当然这些都是我的个人观点,并不都是正确的,如果有不对的地方,还请指出)

工作经历

第一份工作 在一家传统行业做测试,我的工作基本就是 “点点点” 做最基本的功能测试。
第二份工作来到了深圳,是一家创业公司,开发的负责人让我自学 web 的自动化测试并应用到项目中。当时就开始学习并使用 python+selenium 进行回归测试,算是开始接触 python 吧,接触编程语言吧。
第三份工作去了一家物流公司的外包,因为上家公司经营状况出现了一些问题,我被开发老大推荐去了外包(因为达不到社招标准),在这家公司我开始接触到了一些自动化平台,测试工具平台,然后自己开始学 java,开始做一些简单工具。没人教,基本自己到网上学,遇到问题会请教一下同事。
这段时间掉的头发是最多的
第四份工作来到一家金融独角兽公司,当时最后一面的测试总监,和我各种聊 java 技术栈,我基本上都能回答出来,总监频繁的露出笑容和点头,那个时候我感觉只有一个字:稳!进入公司之后除了完成工作任务之外,还会做一些测试工具平台,基本就是 python 不好完成的工作我就用 Java 写,比如我们后台用 java 完成的一些加密算法,如果你用 python 可以实现,但是蛮复杂的。用 java 的话我可以直接复制开发代码,或者直接调用开发的 jar 就可以实现。金融公司正的很舒服,但是我才待了 8 个月公司就 “暴雷”(良性退出),公司还是很良心的,起码员工的赔偿都到位了,投资人的钱也没说不给退,是吧!

成长路径

现在已经开始我的第五份工作了,我才来几个月,又遇到大规模裁员
在这里插入图片描述

没被裁员还是安安心心上班吧!工作上基本上是 python+java 同时开工,搞完需求就搞搞工具,HttpRunner、Dubbo 接口测试,自己开发测试工具来提升测试需求的效率还是很爽的,得到同事的认可更加美滋滋了。
我的工作经历基本上就是:

功能测试 ->> 自动化测试: python,自动化-->>测试开发: Python,Java

这基本上也符合每个时期各个公司招聘的要求,从一开始的只要求你会功能测试,到现在招聘基本都会要求测试会自动化。我相信以后的招聘要求会越来越高,或许测开就是以后的入门标准了吧!

为什么我觉得要学 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,不管做软件还是硬件,必不可少,且效率非常高。
文笔不好,但是希望我的经历能对你有一些启发。后续还会继续分享的,如果有什么不足的地方还请指出。

最佳回复

再解释一下,为什么 Java 如此重要。(所有内容均来源左耳朵耗子的文章)

有这么一句话,离开 Java 的世界,基本上离开了做架构的世界。
首先,我们不能忽视一个基础事实:这个时代最具工业化的技术 Java。

原文链接:别让自己 “墙” 了自己

绝大部分的人确实是无法达到因语言或技术局限性限制了自己的上限的境界,但是从选择上提升自己的上限,不失为一个明智的选择。

共收到 23 条回复 时间 点赞

重要,但是请不要一上来就推广自己公众号

恒温 回复

不好意思,已经删了

我是觉得 Java 比 python 重要。。。

1。无论哪种语言都是以解决实际问题为中心的。2。测试大成者,私以为质量的思维,测试框架成熟度为重,编程语言只是手段而已。3. clickbait title。

恒温 回复

我也觉得 Java 更加重要一些,但是我感觉目前测试人员普遍比较喜欢 python,并不愿意学 Java。。。

错别字,应该是 JMeter

语言方面:我觉得掌握了通用基础和概念后,有一门常用的傍身就可以了。

入门选 python,培养出自己的语感。
深入选 java,毕竟大公司的后端、Android 都是 Java,其实 java 语法是其次的,重要的是 java 相关的高性能用法和虚拟机理解。
还有一个必学的:shell,不管做软件还是硬件,必不可少,且效率非常高。

在路上 回复

已修正,感谢大佬指正

在路上 回复

希望文章中能引用一段您的总结

Allen.liu 回复

震惊!测试人员全部转行 Java,只因......
不是标题党呢!大佬

JAVA 和测试行业有什么必然联系呢?

主要是你这名起得太 UC,哈哈😛

随便引用,客气啦

你公司如果都是用 Python 的,你测试难道还去学 java 么。。学的是理念,编程思维。编程基本都大同小异,难道 java 懂接口的,Python 就不懂了么。。。整个公司用多种语言的,也有很多,比如有的部门就是用 go,有个 java,移动端还有 OC 和 swift 呢。换个编程语言就玩不转了,那等于没会编程

simple 回复

我觉得不能说是必然联系吧!测试的职责是 “保障项目的质量”,不会 Java 也能保障你的项目质量,而学习一门语言的目的是提升你工作的效率来更好的 “保障项目的质量”。
目前市面上公司基本是 Java 作为技术栈(当然有 python,php,go 等等),如果进入到这样的公司做测试,会 Java 我觉得比只会 python 的优势要大。

基本是 java 作为技术栈这个夸张了点,通常上规模的公司技术栈都比较复杂(取决于业务复杂度)。
Java 作为提升个人编程能力的切入点是个很好的选择,因为 Java 成熟的编程规范、面向对象的理念、优秀的设计模式实践等优秀品质,对其他语言来说也可以起到很好的借鉴意义。但是对于小白来说,语言有很多规范和约束需要去遵守会增加上手难度,而 python、ruby 这种自由奔放的语言,对于初学者究竟哪个更友好,我个人倾向于学习前者的思想设计程序,利用后者的优点来解决问题。
PS: 能不能进入某个公司来说,并不是看你会不会 Java,而是多方面因素促成的,不存在 Java 比 python 优势大的说法

我现在工作中需要写 java, golang, JavaScript, typescript, python。 你非要让我排个序哪个更重要么。。。。。。。 缺了哪个我都干不下去

孙高飞 回复

虽然有多有少,写过的的确蛮多了
vbs、Ruby、Java、JavaScript、ObjectiveC、Shell、Python
没压力的时候还是会觉得有意思,有的话就很心累 😂

再解释一下,为什么 Java 如此重要。(所有内容均来源左耳朵耗子的文章)

有这么一句话,离开 Java 的世界,基本上离开了做架构的世界。
首先,我们不能忽视一个基础事实:这个时代最具工业化的技术 Java。

原文链接:别让自己 “墙” 了自己

绝大部分的人确实是无法达到因语言或技术局限性限制了自己的上限的境界,但是从选择上提升自己的上限,不失为一个明智的选择。

有点以偏概全的感觉。看侧重点吧,你要找工作,java 适用范围最广。

但是实际工作哪儿有那么简单。。。一个公司同一个组都不一定全 java 的。

我希望招到的测试同学是有敏捷的思维,有足够的质量意识,能对自己发现的 BUG 进行分析,归类,擅长沟通。如能写一些简单的代码提高自己的工作效率那就太棒了。
至于你说的懂 python 还是懂 java,who cares?要写代码的,不能直接招个开发吗,测开不是测试,这点还需要讨论?
补充一句,代码能力从来不是测试人员的核心竞争力,对业务的理解,对质量的认识,什么样的质量体系适合本企业的现状,未来又该怎么扩展可能是 leader 更关心的。
退一步讲,写测试代码能写到 35 岁吗?

人生苦短 还是更喜欢 python

跟大佬学到了 大佬 python java 都会厉害了

关键测试组的人员大部分都偏向用 python,一个人用 java 也不好配合开展工作啊

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