Fork me on GitHub

2017年之后软件测试未来的职业发展方向

前言

因为工作任务的多样性和敏捷团队的特性, 博主做过挺长时间的软件测试。从最基本的功能测试,经历自动化测试、性能测试、安全测试,到后来做测试团队管理和测试开发。时间虽不算长,但对于软件测试还是有一定程度的认知的。接下来就以不同工作职能划分就国内国外的一些情况做简要评析。

题外话:这也许是我短期内写的最后一篇纯讲软件测试的文章了,不过blog肯定还是会继续更新的。

国内

毕竟平时主要还是在国内工作,加之IT圈子中各路朋友的信息,这个可以尽量多讲解一些。

早年(参考2000年左右时段),国内的IT行业兴起,但是人才严重不足,对于很多公司能找到能力不错的开发就万幸了,想找到技术过关的测试,真的碰运气。那个时候网络教育还没兴起,IT培训机构很容易赚钱,那个时候无论开发还是测试,都是野蛮生长,坚持下来的,现在都活得不错,没有坚持的,现在也有了其它的生活方式。

现在,虽然各个公司基本都会考虑招质量保障人员,但是相对于能够直接生产产品(软件)的开发,测试的地位还是相对偏低的。

功能测试

有人戏称“码农是IT生态链的底层,生活状态宛如建筑工人”,虽然本人对此说法保留意见,但测试圈子有另外一个戏称“如果码农是IT生态链的底层,那么测试就是底层中的底层”。由此说法,可见大家对普通(或者说是初级)测试和开发的态度。开发以后有空单独讲,这篇文章主要谈测试。

功能测试,是测试的基本,是一个测试必须具备的基本技能,不会功能测试的绝对不是一个好测试。但是,由于功能测试行业的准入门槛低(有的公司甚至就是招个人来点点),所以现在有工作经验的测试都不推荐新人做纯功能测试,即使不想学编程,至少也往性能测试或者业务专家的方向走。

其实对于产品的测试来说尤为重要。这也是为什么有的公司依然会花高工资雇佣业务测试专家。(当然,一二三线城市的工资水平差距的确很大。)

而现在的功能测试人员,如果不向后面提到的几个方向转型,那么比较好的转型方式就是做业务测试专家(这个要选对行业),或者转到项目经理。

自动化测试

因为有Python开发的底子,所以当年我做了没多久功能测试就被安排了自动化测试的工作。而通过对web自动化、移动端自动化(Android和iOS)的自动化框架学习,我对测试的认知也大为扩展。而且比较注明的开源自动化测试框架,比如Selenium和Appium,基本都支持多种语言去调用其封装好的API。

一般而言,自动化测试都需要至少一门编程语言的基础,目前对于测试而言,Java和Python是最合适的。但是这个编程语言的选择也是具体问题具体分析。

举个栗子:假设你以前没有编程语言基础,而你主要测试javascript的项目,主要涉及前端自动化。且开发相对于Java和Python更熟悉javascript。那么这个时候你学习javascript来做测试就很合理。

自动化测试的职业发展方向也很明确,做自动化测试专家,或者转做测试开发(这个其实已经是开发岗位了,后面会分析),统筹能力强以后可以向测试架构师发展,是一条不错的发展路子。

性能测试

性能测试是一个看似简单,实则对于技术经验要求颇高的测试岗位。早年一般都是用LoadRunnner来做性能测试,不过LR的正版价格实在是太让人冒汗,除非你在大公司或者HP,不然一般公司想用商业版做测试是不可能的。还好后来出现JMeter这个开源性能测试工具,也算是广大测试人员的福音了。不过功能上较LR还是差了不少,想要集成更多功能,只有自己研究如何做二次开发。

另外,因为性能测试主要就是分析产品的瓶颈,所以对于网络协议,数据库,服务端等方面的知识可以说是能学多少就要学多少。特别是现在大数据云计算兴起,性能测试的工作难度由有了一个新的提升。

当然,发展方向也很明确,性能测试专家(但是这个一般都是针对特定业务的),管理能力强的可以带队进行性能测试,这样个人的技术压力能稍微减轻。

安全测试

安全测试,也包含渗透测试在内,这个职位相对于其它的测试岗位来说,其实是很难直接转型的。据我了解,外包公司的安全测试,更多的就是根据公司给的安全基准,用工具区扫描结果,提交漏洞报告。反倒是第三方专做安全服务的公司更有效果,不过收费也不低。安全测试不仅要考虑从外部攻破系统,也要考虑内部系统的防守问题,实际要做好,需要极广的知识面和经验。

说到安全测试,必然也会涉及到渗透测试,想要转这个方向请先阅读《中华人民共和国网络安全法》,真爱的话,努力还是有希望的,多年努力后也许能升任CTO呢!

测试架构师

这个岗位基本就是存在于大公司的,如果能力层级划分为0-9,那么相对于0-3的普通测试,则测试架构师更着力于4-9的事情。所以中小公司基本不会有这个岗位,因为中小公司的测试leader也许都还在做0-3的事情。

但是,如果真的做到测试架构师这样的级别,那也算是到底软件测试的顶端了,再想往上走,就全凭个人机缘了。

国外

本人在国外有短期的工作经验,同时因为在外企带过,当时组织的培训也是全西式的测试培训,多少也是了解一点。

敏捷测试

在外国团队,特别是创业型团队,很青睐这种测试,这类测试测试人员工作职能划分既明确又重叠。开发可以代替测试,测试可以代替PM,甚至测试也可以代替开发。而且外国团队对于流程管理特别看重,这对于产品质量保证确实很有用。这样的敏捷团队的人员,日后都有能力想Srum Master发展。

测试开发

国外团队偏向敏捷测试,那是否就是说不重视技术了呢?当然是否定的,国外招聘的测试,更倾向于测试开发。如果读过Google软件测试之道的人就应该知道,如FLAG那样的公司,现在基本都是社招测试开发岗,国内BAT亦如是。而且真正优秀的测试,也肯定是要精通开发和测试技能的,这才是软件测试的良好发展方向。

至于测试开发,工作就很多了,开发公司自己的测试平台,也有专职为公司开发测试类工具产品变现的,虽然名为测试开发,其实工作上就是开发工作了。而最理想的职业发展方向就是技术专家和测试架构师了。

总结

国内的测试行业虽然现在还是在野蛮的生长,但是环境比5年前、10年前已经好上许多。如果是真心热爱软件测试行业的人,学好编程,学好各种网络知识,熟悉业务和管理流程,做好职业规划,经过多年的历练,相信也会闯出自己的一片天地。

PS:最后来说说我,做过开发(同时学会了SEO和网络推广运营的一系列技能),做过测试(除了嵌入式测试外的所有测试工作包括团队管理都做过),最近在做测试开发,以后又要回到原点专职做开发,看似绕了一大圈,浪费了时间,但也学习了各种工作,知识技能和丰富了人生阅历。希望有朝一日当我回首往事,我能发现我有一个无悔的人生。

-------------  Fin    Thanks for reading!  -------------

本文标题:2017年之后软件测试未来的职业发展方向

文章作者:TesterCC

发布时间:2017年06月30日 - 10:06

最后更新:2019年09月01日 - 01:09

原始链接:http://blog.fullstackpentest.com/软件测试未来的职业发展方向.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。