近年来,以云计算、移动互联网、物联网、工业互联网、人工智能、大数据及区块链等新一代信息技术构建的智能化应用和产品出现爆发式增长,突破了传统对于软件形态的认知,软件形态正以各种展现方式诠释着对新型智能软件的定义。这也使得软件的质量要求也在从传统功能、性能、安全这些基础层面向着用户体验、数据监测、缺陷预测等全生命周期的高端层面延伸。
毫无疑问,软件定义将引领新一轮的信息技术变革,软件测试也将迎来新一轮的爆发,进而带动产品、服务和模式的创新,并催生新的业态和经济增长点。
那么软件市场的快速发展带动软件测试需求的高速增长的同时,软件测试行业未来会有怎样的发展趋势和发展空间?
希望今天这篇文章能够给大家提供一些新的思路以及借鉴经验。
01
软件测试行业是否还有前景?
如何直观的看待一个行业是否有前景,最好的方式便是看市场需求。需求量越大的岗位, 就有越多的选择机会,这点是毋庸置疑的。
根据Gartner的预测:到了2023年,全球相应的软件测试市场,预计将出现14%的综合年度增长率。由此可见,未来IT行业的“抢人大战”,将会一触即发 。
另外, 目前国内很多高校的计算机相关课程里基本是没有专门设置的软件测试课程的, 这其实是一个很大的缺口。而且近几年国家也在大力发展人工智能、5G、物联网等互联网技术,这些技术产出的项目都需要依赖专业的测试人才进行测试, 检验通过后才能提供给终端客户使用。
02
软件测试的就业方向有哪些?
软件测试发展方向呈现多元化。
手机APP测试:手机APP分为android和ios个平台,平台不同,功能、兼容性、自动化框架不同,这几年移动互联网的爆发式发展让手机APP测试工程师需求大量增加。
Web测试:在几年之前,移动端互联网没有爆发之前,Web测试是测试的主流方向,虽然现在被移动互联网分了一杯羹,但是需求仍然很大,Web测试包括网站测试,Web服务器测试。
游戏测试:只要有游戏就有游戏测试,手游和网游都需要,如果你喜欢玩游戏,从事游戏测试再适合不过了。
网络设备测试:这块测试一般工程量比较大,服务的都是企业级的客户,比如路由器、防火墙,像华为、中兴、电信等企业每年都需要大量的网络设备测试工程师。
金融测试:金融业软件测试作为整个金融产品生产周期中重要的一个环节,起着重要作用,尤其是对金融产品创新和风险控制等方面有着不可或缺的作用。金融测试同时也需要一定的业务能力和金融知识。
云产品测试:这是现在较新的测试领域,还处于初级发展阶段,主要是领域是云存储和云计算。比如说阿里云,百度云,我国现在的在大力发展云产品,做云产品测试是一个不错的发展方向。
03
软件测试创业者的职业发展路线是什么?
从普遍的思维来看,测试从业者的发展路径,技术方向 & 管理方向 。我们先看通用的两个方向:
一、技术方向
1. 测试开发工程师:
支撑测试部门,服务于测试部门;通过系列的技术手段,提升测试团队的工作效率 ;如开发测试部门所需的测试工具、各种脚本;开发测试部门的测试平台、写一些能提升业务测试工程师效率的造数据小工具(毕竟造数据是很多团队效率障碍的真凶之一);偶尔,也需要做性能测试 。
当然,不同公司不一样。不排除,有些公司这个岗位,让你去测功能偏多;或者利用已有的测试工具,执行自动化测试 & 性能测试 等 。
门槛:必须具备一定的代码能力(能看懂、能写);最好有一点测试思维,能理解测试部门的业务需求,对测试整个流程、诉求、痛点了解,能基于诉求、痛点,开发出能解决问题的小工具,提高效率 。
2. 自动化测试工程师:
通过开源的自动化工具,或者一些商业工具(或者 公司内部 测试开发团队写的工具),执行自动化测试,以及确定自动化测试方案 等 。
门槛:对常用测试工具熟悉,了解自动化测试流程,得具备基本的代码能力 等,能进行一些简单的脚本修改 & 编写 。
延伸: 自动化测试工程师,现在其实也归类到「业务测试工程师」的范畴了,
3. 性能测试工程师:不仅仅是用Jmeter 等工具来测试性能;而是性能分析、风险控制、性能评估、给出调优建议 & 结果 等 。
门槛:水很深,不是玩玩工具就可以的。专职岗位不多,门槛也相对较高 ;
4. 测试架构师 :整个测试部,技术方向把控 。
门槛:测试方面的理论、方向,软件工程,语言基础,系统架构 等,都必须得具备;且需要一定的沟通能力 。新测试技术、方案、工具 的预研;引入新的测试技术,及 测试方案,带领测试部门,高效高质 ,是测试团队,测试技术 & 测试经验 的领军人物,具备团队影响力
5. 业务测试工程师(title也许是:测试工程师 / 高级测试工程师 / 资深测试工程师 / 自动化测试 ):一般来说,也是技术方向,得专项到某个业务方向,偏业务方面多点 。
二、管理方向
1. 测试组长:公司只有几个测试的情况下,一般会有个测试组长,管几个业务测试工程师,团队功能测试为主,无专职测试开发岗位 。
2. 测试主管,同1,只是岗位名不同;
唯一区别的是,测试主管上级可能是测试经理;测试组长上级,应该就是研发老大,属于研发部门的一个小组(当然,只是大方向,不一定完全这样;也有很多独立的测试部门,组织架构是:测试组长 ->测试经理 -> 测试总监) 。
3. 测试经理:一般来说,管理一个测试部门,下设多个「业务测试组」;也许会有一个独立的「测试开发组」服务于业务测试团队,提升效率; 除了关注技术本身,还得关注部门发展、绩效等(是的,具备 升职、加薪、裁员 等权限)。
4. 项目测试负责人:很多项目制形式的团队,带领几个测试人员,对这个项目的整体质量负责,协调资源,确保整个项目最终质量;参考(业务测试工程师) 。
5. 测试总监 :对整个公司的所有系统质量负责,质量部门的最高负责人;测试经理延伸;
市场上岗位有限,看机遇,缘分 。
6. 质量副总裁(测试副总裁):看到有一些公司在招这类岗位,但非常少;
具体内容,参考 测试总监,没啥太大区别 ;
7. 研发总监 :很多技术体系 + 技术底层沉淀足够的,且运气不错,加上自己足够努力的,转「转发总监」也是可以的,不过难(门槛高);
8. 事业部总监(负责人):做测试的过程中,带某条业务线,深度足够后,如有机会,可以直接负责那条线,最终运气不错的,有成为事业部总监的可能性(身边有成功案例),不过看运气 + 自身努力(门槛高);
聊了两个常规方向,再带大家看几个其他方向。除了技术或管理 ,其实还有几个方向可发展 ,而不是非要死在测试这颗树上 。比如:
1. 产品经理 :测试转产品,是非常适合的一条路,身边很多这类成功案例;毕竟,平时项目中,测试是对业务最了解的 ;
2. 开发工程师 :参考 测试开发工程师 ;
3. 转行做「咨询顾问」「培训老师」「运维」「技术支持」也是另外的出路;
以上分析了这么多,相信大家应该可以认识到:时代在发展,技术在进步。“互联网+“时代的风靡,越来越多的行业向数字化转型道路上,都增加了互联网技术人才的需求。软件测试行业正处于黄金发展期,一直在呈现上升势头, 软件测试相关岗位未来依然是企业的重头角色。转行做软件测试工程师,需要一个成长的过程,也是一个收获希望的过程。