前言
如果经常在网上看到一些悲观的调调:测试工作不好找,行业已经饱和了,要求高等等。抛出这种论调的估计都是入行不久或者业务能力、技术能力薄弱、眼高手低的岗位“竞争者”。那么,软件测试行业究竟人才缺口大不大呢?其实,测试行业人才缺口依旧很大,如果你跳过论坛贴吧,直接去看各大招聘网站,就知道我说的对不对了。我猜,有的同学肯定想问了:“既然缺口大,那为什么还是有不少人找不到合适的工作?或者找不到期望薪资的工作呢?”笔者以为,其实问题的关键就在于你是否属于企业想要招募的人。纵观过去几年,各大招聘网站上,对软件测试从业者的要求都在逐年增加。懂软件工程理论、bug跟踪管理、测试相关文档编写、环境搭建、数据库这些都是基础的,更多还要求有编程基础、掌握主流测试工具使用、最好有实际项目经验等。对于应聘者来说,尤其是刚大学毕业的学生,如果你在大学期间没有过相应的实操经验,想要应聘成功,确实是比较缺乏说服力的。其实也无可厚非,企业也想招一个技术面广、学习能力强、有经验又有上进心的综合人才。所以,如果你确实无法达到相应的应聘标准,我认为你最应该做的不是抱怨,不是去论坛大说特说软件测试行业饱和了,而是踏踏实实,好好再学学技术,再重新上岗。即便最坏的结果,行业的确有饱和趋势,那肯定饱和的也是最基础层面,谁都能做的工作。而一旦自己有一定的生存技能的人,始终不会轻易被饱和掉。试想,哪个行业不是优胜劣汰?哪个行业不是有能力者居之?**如果你技术够硬,那么,被饱和的永远都是别人。**
软件测试管理是大家比较熟悉的软件测试职业发展路线之一,比较流行的设置包括测试组长、测试经理、测试代表、测试主管、测试总监、测试部长等。不同的公司中相同职位的工作范围可能略有不同,按照管理级别的高低。
大致又可分为以下四级。
1.测试工程师
测试工程师:
年薪约在7-12万元左右。他们要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。能够在项目中合理利用测试工具来完成测试任务。能够独立编写自动测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能。
2.初级软件测试管理者
测试组长:
测试组长一般由有两年左右工作经验的测试工程师担当。
由于企业的规模和产品复杂度存在差异,测试组长可能会管理2~5名软件测试工程师。一般来说,测试组长不会负责整个产品,只是负责其中的一个或多个特性。
测试组长并不是完全的管理者。他们从事的管理工作大多仅集中在测试计划的制订和执行上;在产品测试上,他们常会负责产品重点、难点的测试;除此之外,他们还要负责带新员工,让测试工作可以顺利进行下去。
3.中级软件测试管理者
测试经理、测试代表、测试主管
测试经理、测试代表、测试主管排名不分先后,都属于中级软件测试管理者,一般由有4年左右工作经验的测试工程师担当。
中级软件测试管理者负责的对象为产品,可能会管理10~20名软件测试工程师(其中包括测试组长)。
中级软件测试管理者最重要的工作还是运作测试项目,制订并执行测试计划,测试结束后还需要对产品质量进行评估,给出产品发布建议。要做好这些,需要他们掌握更多的项目管理知识,深入理解项目价值,做好项目范围管理、质量管理、成本管理、时间管理、风险管理和人力管理。除此之外,他们还要和开发人员、市场人员、服务人员等密切配合、紧密合作,其间,沟通协调能力必不可少。
他们依然是产品测试的骨干,还是会负责产品测试的重点、难点工作,所以他们也不是纯粹的管理者。
4.高级软件测试管理者
测试总监、测试部长
测试总监、测试部长是软件测试的高级管理者,一般都有10年以上软件测试工作经验,负责的对象是产品线或公司。
高级软件测试管理者需要理解产品的商业目标,直接对产品成功负责。他们需要对测试团队的发展负责,进行人员招聘和培养,留住关键人才,提高或更新不合格人员,提升团队的胜任力和职业能力;负责项目财务管理(预算和控制);负责资源的计划与分配;持续改进测试能力,提升效率和产品质量,从测试的角度对交付产品的成本、周期和质量负责。
测试工程师的必备能力
1,文档能力
测试计划
测试方案
测试用例
测试报告
测试总结
2,沟通能力
需求评审
测试方案评审
测试用例评审
测试BUG沟通
项目对接沟通
项目进度同步
3,编码能力
代码CR (code review)
项目基本实现原理
日志查询与追踪
压测脚本能力
测试工具开发
自动化能力(UI自动化+接口自动化)
4,项目把控能力
项目测试时间评估
项目风险把控(测试前评估的风险在 测试方案中提前暴露;测试过程中发现的风险 在项目进度中同步)
用于承担边界测试(跨部门项目,评估项目的测试边界,并勇于承担)
测试进入及时同步, 延期风险提前暴露
职场中的软实力
1、办公软件常用功能的熟练使用
首先我们需要熟练运用办公软件,比如PPT,word,Excel表格的熟练运用,这是最基础的办公软件。基本上都是互联网用人的默认标准了。掌握的越熟练,工作效率和个人表现力都会得到提升。
2、和同事之间的和谐相处
人际关系处理能力也是一个人的重要能力之一。在职场中,情商甚至比智商更加的重要。我们在工作中如何与同事进行相处,以及我们在工作中与同事相处的结果,很大程度上决定了我们工作的难易程度,决定了我们以后未来的发展方向和发展道路。
3、了解领导的态度看法并为其分忧
领导是对我们的工作直接进行负责的,我们所有的工作都要经由领导的分配和批准。而如果想要获得领导的批准,那么我们就要保证我们的工作所做出来的成果一定要符合领导的心意。
我们要及时了解领导的想法,揣摩领导的用意,分析领导想要的到底是什么样的作品。有一句话是:把你的领导当成是生活不能自理的人对待,那么你的工作肯定做得很好。
4、学会控制不良的情绪
我们要学会控制自己不良的情绪。在工作中,我们经常会遇到一些突发情况,这些突发情况有时候会极大的打乱了我们工作的进度,扰乱我们的思绪。
在这个时候我们不应该焦急暴躁,而是应该保持平稳的心态,只有如此才能够更好的来处理这种事情,把这件事情的伤害降到最小化。湖畔大学的梁宁教授曾说过,情绪是一个人的底层操作系统!越是关键时刻,越要冷静思考,学会控制情绪,因为越是情绪化时做出的决定越是接近错误的。
5、适当表达自己的主见
在工作中虽然我们要服从公司的安排,但是一味的遵从公司的意见也是不可取的。我们要适当的展示自己的实力,表现自己的优势,适时提出自己的想法,只有如此我们才能够展示我们自己的实力,让公司看到我们的价值所在。
时刻记住提升自我
做技术最怕停滞不前,在IT行业,技术的更新速度是非常快的,不学习的下场就是被行业淘汰。技术做得好,你算得上是一个“强人”,但和“牛人”还是存在很大的距离的,这也是为什么现在很多软件测试工程师技术虽然没什么问题,但薪资撑死了也就在20k左右的主要原因,实现了“强人”到“牛人”的转变,也就离一个成功的管理者不远了。
举个例子,比如说你会编写测试脚本,会用代码测试项目,项目完成测试之后,写一份测试报告,算整个流程走完了,如果你能做到这些,只能说你的技术没问题,不能说你的测试能力一定强。这其中是存在一些问题的,比如:只测不调,无法给出研发和运维人员执行建议,无法定位问题。
如果你是真正的大牛,当你拿到性能报告的时候,你思考的将会很全面,对于测试场景以及干扰因素的判定都会有具体的方法,从而给出合理的建议,掌握这些判定技巧才叫掌握了能力。
那如何获得这样的能力,大概需要多久可以掌握呢?
这样的能力,是不能够通过系统学习就能掌握的,也没有什么捷径可走,只能靠实践以及项目积累来丰富自己。
具体可以这样做:在大量的实战项目中总结经验,不断提炼,学会归类,以便下次遇到想此问题能够更好地处理;再者就是进一个特别牛的项目,跟着项目中的大神好好学习,俗话说站在巨人的肩膀上能够看得更远,一个优秀而扎实的工作经历会让你受益一生。
在软件测试这行,一定要有长远打算,做好职业规划,才能在这一行长久地发展。那些从事软件测试的基本条件必须要一直保持。
细心、认真、负责,这些主观因素一定要时刻铭记,测试最忌讳粗心大意,连最基本的产品质量都不能保证还怎么在这一行长久发展。沟通能力也是必须的,项目的开发是一个团队在合作,不能把自己闭塞起来,在发现bug后要和开发人员好好沟通,以求产品质量没问题成功上线。
以下资料是我自己用过的,若有需要大家可以进群交流(*644956177*),里面有各种软件测试资源和技术交流。
除了这些,还要重视自己所做的每一个项目,高水平的测试工程师都是在一个个项目中练出来的,他们都将是成就你的最佳见证。技术水平达到了也要多参加讲座提升自己,多方面努力能够更快地提高自己。
你所有的不期而遇,都来自你努力后的惊喜,不断提升,就能在软件测试这一行实现从强人到牛人的蜕变!