一、岗位校招情况介绍
1.1 测试岗位介绍
测试岗在软件行业中非常重要。在产品的研发过程中,若是不经过测试,势必会使软件带着一些未揭露的缺陷投入生产运行,将会给用户造成困扰。久而久之,糟糕的产品体验势必会造成用户流失。对于一家企业来说,投入在测试岗位上的成本,远低于风险暴露给客户之后,后续的售后和维护成本,所以几乎所有的软件公司都会招聘测试岗位来进行质量保证。
下面是IEEE(电气与电子工程师协会)对软件测试的定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
然而,当今的测试岗位对测试工程师的提出更高的要求,测试工程师的职责,已经不仅仅是在测试阶段去发现缺陷,而是需要对整个研发流程进行质量把控,并提升产研效能,实现更快更稳健的商业交付。
但同时,测试岗位的入行门槛相对于开发岗位而言,又是比较低的。有很多非科班(非计算机专业)出身的同学都在从事这个职业,比如通信、电子、自动化、物理、数学等专业。
1.2 测试岗位分类
软件测试的分类有很多种,以下搜集了主流招聘网站上的岗位需求,把测试岗位进行划分,可分为:
功能测试:
主要就是对产品的功能进行测试,检验产品功能是否满足需求。要想做好功能测试,需要对产品和业务比较熟悉,另外需要掌握黑盒测试的测试方法。被测产品主要是APP、PC端应用、小程序、H5、后台系统等。
性能测试:
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。需要熟悉服务端的各项性能指标,以及对市面上的压测工具要有所了解。
游戏测试:
游戏测试也是软件测试的一部分,同样具备了软件测试所有的共同的特性。主要被测对象,包括主机游戏、PC端游、网页游戏、手游等游戏产品进行测试。拿手游为例,不仅仅要热爱游戏,乐于钻研游戏设定,对游戏有深入理解,还需要对APP的测试工具和测试方法有所了解,如果对Unity、Unreal等业界主流游戏引擎有了解,或者熟悉主流的 iOS / Android 自动化测试框架或工具,则是加分项。
测试开发:
现在大厂招聘最多的测试岗位也是测试开发,普通的功能测试都逐渐外包出去了。测试开发岗位对技术要求更高,不仅要熟悉业务测试,还要具备一定的开发能力,比如要开发一些满足业务测试需求的测试工具/测试平台/效能工具等等。大部分的公司招测试开发,都会要求至少掌握一门编程语言,初学者建议可以学习Python/Java。另外,测试开发对于测试能力的要求也比较高,需要掌握一定的自动化测试基础、接口测试基础、性能测试基础等等,此外,还需要对主流的CI工具有所了解。
下图是字节跳动测试开发岗位(应届毕业生)的招聘要求
安全测试:
安全测试是在软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。说到安全测试,往往会联想到渗透测试,安全测试的目的是找出系统的安全隐患,而渗透测试是以攻击者的角度,以成功入侵系统,证明系统存在安全问题为出发点。本专刊提到的安全测试,是安全测试和渗透测试的集合。
大数据测试:
大数据测试是近几年新兴的一种测试岗位,数据是互联网的命脉,当前数据量已经十分庞大,伴随着大数据开发,相应的也衍生了大数据测试。大数据怎么测呢?其实大数据也是可以从 ISO9126 软件质量模型的六大特性:功能性、易用性、可靠性、效率性、可维护性和可移植性去展开,只不过说测试的对象是大数据和围绕大数据建设的产品,而不是我们常见的APP的功能。大数据测试需要掌握大数据相关的工具和软件,比如Hadoop、Hive、Spark、Flink和BI等等。
自动化测试:
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,即利用工具或脚本达到测试目的,没有人工或者极少人工参与的软件测试活动称为自动化测试。目前习惯于把自动化测试分成UI自动化测试、接口自动化测试、单元自动化测试三大块。UI自动化是对图形化界面进行流程和功能等方面进行测试;接口自动化则是测试系统组件间接口的请求和返回,接口测试稳定性高,更适合开展自动化;单元自动化测试是自动化的完成对代码中的类和方法进行测试,主要关注代码实现细节及业务逻辑等方面。
以上就是校招中比较常见的测试岗位的划分。因每个企业业务发展状况和团队规模都不相同,可能存在一些企业对测试岗位进行更细的划分,这里不再展开列举。
1.3 测试岗位市场需求量
下图是 知名测试社区 Testerhome 的业务测试开发的占比数据:
深蓝色代表2020年度数据,浅蓝色代表2019年度数据,粉色则是代表2018年度数据。
从图中,我们可以得到三条信息:
(1)2020年和2019年的数据差别不大,所以这两年的测试和开发占比总体趋于稳定。
(2)测试和开发占比在1:3、1:(3~5)、1:(6~10)的公司,占比超过90%,说明大部分企业对于测试岗位还是比较重视的。其中,测试开发占比在1:(3~5)的公司,占比超过了40%,说明大部分企业比较认同这样的人员配比,从这个占比可以推断出测试岗位的市场需求量是比较大的。
注:笔者所在的公司测试开发占比也是1:5,一个最小开发团队的人员配比,可按岗位角色划分为:1个测试人员、2个后端研发、3个前端开发(包含1个Android、1个iOS 和 1个小程序H5开发)
目前软件行业的发展十分迅猛,近几年互联网科技企业越来越多,并且传统企业也纷纷向互联网转型,软件测试岗位的需求量也日益增大,笔者从各大招聘网站以及部分知名企业的校招官网获悉,目前有很多公司在招聘软件测试岗位,软件测试岗位的前景还是十分可观的。
在互联网公司中,测试和开发同属研发部门(测试工程师也是程序员),虽说测试岗位的技术门槛普遍比开发岗位低,但岗位发展的潜力并不低。随着技术的进步,越来越多的行业新技术将被运用到测试工作中。
1.4 薪资情况
测试工程师在软件行业中薪资较高,下图是笔者根据招聘网站数据做的薪资分布统计。
实习生 薪资普遍分布在 4k~12K 之间
应届生 薪资普遍分布在 8k~17k 之间
1-3年经验 薪资普遍在 10k~21k 之间
3-5年经验 薪资普遍在 12k~31k 之间
5年经验以上 薪资普遍在 18k~60k 之间
(数据仅供参考,根据个人资历和公司薪酬福利水平不同,会有偏差)
现阶段国内的互联网企业基本上都扎堆在一二线城市,测试岗位的薪资福利待遇在一二线城市中处于中上水平,若想长期在大城市中生活,对测试行业感兴趣,并且期望拥有较高的收入,那么测试岗位绝对是值得投递的一个岗位。
1.5 测试岗位校招概况
校园招聘是企业面向应届毕业生专门举办的招聘会,每年举办两场校园招聘会,分别是秋招和春招。
秋招,即秋季校园招聘,每年秋季举行(时间为每年的8月至10月),是一年之中规模最大的校园招聘。在秋招阶段,参与的企业最多,如果没有考研计划的同学,应该提前做好准备,抓住面试机会。
春招,即春季校园招聘,每年春季举行(时间为每年的3月至5月),一般都是一些企业的秋招名额没有招满,对此再进行一轮补招,规模比秋招小很多。
校招的流程
一般来说内推和网申的时间大抵相同。
内推就是可以找一些已经工作的师兄师姐帮忙进行内部推荐,内推的好处就是简历将获得优先筛选资格,并且你也可以通过内推人能够更深入地了解公司和部门。
网申就是直接在官网上投递简历,对于简历的筛选可能会更严格一些。
除了内推和网申之外,往年也会有一些企业也会进入校园开展线下宣讲会,同学们也可以在线下宣讲会现场进行投递简历,但近两年因为疫情原因,很多企业不组织线下宣讲会,而是纷纷采用空中宣讲会的形式。大家应当从企业官网或企业招聘公众号去获取线上宣讲会的时间,关注招聘动态。
笔试包括线上笔试和线下笔试,主要就是通过做一些岗位相关的笔试题来进行初筛。线下笔试通常是在宣讲会现场进行笔试,笔试通过的话,很快会安排面试。但因为疫情原因,暂时基本都是进行线上笔试了。
面试是整个校招环节的重头戏,面试的形式也是多种多样,按形式划分:电话面试、视频面试、现场面试,有些公司的面试还会安排群面。
当全部面试都通过之后,将会由HR向你发放offer,到了入职当天,即可凭借offer和相关证件资料到公司办理入职手续并签订劳动合同。
如何能够获取校招信息?
(1)最快捷准确的渠道,是公司的官网或官方招聘公众号。一般按官网上的要求投递简历即可。
(2)关注学校组织的校园招聘会信息,可到招聘会现场参与面试。
测试岗位校招面试准备:
提前复习准备面试相当重要,很多同学有一个思想上的误区:努力就一定有收获。只要把基础知识,进行系统化的学习,抱着几本厚厚的测试书籍就开始啃,啃完了就一定能找到合适的工作。
其实这个想法是不正确的。找工作和研究学术还不太一样,找工作是有时效性的,应届毕业生只会在校招阶段找工作,这个窗口期很短暂,超过窗口期,你找工作的难度就会越大。根本没有那么多的时间从头到尾按部就班的学习(除非你很早就做好了职业规划,很早就进行系统性的学习),所以我们需要更高效的进行学习或复习,可以多参考大公司的招聘要求,按照招聘要求上的提到的技术或技能,进行针对性的学习。
找工作是双向选择,技术扎实只是其中的一项考核要素,学历背景、沟通表达能力、抗压能力、性格气质等等,也都是面试的考核要素。所以在面试准备的时候,也要注意提前进行模拟面试,确保在面试中因为过于紧张,发挥失常,导致面试失利。
牛客网具备一站式面试复习指导,笔试真题/面试经验/模拟面试,应有尽有,是面试复习的好帮手。