软件测试学习(刚入行的测试工程师如何自学软件测试?)
刚入行的测试工程师如何自学软件测试?
软件市场大量实践,软件测试在软件开发过程中占据了一半乃至更多的工作量,因此软件测试的重要性也在行业中逐步上升,优秀的软件测试团队是软件质量的重要保证,相信你在公司也是感同身受。
随着软测行业逐步趋于正规化,成熟化,目前市场上对软测技能要求也是水涨船高,早期功能测试打天下,撸起袖子就是点的时代早已一去不复返,如果你刚入行也许认为我还能点,那么你可能很快会被行业淘汰,从入门到失业你做到了无缝衔接;如果你有兴趣继续读下去,我会从当前测试招聘市场,测试进阶方向,测试人员自我提升的渠道给你一些中肯的建议。
行业未来发展趋势:
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. 细心,百思特网耐心,沟通技巧
测试人员自我提升渠道:
先说下我是怎么过度小白阶段吧?比较简单,两件事:
1. 工作中不会的时候,大胆的问领导,我相信他至少比我强
2. 经常逛帖子,看看有什么新技术,有新技术直接拿过来解决项目问题,这个过程会非常痛苦,往往一个新技术的应用要依赖自身很多硬技能,我入行比较早,12年那时候大家都在流行接口自动化测试,UI自动化,性能测试,对于没有代码基础的我,哪个过程很酸爽,但是耗时很长,百度搜索->应用->总结,反复如此,很考验定力,一个不小心就会放弃,因为你身边的人基本都是功能测试,没有可讨论的人员。如果再给我一次机会我绝对会选择今天入行,现在的资源太多了,都是成熟的技术,很多案例,公司里都是各路大神,小问题卡主不存在。
说完我悲催的经历,我想你不会再想经历一次,那么这个技术成熟,资料丰富的时代下如何快速成长为独当一年的小神仙呢?
1. 百度:学习能力强+自制力强
a) 各种论坛,博客搜集资料,整理汇总
b) 公司项目应用,去解决实际问题,自我提升
2. 视频网站:刚入门不推荐,建议中高级测试新技术采集提升
a) 腾讯课堂,哔哩哔哩
b) 搜索测试相关技术,大多是入门课程,师傅领进门,修行靠个人
3. 在线培训:自制力强,差一点的没坚持基本报废
a) 这个目前市面上很多,腾讯课堂一搜一大堆
4. 线下培训:应对你所有弱点,只要你不自暴自弃
a) 这个培训机构多,目前看比较好一点:黑马程序员培训技术偏实战化自动化测试,适合刚入门和功能测试的前辈们
b) 还有一些高级晋升培训这些刚入门的我就不说啦
作为8年的测试老哥只能给你这些建议啦,虽然有些地方写的粗糙,但也是所感所想,希望对刚入行的小白有所帮助~