你好,我是小牛。
关于软件测试行业现状分析系列之前已经写了两篇了,各方面数据反馈都很不错。
今天是这个系列的最后一篇,接着来分析一些软件测试行业相关指标,之后准备写技术文。
关于前两篇文章可以参考链接:
软件测试行业现状分析(一)
软件测试行业现状分析(二)
废话不多说,直接上干货!
一.薪水变化
对于IT行业来说,不管是做开发还是做测试,基本上涨薪全靠跳槽。一般在一家公司工作超过三年就算老员工了。
上次偶然看到过我公司的入司时间名单,大概有四五十个内编测试,除了领导经理级别,三年前入职的屈指可数。
对于涨薪来说,即便是我所在的大公司,一年涨薪幅度也十分有限,除了绩效特别靠前,或者职称升级之外,对于普通人来说,一年自然涨幅也就几百块钱。
这也就不难理解为什么这个行业跳槽率如此之高。一句话,其实就是为了加薪。一般入职谈薪水的时候都会参考你上一家公司的薪水。
比较正常的涨薪幅度是在30%-50%,如果低于这个比例的话,其实没有跳的必要,除非你从一个小平台跳到了更大的平台,那么这个是值得的。
更好的平台意味着更快的技术积累,而且有职业背书。下一次跳槽基本上就可以实现大幅度提升。
关于如何谈薪水,其实也有不少技巧。三两句说不清,之后会专门写一篇文章进行分析。
二.测试流程
关于测试流程基本上越大的公司流程相对来说越为规范,而对于一些创业公司或者小公司来说,很多都是作坊式开发。基本上没什么流程,不建议去这种公司。
关于测试流程基本上大同小异,绝大部分公司都会有的需求分析—编写用例—用例评审—测试提bug—复测bug—回归测试—上线—生产验证—输出报告。
这个是一个功能测试的流程,有不少公司会在回归测试的时候引入接口自动化或者web,app自动化来辅助测试,减少时间成本,提升效率。
具体关于测试流程详细介绍可以参考文章:大厂测试流程是怎样的?
三.能力提升
关于如何提升自己的技术能力,方式多种多样。一般新人喜欢看视频进行学习入门。有一些技术基础的老手喜欢直接看博客或者书籍。大佬直接开怼官方技术文档。
哪一种方式都可以,采用你自己喜欢的方式即可。难的是长时间的持续学习,当然没动力的时候可以翻翻招聘网站薪水,再看看分别有什么技术要求。
然后就有动力学习了,这是我经常采用的一种激励自己的方式,成年人的世界直接谈钱才是最实在的,其它都是虚的。
四.必备技能
关于优秀的测试人应该具备哪些技能?这个不同工作年限不同级别要求肯定是不一样的。
对于初级或者转行来说,需要掌握测试流程,linux,数据库,功能测试,版本控制工具,以及一些接口测试相关的工具等。
如果在掌握上面的基础上,懂一些编程语言,知道一些自动化框架,接触过性能测试再好不过了。
中高级测试基本上需要业务测试上面可以独挡一面,可以从零到一独立负责一个项目从需求到上线,可以推进测试流程。
技术上要懂编程,懂自动化,懂性能。基本上这几块就是除了你工作年限之外,最能成为你谈薪的砝码了,其它的能力就是一些管理能力之类的了。
五.阻碍因素
关于阻碍测试进度的主要为需求不明确,以及开发自测不行,冒烟通过率太低。
关于需求文档确实是一个比较诟病的问题,很多公司需求文档不够详细或者规范。除此之外,还有接口文档之类的,很多都是通过口述来进行交流表达。
这个问题即便是很多大公司也存在,主要原因就是版本迭代太快,流程不够规范导致。如果公司没有一套强制措施来规范的话,仅仅靠自觉性就很容易出现这个问题。
另一个就是开发不进行自测或者测试不够仔细,觉得这是测试应该干的活,写完代码就撒手不管了。
这其实是不对的,开发写完代码首先应该在开发环境自己测试,之后没问题再部署到测试环境,提交测试,这样效率才高。
六.效率提升
测试行业关于提升效率,首先提到的就是做自动化,上线发布之前进行回归测试,减少人力成本和时间成本的投放。
而在自动化测试中使用最多,需求最大,性价比最高的就是接口自动化,其次便是ui自动化。
但是,不管公司能不能用到,如果你想跳槽加薪,会自动化已经成为必学技能了。
我公众号和朋友圈会经常推出一些自动化相关的免费课程或者训练营之类的,大家可以多多关注参与一下。
七.未来趋势
关于未来一些好的方向,大家普遍看好的还是人工智能,无人驾驶这些,但是这些入行门槛都极高,不管是对编程算法要求还是学历背景都有很高要求。
IT行业大部分开发还是集中在应用层的开发主要就是web网站或者移动端。主要岗位就是前端,后端,移动端开发。
作为测试一般就是功能测试,自动化测试,性能测试。功能和自动化主要针对web,app和接口做测试。
性能主要就是对接口做压测,然后监测服务器硬件资源以及数据库,中间件等性能,分析系统瓶颈,并协助开发进行调优。
八.五年目标
至于职业目标,大部分人想法都是一致的,就是做管理比如经理,主管之类的岗位。
但是对于刚入行没多久的话,过早进入管理岗位并不是一件好事。
建议大家还是有一定的技术积累以及丰富经验作支撑之后再去考虑管理岗位。当然,做管理也是需要一定的机遇。
管理大部分时间并不需要参与测试,但并不意味着可以轻松躺着数钱了。比如,出问题之后,第一时间就是找的测试领导。
除此之外,既要应付上级的任务安排又要给下级合理分配人力。还需要协调不同系统,不同组之间的协作与资源调度问题。
反正不管做什么岗位,报酬和付出都是成比例的,拿的薪水越多,一定是需要承担的压力越大,付出的精力与每日的产出就要越大,这点体会很深。
关于软件测试行业现状分析这个系列就写到这里,主要想给转行的或者不太清楚这个行业的同学作一个科普。