曾经看到一个很有意思的段子:“穷不过三代” 最新解释是,一个人穷到三代的时候,就找不到媳妇了,根本就不会有第四代人的出现。虽然是一个段子,其实也是个事实。就像三四年前,大批刚刚毕业,或是其他行业同学进入了测试行业。当时就感觉未来某个时候,市场肯定会对这一批人进行洗牌的,没有想到这么快,最近从不少同学那了解到,现在只会功能测试的话,完全没有面试的机会。对测试人员的洗牌已经有苗头了,测试行业也是物竟天择,适者生成啊!
一,测试行业现状分析
互联网技术发展的越来越快,相关的岗位技术也是要求越来越高。而随着测试行业在我国发现在情况,造成了测试人员水平正态分布也发生了变化:
1,正态分布的左侧由原来的不会测试的同学,转变成了只会功能测试的同学。不少同学刚刚从事测试工作的时候,发现只要会一些测试相关的技巧,测试方法,完成自己的工作已经游刃有余。后来才发现,自己的工作的同时如果没有提升测试相关的技能,就慢慢地落后,不少同学都正在默默地提升。
2,正态分布的中央,也就是占比较高的部分,从原来会测试技巧,测试方案的同学转变成了不仅会功能测试相关的内容,还会一些编码技巧,自动化测试等相关的同学。此部分同学有不少是最初从事功能测试,经过不断提升自己的测试技能,成长起来的;也有不少是原来测试技术还不错,不过后期工作后没有再进行全面提升的同学。此类同学是当前测试人员的主力,也有越来越多的同学正在向这个领域努力。
3,正态分布的右侧,属于测试人员中能力较强的同学。此类同学不仅功能测试能力较强,同时具备项目管理能力,优秀的沟通能力与资源协调能力;而且具有测试相关的编码能力,熟练使用测试框架,根据测试工作的需要开发测试平台,构建测试保障体系等等。市场需求正在不断地增加,而达到此类水平的测试人员较少。此类人员,对应百度的 T5 及以上,阿里 P5 及以上的水平,大家可以对应查看一下相应的要求。
二,测试人员学习与提升现状
不少测试同学已经意识到了提升测试相关能力的重要性,也开始通过各种方法来学习相关知识。不过工作之后,和当初上学的时候完全不一样,学习上还是会有不少困难的。
1,功能测试人员,提升能力没有方向。
无论是通过哪种方式进入测试行业的,原来的测试能力足可以应对日常工作。出于对工作的认真负责,一直从事应付各种需求,没有时间和机会来提升能力。工作上两三年后,才发现除了公司的业务对其他的都不太了解。后来意识到能力不足,想去学习的时候,才发现都不知道学习什么?从网上进行学习,听课的时候,面对浩如烟海的测试教程和视频的时候,又无从选择。
2,有一定技术能力的测试同学,提升动力不足。
有一部分同学先前学习了一些自动化测试,但是眼界较窄进取能力不足。表现在学会了一定的能力,比如说会自动化测试,然后就在自己掌握的自动测试框架下反复添加和维护测试用例,一种能力反复使用。对自己现有的能力沾沾自喜,而不去了解相关的技术都有哪些儿,测试人员现在都在使用什么技术,从而不断提升自己的能力。人都是有惰性的,在工作比较繁忙的时候,或是工作上没有相应提升能力的机会的时候,就不愿意去学习,这也是不少同学的现状。
3,高级测试人员,并非全部都是优秀的。
另一部分同学通过学习编码语言,或是从开发转为测试的同学,热衷于编写各种各样的代码。如开发各类测试平台,测试工具,以服务于普通的功能测试人员,或是支持其他如产品,开发人员的工作。之所以说他们不够优秀,因为存在这样的一种情况:由于这类同学技术能力较强,所以不屑于了解业务测试相关的内容,或是从事功能测试的工作。在业务不熟悉的情况下,开发的测试工具,平台的适用性不高,如果公司没有平台架构组的话,此类同学是不适合放到业务线中的。
三,测试之物竟天择
生活不相信眼泪,社会不同情弱者。现在的工作,没有苦劳这一说,你在测试工作中保证了需求没有 bug,保质保量地完成了任务,这是你的职责,如果出现的问题,就是你的错误。
1,功能测试经验竞争力不足
测试的工作经验也越来越不值钱了,你工作多年再去找工作的时候,不仅不能加分,如果你达不到相应的工作年限应该具备的能力,反而不能通过面试。你以往的工作经验如果是传统行业,银行,硬件相关,你再找互联网相关的行业,完全没有优势。关键是你以往的工作经验对你有什么提升?我在面试的时候,就经常问应聘人员:“你通过先前的工作学到了什么?或是学到的什么知识对你下一份工作帮助很大呢?”
在平时功能测试的时候,要注重测试项目的总结;部署环境中出现错误的排查;Bug 核心问题的定位;与人交流和沟通能力等的培养。同时也要关注能辅助测试的测试工具,测试方案的发展与调研,这些才是你能力体现。曾经见过一个同学,非常擅长总结各种测试过的项目中遇到的问题,解决方案,以及后期如何避免的策略等。当你给他抛出一个问题的时候,他就能给出问题的解决思路,这样的同学也是非常受欢迎的。
2,注重技术辅助测试,不断得高自己的能力
现在的测试完全不能脱离技术,不掌握一定的编码语言,如 java, python, shell, go 等语言,不会自动化测试或是性能测试,安全测试,简历筛选就直接给 Passed 了。在学习的时候,一是不能满足现状,学会了一两种语言或是框架,就不再学习和提升;而测试技术可以说是博大精深,浩如烟海。二是不要过多依赖工具,现在有不少测试工具可以辅助我们测试。而利用工具做测试的时候,这方面的能力往往被归结于工具的使用,而不是你能力的体现。三是,知其然知其所以然。不少同学没有机会从零开始一个自动化测试项目,或是测试平台的开发等,充其量参与其中一部分。在能完成具体的工作的时候,还要全面了解一下相应的设计与实现策略,加深对参加项目的理解。
能通过代码来解决工作中遇到的问题,如日志过滤,自动化测试,测试工具的开发等,这类测试人员越来越多。前几年你具备相应的能力,还是挺有竞争力的,如果最近没有进一步的提升,优势就会慢慢消弱。如果能在工作中有相应的机会,提升技术是非常完美的,如果不能,就需要自己创造条件,将自己的零星分布的知识进行系统化使用和整理。
3,测试人员核心竞争力
如何保持自己不会被技术发展,公司业务发展而淘汰,这是我们需要认真考虑的问题。如果你在某个方面能力不错,如项目管理,自动化测试,测试平台开发等,与其他人相比,你有何种优势?能否快速地将你的能力落实到实处,提升公司的测试工作呢?如果让你带领一个团队,如何带领?如果让你创建公司的质量保障体系,你有没有思路?
这些内容就是我们在做测试工作的时候需要注意的事项,同时这也是你在平时工作中逐步形成自己的核心竞争力的主要手段。把相关的内容从零星的知识点,组织和形成相应的知识体系,从而在遇到问题时能快速找到合适的解决方案,这不是会一两个编码语言,自动化测试等能力所能达到的。
四,总结
最近从不少同学那了解到,现在测试行业对测试人员已经开始洗牌。通过不断提高招聘要求,来强制不符合要求的同学转行,或是强迫相应的人员来进行提升和成长。本文分析了现在的测试行业的现状,大家学习的提升的现状,以及提出如何在测试行业中保持适者生存的建议,希望能给有困惑的你带来点帮助。