有很多测试小伙伴向小拿反应:找工作很难,特别是进大一点的厂!他们特别挑!!!代码要会写,要有软件架构能力,问一大坨平时根本用不到的技术问题,还挑经验,挑沟通能力,挑这挑那,有时候还特么挑学历、挑年龄,甚至还有挑星座的,也是……
而招聘者同样也面临招人难的局面。想找到一个合适的人难于上青天,每天各种撒网,简历看几百份,面大几十人,能捞到一个中意的小伙伴就谢天谢地了。
总的来说:“供求难以匹配,双方都很痛苦!”
今天小拿就来聊聊IT行业中,这个让人既爱又恨的职位:测试
1、能力要求是核心问题
软件、互联网近20年来飞速成长,其实也经历了很多阶段。
在早期,测试人员的主要工作基本都投入在了基于业务的黑盒测试上,对代码能力、系统理解的能力要求不多。
2010年后,互联网行业的真正兴起让国内软件开发模式开始缓慢调头,快速迭代的模式逐步兴起,开发周期越来越短,迭代越来越快,但系统越来越越庞大、复杂。
原来的测试工作模式和工作范围越来越无法满足要求了。但大量从业人员技能范围转变是一件很难的事情,行业是有巨大惯性的。从宏观上看大量QA技能转变跟不上需求转变是造成市场供求不匹配的主要原因。
2、什么样的人抢手
那么到底什么样的人才,才会让大厂伸出橄榄枝呢?
1)有项目经验:
有比较复杂系统的测试实战经验,你就超过了50%以上的应聘者。
什么叫做比较复杂系统呢?投入50人年开发出来的系统就可以称作一个复杂系统了。因此,复杂系统并不是很罕见。但是,如果你只接触一个简单的模块,甚至只是测试一个稳定模块的维护性开发,而不是通盘理解,不能说是测试过复杂系统。有从头到尾接触一个完整项目的经历很宝贵。
2)基础知识扎实:
对照三本书:《ISTQB基础教程》 《高级软件测试设计》 《高级软件测试管理》(后两本是ISTQB的高级认证教程)。
这里边的内容你都能熟练应用(真的是熟练应用,而不只是有概念),你就能超过80%以上的应聘者了。
3)掌握一门主流语言:
满足这条,你就超过了70%的应聘者)
什么叫做熟练呢?
拿Java来说吧:系统学习过Java的教程,高频面试50题 这样的题可以自测一下,可以回答上35个以上;
熟悉最主流的Spring框架,能够写出一个简单的网站,实现基础的Restful 服务;
读懂过一个测试框架,如mockito或者Junit的源码;
能够熟练实施接口测试(基于一些测试框架 如:rest-assured+Junit);
能够读懂开发的业务代码,对他们的代码进行Code Review。d(´ω`*)
4)深入了解某一两门语言:
满足这条,你就超过了90%的应聘者。(妙啊~)
什么叫有深入了解呢?
还拿Java来说吧):
熟练使用Java的常见API;
深入理解基于语言特性/系统特性的知识,如Collections的实现机制、类型系统、I/O、网络、多线程等;
熟知设计模式(广义范围的设计模式,不局限于GOF的设计模式);
熟悉JVM的工作模式;熟练使用调试排查工具解决性能问题;
熟练掌握市面上常见的脚手架;
熟练掌握周边知识(OPs相关,网络知识相关)有不错的实战开发经验(做过真正被生产检验的东西);
对于测试开发,AOP,Java字节码技术是很重要的知识。。。 这是一个很长的学习list,需要几年时间来养成。做到这点,其实你可以胜任普通的开发岗位了,这也是高级测试开发岗位的技术底子。
5)在一个领域知识有不错的了解:
人不可能什么都懂,但工作几年之后,会在工作的域内一定要有积累才行。
例如,你测试一个核心电商系统的交易模块三年了,业务上你一定要熟练讲出来:商品列表、购物车、下单、退单、废单、支付、发货、库存、退款、优惠使用等等一坨业务流程,和可能出现的常见的坑(各类问题产生的资损、各类问题产生的服务不可用、逻辑矛盾),不然根本无法体现你经验沉淀和深入思考;
技术角度上,你要能够画得出来系统的交互图,熟悉最核心的接口和最核心的参数,能够读懂开发的代码,熟练使用trace和监控工具,诊断定位线上问题到代码行。
6)用技术保障质量的能力:
测试开发岗一定会问到一个问题:你能够举一个你用技术手段提高测试效率,增强测试能力的例子么?
这是面试时最大的一个坎。 很多人会讲一些自动化测试回归的例子,但是真正成功的例子非常少,因为为什么做,怎么做都没有想好就照网上一个教程攒了一个,结果变成了玩具。
做好自动化,不仅仅是会使用工具、框架,其实要对被测物特性,软件生命周期有很深的理解并且有很强的开发知识才行。
实际上,在环境、CI、数据、测试用例生成、数据比对的很小的一些点上,都能有不错的提效产出,从这些点能够做得好,会得到不错的加分。有一个不错的成功案例,你胜出的几率就超过了80%,没有短板,就十拿九稳了。
7)实战经历:
以前的工作印证了你的能力。
能够讲清楚一件特别拿得出手的工作,证明你能力的案例是面试时候最有用的投名状。
8)个人特质:
一般有如下特质会大大加分:快速学习、系统性学习、学以致用、系统性思考、强大的推动力、技术思维、突出的沟通能力、条理性、抗压性、乐观精神、抗挫折能力、迅速调整的能力、迭代改进的意识、ownership、团队合作、愿景和规划。
这些特性体现人的内核,有强大内核的人,做什么都行,技能暂时不足,也一定能补足。所以,在招聘的时候往往对是否录用的判断起决定性作用。
以上就是本文的上篇内容了,在下篇内容中,我们会细致的去讲高级求职者在竞争时,会面临哪些挑战和需求;已经个人如何实现转型和进阶的问题,欢迎大家继续关注。
文章来源:网络 版权归原作者所有
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理
联系客服