做到这几点,你也能成为 BAT 的抢手人才!

简介: 这两天一篇阿里、京东缩招的新闻刷爆了朋友圈,两家公司也都出来辟谣没有这回事。不管缩招是不是真的,这个行业变化快是真的,要求越来越高也是真的,

​这两天一篇阿里、京东缩招的新闻刷爆了朋友圈,两家公司也都出来辟谣没有这回事。不管缩招是不是真的,这个行业变化快是真的,要求越来越高也是真的,在这样的大背景下,未来测试岗位将何去何从,测试工程师该如何规划好自己的职业生涯,快速成长,成了很多工程师困惑的点。

有这么个普遍现象

测试招聘者,特别是一、二线互联网公司的招聘者最苦恼的事儿就是招人。想找到一个合适的人难于上青天,每天各种撒网,简历看几百份,面大几十人,能捞到一个中意的小伙伴就谢天谢地了。

但同时很多测试小伙伴发现找工作很难,特别是进大一点的厂,他们特别挑:代码要会写,要有软件架构能力,问一大坨平时根本用不到的技术问题,还挑经验,挑沟通能力,挑这挑那,有时候还特么挑学历、挑年龄。。。

供求总难以匹配起来,造成了双方都很痛苦。

Why?

能力要求不匹配是最核心的问题。

软件、互联网近20年来飞速成长,其实也经历了很多阶段:

行业软件兴盛阶段和外包兴盛阶段(2000-2010年)行业进入了大量的测试人员,当时最主流的测试实践是:重心放在系统验收阶段。测试人员的主要工作基本都投入在了基于业务的黑盒测试上,对代码能力、系统理解的能力要求不多。

2010年后,互联网行业的真正兴起让国内软件开发模式开始缓慢调头,快速迭代的模式逐步兴起,开发周期越来越短,迭代越来越快,但系统越来越越庞大、复杂。

原来的测试工作模式和工作范围越来越无法满足要求了。但大量从业人员技能范围转变是一件很难的事情,行业是有巨大惯性的。从宏观上看大量 QA 技能转变跟不上需求转变是造成市场供求不匹配的主要原因。

So What?

三个观点:

只做手工测试,不懂系统实现的测试工程师的职业发展会越来越受限;

能够转型成适应市场需求的同学将在近几年的时间获得超额回报(因为市场供不应求,企业不得不抬高价格来寻找这样的人);

对于个体来说,自我成长永远最重要,自己永远要对自己的发展负责,别依赖外部环境,自己想办法变成市场的香饽饽才靠谱。

到底什么样的人抢手?

测试的底子-项目经验

有比较复杂系统的测试实战经验,你就超过了50%以上的应聘者。

什么叫做比较复杂系统呢?投入50人年开发出来的系统就可以称作一个复杂系统了。因此,复杂系统并不是很罕见。但是,如果你只接触一个简单的模块,甚至只是测试一个稳定模块的维护性开发,而不是通盘理解,不能说是测试过复杂系统。有从头到尾接触一个完整项目的经历很宝贵。

测试的底子-基础知识

对照三本书:《ISTQB基础教程》 《高级软件测试设计》 《高级软件测试管理》(后两本是 ISTQB 的高级认证教程)。这里边的内容你都能熟练应用(真的是熟练应用,而不只是有概念),你就能超过80%以上的应聘者了。

面试过数百人,我经常会问几个问题:

如果测试时间不够,你会怎么办?

如果让你去测试一个你完全不熟悉的系统,你会怎么办?

你平时会使用那些测试设计方法?

看似很稀松平常的问题,非常考验人。因为大部分从业者都没有经受过系统训练和学习,工作多年,依然技能不足,意识跑偏。

熟练使用一门主语言

满足这条,你就超过了70%的应聘者。

什么叫做熟练呢?拿 Java 来说吧:

系统学习过Java的教程,高频面试50题 这样的题可以自测一下,可以回答上35个以上;

熟悉最主流的 Spring 框架,能够写出一个简单的网站,实现基础的Restful 服务;

读懂过一个测试框架,如 mockito 或者 Junit 的源码;能够熟练实施接口测试(基于一些测试框架 如:rest-assured+Junit );

能够读懂开发的业务代码,对他们的代码进行 Code Review;

对一门语言有比较深入了解

满足这条,你就超过了90%的应聘者。

什么叫有深入了解呢?还拿 Java 来说吧:

熟练使用 Java 的常见 API;

深入理解基于语言特性/系统特性的知识,如 Collections的实现机制、类型系统、I/O、网络、多线程等;

熟知设计模式(广义范围的设计模式,不局限于 GOF 的设计模式);

熟悉 JVM 的工作模式;熟练使用调试排查工具解决性能问题;熟练掌握市面上常见的脚手架;熟练掌握周边知识( OPs 相关,网络知识相关)有不错的实战开发经验(做过真正被生产检验的东西);

对于测试开发,AOP,Java 字节码技术是很重要的知识。。。

这是一个很长的学习 list,需要几年时间来养成。做到这点,其实你可以胜任普通的开发岗位了,这也是高级测试开发岗位的技术底子。

在一个领域知识有不错的了解

人不可能什么都懂,但工作几年之后,会在工作的域内一定要有积累才行。

例如,你测试一个核心电商系统的交易模块三年了

业务上你一定要熟练讲出来:商品列表、购物车、下单、退单、废单、支付、发货、库存、退款、优惠使用等等一坨业务流程,和可能出现的常见的坑(各类问题产生的资损、各类问题产生的服务不可用、逻辑矛盾),不然根本无法体现你经验沉淀和深入思考;

技术角度上,你要能够画得出来系统的交互图,熟悉最核心的接口和最核心的参数,能够读懂开发的代码,熟练使用 trace 和监控工具,诊断定位线上问题到代码行。

用技术保障质量的能力

测试开发岗一定会问到一个问题:你能够举一个你用技术手段提高测试效率,增强测试能力的例子么?

这是面试时最大的一个坎。 很多人会讲一些自动化测试回归的例子,但是真正成功的例子非常少,因为为什么做,怎么做都没有想好就照网上一个教程攒了一个,结果变成了玩具。

做好自动化,不仅仅是会使用工具、框架,其实要对被测物特性,软件生命周期有很深的理解并且有很强的开发知识才行。实际上,在环境、CI、数据、测试用例生成、数据比对的很小的一些点上,都能有不错的提效产出,从这些点能够做得好,会得到不错的加分。

有一个不错的成功案例,你胜出的几率就超过了80%,没有短板,就十拿九稳了。

技能以外的东西- 实战案例

以前的工作印证了你的能力。

能够讲清楚一件特别拿得出手的工作,证明你能力的案例是面试时候最有用的投名状。

技能以外的东西 - 你的个人特质

一般有如下特质会大大加分:快速学习、系统性学习、学以致用、系统性思考、强大的推动力、技术思维、突出的沟通能力、条理性、抗压性、乐观精神、抗挫折能力、迅速调整的能力、迭代改进的意识、ownership、团队合作、愿景和规划。

这些特性体现人的内核,有强大内核的人,做什么都行,技能暂时不足,也一定能补足。所以,在招聘的时候往往对是否录用的判断起决定性作用。

(文章来源于霍格沃兹测试学院)

更多优秀内容及资料可点击获取

相关文章
|
分布式计算 算法 NoSQL
去年今日我凭借这份文档,摇身一变成了被BAT大牛们看中的幸运儿
我足够努力,当然也足够幸运。现在把这份文档和这份幸运分享给你们。
68 0
|
敏捷开发 安全 项目管理
「首席看点」也许敏捷就是问题所在
「首席看点」也许敏捷就是问题所在
|
Kubernetes NoSQL 网络协议
BAT 老兵的经验之谈,成长路上这个道理越早知道越好
BAT 老兵的经验之谈,成长路上这个道理越早知道越好
159 0
BAT 老兵的经验之谈,成长路上这个道理越早知道越好
|
运维 程序员 Android开发
程序人生 - 30多岁程序员选什么样的公司可以稳妥地把技术路线走下去?
程序人生 - 30多岁程序员选什么样的公司可以稳妥地把技术路线走下去?
154 0
程序人生 - 30多岁程序员选什么样的公司可以稳妥地把技术路线走下去?
|
敏捷开发 架构师 程序员
数字化转型项目做了多年,主架构师都绝望了:当初就不应该用外包!
数字化转型已经成为了企业发展的主旋律,甚至成为各国的发展战略,疫情的发生进一步加速了全球数字技术的产业化应用步伐。“数字化”说起来容易做起来难,新兴技术变化如此之快,以至于大多数组织内部 IT 团队缺乏相应的技术能力或业务知识,如若设计或实施不当就有可能将“转型”变为一场灾难。
214 0
数字化转型项目做了多年,主架构师都绝望了:当初就不应该用外包!
WM
|
存储 canal 开发框架
我所经历的创业公司是如何做技术的?--《我与开源的故事》
人类的文明得以快速发展,很重要的一点在于我们可以站在巨人的肩膀上继续探索。而开源世界之于互联网行业来说就是这个巨人之一, 本文将重点阐述作者本人所了解的开源世界,以及如何通过开源项目做出有效个工作产出。
WM
9071 0
我所经历的创业公司是如何做技术的?--《我与开源的故事》
|
监控 安全 前端开发
做到这几点,你也能成为 BAT 的抢手人才(下)
测试工程师的高段位要求 计算机领域知识的通盘理解
|
程序员
程序员你上班的差距这么大你知道吗?——BAT企业大揭秘
谈到中国互联网,就绕不开 BAT。 而三家公司的企业文化又各有不同, 让我们一起看看吧~   -上班篇-   腾讯因为QQ企鹅形象被称为鹅厂。
1295 0
|
机器学习/深度学习
为了这位视障人士,阿里工程师改造了一间“会照顾人”的家
来自阿里云IoT团队的工程师木酱参加了央视的《秘密大改造》,做了一个极具挑战的项目,为一位视障人士进行家居改造,希望给房子的主人一个能认识、陪伴、照顾他的家。
1742 0