去百度/阿里/腾讯…做测试的,都是什么样的人?
测试这条路上其实有不少一路“躺赢”的同学,拿着offer功成身退。但是!
也有很多测试小伙伴频频反映:找工作很难,特别是进大一点的厂!他们特别挑!!!
而去百度、阿里、腾讯……等顶级大厂,那里做测试的,他们到底是什么样的人?
今天就来聊聊IT行业中这个让人既爱又恨的职位:测试!!!

一、能力要求是核心问题
软件、互联网近20年来飞速成长,经历了很多阶段。
行业软件兴盛阶段和外包兴盛阶段(2000-2010年)行业进入了大量的测试人员,当时最主流的测试实践是:重心放在系统验收阶段。测试人员的主要工作基本都投入在了基于业务的黑盒测试上,对代码能力、系统理解的能力要求不多。
2010年后,互联网行业的真正兴起让国内软件开发模式开始缓慢调头,快速迭代的模式逐步兴起,开发周期越来越短,迭代越来越快,但系统越来越越庞大、复杂。
原来的测试工作模式和工作范围越来越无法满足要求了。但大量从业人员技能范围转变是一件很难的事情,行业是有巨大惯性的。
二、什么样的人抢手?
那么到底什么样的人才才会让大厂伸出橄榄枝呢?
1、测试的底子-项目经验:
有比较复杂系统的测试实战经验,你就超过了50%以上的应聘者。
什么叫做比较复杂系统呢?投入50人开发出来的系统就可以称作一个复杂系统了。因此,复杂系统并不是很罕见。
但是,如果你只接触一个简单的模块,甚至只是测试一个稳定模块的维护性开发,而不是通盘理解,不能说是测试过复杂系统。有从头到尾接触一个完整项目的经历很宝贵。

2、测试的底子-基础知识:
面试官通常会喜欢问几个问题:
如果测试时间不够,你会怎么办?
如果让你去测试一个你完全不熟悉的系统,你会怎么办?
你平时会使用哪些测试设计方法?
看似很稀松平常的问题,非常考验人。因为大部分从业者都没有经受过系统训练和学习,工作多年,依然技能不足,意识跑偏。
3、熟练使用一门主语言:
满足这条,你就超过了70%的应聘者。什么叫做熟练呢?
拿Java来说吧:
学过一个测试框架。
能够熟练实施接口测试(基于一些测试框架如:rest-assured+Junit)。
能够读懂开发的业务代码,对他们的代码进行Code Review。
4、对一门语言有比较深入了解:
满足这条,你就超过了90%的应聘者。什么叫有深入了解呢?
还拿Java来说吧:
熟练使用Java的常见API/深入理解基于语言特性/系统特性的知识,如Collections的实现机制、类型系统、I/O、网络、多线程等;
熟知设计模式(广义范围的设计模式,不局限于GOF的设计模式)。
熟悉JVM的工作模式;熟练使用调试排查工具解决性能问题;熟练掌握市面上常见的脚手架。
熟练掌握周边知识(OPs相关,网络知识相关)有不错的实战开发经验(做过真正被生产检验的东西)。
做到这些,就可以胜任普通的开发岗位了,这也是高级测试开发岗位的技术底子,当然也需要时间的沉淀。

5、在一个领域知识有不错的了解:
人不可能什么都懂,但工作几年之后,会在工作的域内一定要有积累才行。
例如:
你测试一个核心电商系统的交易模块三年了,业务上你一定要熟练讲出来:商品列表、购物车、下单、退单、废单、支付、发货、库存、退款、优惠使用等等一坨业务流程以及可能出现的常见的坑(各类问题产生的资损、各类问题产生的服务不可用、逻辑矛盾),不然根本无法体现你经验沉淀和深入思考。
技术角度上,你要能够画得出来系统的交互图,熟悉最核心的接口和最核心的参数,能够读懂开发的代码,熟练使用trace和监控工具,诊断定位线上问题到代码行。
6、用技术保障质量的能力:
测试开发岗一定会问到一个问题:你能够举一个你用技术手段提高测试效率,增强测试能力的例子么?这是面试时最大的一个坎。
做好自动化,不仅仅是会使用工具、框架,其实要对被测物特性,软件生命周期有很深的理解并且有很强的开发知识才行。
实际上,在环境、CI、数据、测试用例生成、数据比对的很小的一些点上,都能有不错的提效产出,从这些点能够做得好,会得到不错的加分。有一个不错的成功案例,你胜出的几率就超过了80%,没有短板,就十拿九稳了。

7、技能以外的东西- 实战案例:
以前的工作印证了你的能力。能够讲清楚一件特别拿得出手的工作,证明你能力的案例是面试时候最有用的投名状。
三、高段位怎么转型/怎么进阶?
➤ 001 计算机领域知识的通盘理解
这条范围非常大,但最最基础的知识是不能有盲点的:
如操作系统工作基础原理与基础操作/数据库知识/Web及移动端知识/安全知识/软件工程和开发过程管理等。
➤ 002 在一个域的深耕
人不可能什么都懂,但在一个领域是需要深耕的。
比如你之前所有操作的成功例子,我敢保障,你会被一线大厂疯抢。职级基本都是专家起。
➤ 003 持续学习能力和复杂问题解决能力
很好的项目管理能力,一定的软件架构能力,一定的产品sense,极好的沟通能力。
➤ 004 选择有挑战的团队,选择有挑战的团队
先问:在团队里有很多人比我强么?周围的同事都是我佩服的么?我做的事儿有挑战么?
如果这三点都是否定的,并且你处于职业生涯的早期。也许,你该考虑一下换个团队了。
最后一条,小编忠告:一旦选择,请务必坚持!!