当前位置: 首页 » 资讯 » 综合 » 正文

测试工程师在未来,需要哪些能力?

发布日期:2023-06-19 16:23:49     浏览次数:7
核心提示:在整个IT行业里,「测试」岗位一直很容易被人视作一个「不被重视」、「苦哈哈」的打杂、附属岗位,作为一名测试老兵,我深有体会。 身为一名老兵,我觉得应该站出来为「测试」讲两句。

在整个IT行业里,「测试」岗位一直很容易被人视作一个「不被重视」、「苦哈哈」的打杂、附属岗位,作为一名测试老兵,我深有体会。

身为一名老兵,我觉得应该站出来为「测试」讲两句。

首先,「不被重视」倒是真的,在很多公司都一样,开发、产品经理哪一个都更比测试更为重视。但谁要是说「测试」是一个没有意思、没什么前途的工作,我第一个站出来反对。就我个人的切身体会来看(本人在IT领域16年,开发2年,测试14年,目前在国内某家股份制银行担任技术经理一职),测试是一个「深不见底」、「需要做很多体力活」、「需要以技术为杠杆」、「实际上极度有趣」并且当你想做好它,也「很有技术含量」的工作。

这么多年下来,我个人还是很喜欢测试的,也真心觉得自己的工作很有成就感。当然,我现在的测试工作肯定不是类似一线员工「点点点」的测试,任谁如果每天对着页面「点点点」,那也会觉得没意思。

所以,我想试图用尽量通俗易懂的语言来描述:

测试工作如何做「才能变得有趣」、「才能富有技术含量」和「才能深不见底」。

要弄清楚这一点,还是回到原始的起点:测试工程师到底是做什么的?

关于这个问题,各种测试公众号、各种知乎大牛都有不同的解答,包括我自己也曾经自以为是的说过一些不知所云的答案。这一次,我想换一种方式来跟大家一起弄清楚这个问题。

我的答案是这样的:

测试工程师本质上是交付质量,这里说的质量,我更愿意理解为:「利用最小的成本、满足业务需求、发现缺陷、交付符合要求的系统」。

有的时候,测试就像是医生,运用所学知识对病人(产品)进行望、闻、问、切,找出病因(BUG),并对症下药(提交到对应的人员解决)。

有的时候,测试就像是品菜师,运用所学知识对菜品(产品)进行尝试,利用一些工具,以身试法,找到菜品不合规的原因,提出自己的看法(可靠性、易用性、安全性),并对菜品下架重做。

有的时候,测试就像是健身房的教练,运用所学的知识对学员(开发)进行指导,告诉他们不要这样,要那样(解读需求),因为那样更有益健康(符合需求)。

有的时候,测试就像是高铁列车的质检工人,这辆列车的列车驾驶员(开发)还在驾驶中,列车以每小时350KM的速度在飞速前进,老板跟你说:「年轻人嘛,加加班,今天晚上把这个列车质量检查一下,没问题明天交付上线」!

所以,测试工程师岗位,是一件入门很容易,但实际上「深不见底」、「需要做很多体力活」、「需要以技术为杠杆」、「实际上极度有趣」的工作。

01测试工程师的个人发展和职业规划

但凡在测试圈混了3-5年的人都知道,整个IT行业处于一种发展快速、变化也快的行业,待在这个行业里,既让人赚的比传统行业多一些,让人感到兴奋,也让人时时刻刻感到不安,极其缺乏安全感。

感到兴奋是因为:

每隔几天你总能看到新的事物、技术、咨询,甚至自己亲身参与到一场变革过程中;

感到没安全感是因为:

即使你现在很牛,你也没办法保证你一直这样牛下去,未来的某一天,你也会被无情地抛在时代的背后,被另外一群牛人所替代。

我身边有位朋友,曾经在一家外企做网络电讯方面的开发经理,在朗讯、阿尔卡特、诺基亚等大厂工作过,外企的工作氛围就是人性化,工作压力不大,那几年他也给自己「放了假」,每天晚上回家不是看电视剧、就是打游戏,Dota、王者荣耀、LOL、堡垒之夜……,各种游戏连翻着玩。

后来呢?这位朋友彻底把自己整「废了」,等自己从游戏海洋里出来时,整个电讯行业已经翻天地覆了,已经不是他熟悉的那个行业了。

现在大家围绕着这样、那样的焦虑,这些焦虑伴随着大家的生活和工作,所以,我想跟大家聊一些具有可操作性的建议,大家看完可以带走的经验。

问题及建议   在换工作时,如何做出合适的选择?  

是去大公司还是去小公司?

是该看重当前的受益还是看重技术学习环境氛围?

是该去一家离家近但各方面很一般的公司?还是去一家离家远但是似乎很远潜力的公司?

是该现在跳槽换工作吗?还是现在蛰伏一下,等明年换一个更合适的?

下面列举一些「坑」,在做选择时,可以避开:

1、新入没人带

你的能力再厉害,哪怕你是技术大牛。如果你不能融入一家公司、不熟悉这家公司的技术或业务、不了解各个关键岗位的人员和作用,依然会陷入瓶颈,最后只能胡子眉毛一把抓。

如果你是一个刚入行没多久的新人,最重要的是需要负责一项具体的事情,让自己能够积累到某些技能,且在这个过程中特别需要某些「老员工」具体的指导。如果不幸去了一个没有「传帮带」文化的团队,入职公司领完电脑就开始干活、干活、继续干活,最后你自己也只能迷失在公司制定的KPI之中。

2、一味追求「大公司」或「高职位」

如果你有一定的经验了,追求某些所谓「大公司」的光环背景而去了BAT,很大程度上会按部就班地成为一颗螺丝钉,每个人职业生涯的黄金年龄就那么几年,顶着「大公司」的光环不愿放弃,做的事情却又是每天拧拧螺丝钉的重复事情,那确实挺耽误事的。

有些公司在设计岗位Title时,会故意设计的高一些,这是老板为了吸引人才的一种策略。

比如我家楼下有家理发店,里面的Tony老师的岗位名称是:上海首席发型设计师,听起来很高大上对吧,但实际上也是每天剪剪剪,做的工作其实和普通理发师没有什么区别。

有些公司为了吸引高端人才加入,设立了「测试总监」、「测试经理」、「高级测试经验」等岗位,实际上做的事情可能也和「测试工程师」差不多。

换工作时,更重要的是了解这个岗位的工作内容,而不是岗位的Title和附加的大公司光环。

3、团队或领导不靠谱

这种情况特别惨。

当你去了一家公司后,发现团队的目标还不确定,或者干脆没有目标,测试团队几个人像一盘散沙,几颗螺丝钉没有任何想法,还互相觉得对方很Low。

再有就是领导特别不靠谱,直属领导的思路太过于跳跃,三天一大变、两天一小变,一年到头折腾来折腾去,什么也没有做好。很多思路全是在纸上谈兵,无法完成落地。

如果遇到这些情况,我建议可以考虑跑路了。

4、测试可有可无

无容置疑,测试工程师与开发工程师、产品经理相比,天然是相对较弱的,往往在公司或团队中只能扮演一些「辅助」角色,拿着放大镜深入到产品业务需求当中去。

既然实际情况是这样,那么我强烈建议你去一家这样的公司:

能够学习到公司的核心业务、开发的技术架构体系。在这里你会有更大的机会和空间成为真正可以做到工作职责的贯穿,做一名既精通业务,也了解开发技术的优秀测试工程师。

否则的话,测试工程师在团队中只能沦为一个:只会打杂的体力工。

02
「不可替代性」、「核心竞争力」在哪里?

经常有各个公司的朋友来跟我吐槽,为什么我的测试领域总是有「外行领导内行」的现象?新来的领导以前是做开发的、运营的、产品的……什么都有,总之,随便一个岗位的领导都可以来负责测试团队,这是为什么呢?

前一段时间我看了几集「功勋」电视剧深有感触,也许答案就在这里。

在航天科研领域,要造火箭上天的,大部分外行领导都知道自己是外行,自己懂不懂心里面都有数,瞎指挥容易出事自己还要担责任,所以管理策略也跟着进化。

电视剧里面的玩法是:外行领导到了一个岗位,第一件事就是要找出来团队里最懂的人,让他来管技术,自己管人力、风险和进度什么的,天天找这个懂行的来问就好了。

这位外行领导知道,如果自己不懂装懂、盲目跟着瞎参合最后会暴雷出问题的,与其这样,不如驾驭一个懂行的人来做事。

套用互联网里的黑话,这位外行领导是找到了「工作抓手」。

有些行业确实相反的,比如测试这一行业,技术门槛太低了(很多公司的测试同学每天还处于:点点点、测试用例、点点点、提个Bug、发个报告的工作现状),可替代性太高了,自然而然会轻视专业人士。

即使你现在团队里面使用了自动化测试、性能测试、安全测试。这些都属于传统专项测试,除了大规模项目的全链路性能测试外,其他整体来说技术门槛并不高,来应聘的面试者人数也很多,可选择的空间特别大。

外行领导来了后经过学习后,随便看一遍都觉得自己都掌握了,还要你来教我?别闹了。

我想表达的是:主要原因是因为你做的工作没有难度,难度太高的话,领导啥也不懂,都得指望你,自然会惯着你,你的核心竞争力就强。如果你的工作本身难度不大,只是工作很繁琐,执行的事情很多,那么对不起哦,可能领导觉得确实没啥必要给你激励,对你啥态度就很难说了。

怎样提高技术深度,怎样形成属于「测试工程师的护城河」呢?

最后给大家整点看完能带走的知识经验,送大家两个经验点吧!

  经验1    在测试领域的某个方向,做到超过80%的人  

我曾经在一家世界500强的知名外企工作了8年,当时那8年主要做的工作是关于自动化测试。当我做到第四年的时候,我可以很有自信的说一句:我的自动化测试能力超过了公司内80%以上的人,为什么这么说?请看看以自己为例,几点经历:

公司给新入的自动化测试培训我有参与设计培训内容、参与培训;公司内几个关键项目的自动化测试框架也是我主导和大家一起设计编写的;在公司内其他团队只要遇到了自动化测试相关的问题都会来请教我;公司内做了N多次的技术分享,反响都很不错。曾经在一家外企,领导派我出国跟国外团队做了几周的自动化测试培训;最重要的是,不但我自己认为自己在自动化测试方面有一定技术积累,当时我的领导也是这样认为的。

那么,你说,我的「护城河」够不够宽?

所以这里给大家两个触手可及的方向:

1、自动化测试(不局限于随便写点脚本,要能因地制宜设计自动化测试框架,要让整个团队都运转高效)

2、性能测试(不局限于用JMeter这个工具执行操作,要能找到性能的瓶颈,要能指导开发调优代码)

想要看具体的技术细节,大家可以翻到本文底部,购买书籍学习。

  经验2    独一无二的能力  

我做了2年的开发,14年的测试工作,那么,我自己有核心竞争力吗?

我的答案是肯定的。至少,现在我要是说我出来看看机会的话,估计愿意来「勾搭」我的公司应该不少于5家。

很多朋友可能会好奇,你的竞争力体现在哪里呢?

1、搭建一个高效的测试体系

当你去到一家公司后,在原先的测试体系之上如何调整,让整个团队的工作更高效,我想我应该是有这个能力的。

至少,我目前的公司在国内还称得上是「非常有口碑」的,我在这里做了很多很多提高测试效率的优秀实践,搭建并优化了一系列体系化的事情,这一块是非常有价值、实打实的技术突破,去任何一家公司都能拿来即用。

2、架构调优能力

一个架构图拿出来,介绍一下基本业务和技术栈,我问几个关键问题,就能弄清楚这个架构的「系统瓶颈」可能会出现在哪里。

这当然是开玩笑,我的能力还没有公司领导那么优秀,有些量级特别大或比较特殊的业务架构对我来说可能有些难度,但是如果传统软件架构要做设计重构,我肚子里是有很多技术干货、经验派的上用场的。

这个能力并不是在学校里面学到的,而是通过在工作中承担了极大的压力,倒逼自己做到的。

3、开发能力

我自认为还算精通Java和Python语言,这些年写了不少东西。前端React、Vue也做过不少前端页面,小程序我也自己开发过几个,iOS游戏和应用也写过不少,DevOps的技术也研究了不少、插件开发写过一点,大学里还用.net写过游戏外挂……,总之,什么方向都会涉及一些,至少,自己对这些技术比较感兴趣。

做了这么多前端、客户端的工程,你要问我有什么收获没有,我觉得是锻炼了自己的「产品设计能力」。其实,动手糊几个前端页面并没有什么了不起,关键是,你得做得像那么回事吧,得像个「真正的产品」。

从上面三项中的任意一项单拿出来看,似乎并没有什么了不起,很多朋友都有。但是把三项能力聚合在一个人身上,那么这个能力就会是独一无二的了。

头条分类

免责声明:本站所有信息由各公司自行发布,请在交易前确认真实合法性,本站不承担任何交易及此类作品侵权行为的直接责任及连带责任!