作为8年的测试老哥给你下列建议,虽然有些地方写的粗糙,但也是所感所想,全是根据自身的经验写的干货,希望对刚入行的小白有所帮助~(文末有作者学习笔记分享)

此篇干货文章将围绕下面5个方面展开:


  1. 写在前面
  2. 国内测试行业未来趋势
  3. 小白测试人员进阶方向
  4. 小白测试人员自我提升渠道
  5. 分享下我个人在测试道路成长的故事


一、写在前面:

经过国内这么长时间的软件市场实践,软件测试在软件开发过程中已经占据了一半乃至更多的工作量,因此软件测试的重要性也在行业中逐步上升,毕竟优秀的软件测试团队是软件质量的重要保证,相信你在公司也是感同身受。

随着软件行业逐步趋于正规化,成熟化,目前市场上对软测技能要求也是水涨船高,早期功能测试打天下,撸起袖子就是点的时代早已一去不复返,如果你刚入行也许认为我还能点,那么你可能很快会被行业淘汰,从入门到失业你做到了无缝衔接;如果你有兴趣继续读下去,我会从当前测试招聘市场,测试进阶方向,测试人员自我提升的渠道给你一些中肯的建议。

二、行业未来发展趋势:

趋势1. 功能测试提供的价值日益降低。当前行业积压大量功能测试,这都是我们的前辈,值得我们尊敬,但行业在进步,技术在创新,公司需求在提高,很抱歉,留给这些前辈的时间不多了,不进则退前辈们(功能测试)提供的价值日益降低,新生代的你们将会取代他们曾经的风光。

趋势2. 软测市场趋向工具化,代码化,测试过程可视化的方向,那么这将是我们跟上行业步伐的清晰路线,技术从简到繁,职位从低到高,财富积累也会从0到1

趋势3. 企业对测试人员的岗位要求越来高。招聘网站上如果你通过薪资筛选的岗位,那么我想不难看出刚入行的你,技能有点捉襟见肘,凭什么功能测试要会数据库,Linux,编程语言,各种自动化工具,前端开发啊,我就是一个测试啊,怎么要求这么多呢?因为你刚入行,刚跨过行业的门槛儿,门内的世界很大,也充满的各种魅力和财富;但如果你想得到这些,那么就需要与之匹配的技能。

看到这里我我想你已经危机感满满了吧?接下来我将带你化危为安,快上车~~

三、测试人员进阶方向:

1. 功能测试

这是任何一名测试人员都绕不过的基础技能,说是技能但更多的是一种思维,因为他不需要强大的技术功底,只要你具备测试思维,那么后面我们要说的所有技能都不足为惧,因为后面要说的技能只需要学习成本和练习成本;目前行业中功能测试人员占比仍超50%以上,他不可替代,但公司层面不希望保留过多这类人群,因为他们很难为公司带来更大的价值,所以目前大部分功能测试都采用外包形式入驻公司。

2. 功能+自动化

现在行业招聘的门槛儿都卡在这一栏:功能+自动化,也就是你未来换工作需要具备这项<<基础>>技能;哈哈,他未来一个基础技能啦!!!是不是很激动,行业终于开始向上倾斜,但是刚入行的你一定要跟上步伐,不然那一个不小心,换工作可能就失业了,那么自动化测试需要具备哪些基础技能呢?听我娓娓道来:

1. 掌握一门编程语言的基础知识(主流:python,java),基础知识就够啦

2. 掌握几种开源的自动化工具:

a) UI自动化: selenium Appium airtest

b) 接口自动化: 语言对应网络库->见第4条

3. 掌握语言对应单元测试库(python: unittest, pytest, java: junit, testng)

4. 掌握常用的网络协议传输方式(http, mqtt, websockt, tcp, udp)

3. 测试开发

测试开发基于自动化测试知识储备上,需要更强的编程能力,可以运用更多的编程语言库完成小工具的开发,他的定位偏向于测试工具提供者,提高测试团队的测试效率,所以测试开发的技能并不固定,需要根据公司测试团队的需求,快速学习技术并产出可用工具,那么这里举个例子:

比如公司测试中需要接口测试管理平台,测试人员只需要在页面选择需要测试的接口,点击就可以完成接口测试,需求很简单,但这个需要测试组自行实现,那么这里可能就会用到一些技术,我们暂且罗列以代表性说明下测试开发需要具备的部分技能:

1. 编程语言: 暂且python

2. 服务器:Django Flask

3. 数据库:mysql / mongodb

4. 前端页面: html css js等

很多童鞋一看,好家伙,这哪是测试啊,这明明就是开发吗?没错,测试开发,既具备测试技能,又具备开发的技能(部分人员技术会低于纯开发)。目前很多培训机构已经推出了测试开发周末班级,若对测试开发感兴趣,想要课程大纲,可以私信留言。

4. 测试架构师

这个定义相对模糊一些,有些公司会把测试开发定义为测试架构师,有些公司会对测试架构师要求高于测试开发,那么我们说说高于的部分,目前大厂对测试架构师的要求偏向于:

1. 持续交付 DevOps能力

2. 构建测试平台能力

3. 构建质量监控平台能力

你会发现这里我所描述的都是能力,不再是某一个具体的技术,是的,测试架构师站在全局的角度去做测试效率提升,测试质量提升,发布部署质量提升,我想这是每一个测试工程师最后希望达到的高度,但这很需要时间和经验的积累沉淀

补充下测试工程师心照不宣的技能:

1. linux数据库基本操作

2. 测试环境部分部署能力

3. 细心,耐心,沟通技巧

四、小白测试人员自我提升渠道:

这是本篇知乎文章的重点,所以我专门画了个图:

刚入行(软件测试)?如何自学,字节大佬熬夜7天整理一份适合小白的测试指南_测试类型

先说下我是怎么过度小白阶段吧?比较简单,两件事:

1. 工作中不会的时候,大胆的问领导,我相信他至少比我强

2. 经常逛帖子,看看有什么新技术,有新技术直接拿过来解决项目问题。

  • 百度:学习能力强+自制力强

a) 各种论坛,博客搜集资料,整理汇总

b) 公司项目应用,去解决实际问题,自我提升

  • 视频网站:刚入门不推荐,建议中高级测试新技术采集提升

a) 腾讯课堂,哔哩哔哩

b) 搜索测试相关技术,大多是入门课程,师傅领进门,修行靠个人

  • 在线培训:自制力强,差一点的没坚持基本报废

a) 这个目前市面上很多,腾讯课堂一搜一大堆

  • 线下培训:应对你所有弱点,只要你不自暴自弃

a) 这个培训机构多,目前看比较好一点:黑马程序员培训技术偏实战化自动化测试,适合刚入门和功能测试的前辈们

b) 还有一些高级晋升培训这些刚入门的我就不说啦

五、分享下我个人在测试道路成长的故事

提升的过程,就像爬坡,会非常痛苦,往往一个新技术的应用要依赖自身很多硬技能,我入行比较早,12年那时候大家都在流行接口自动化测试,UI自动化,性能测试,对于没有代码基础的我,哪个过程很酸爽,但是耗时很长,百度搜索->应用->总结,反复如此,很考验定力,一个不小心就会放弃,因为你身边的人基本都是功能测试,没有可讨论的人员。如果再给我一次机会我绝对会选择今天入行,现在的资源太多了,都是成熟的技术,很多案例,公司里都是各路大神,小问题卡主不存在。