前言:
这是我从事测试的第五个年头的开端,忙忙碌碌到头发现好像忙了个寂寞。也忘了最初走向这条不归路的初心是什么。当时14年学完计算机出来找工作,看着茫茫人海,第一反应就是退缩,该找什么工作?开发?除了会点语言基本都是皮毛,脑海中什么概念都没有,面试问得什么Java的垃圾回收机制,线程池,一脸懵。记忆最深一个,深圳某公司以2000月薪招实习生,当时什么面试题都忘记了,唯有记得公司创始人的一句话,“坦白说,以你现在的水平,就像是一个刚学会了1+1=2的小学生,是很难应聘到工作的,与我们的岗位也不匹配。”然后请了我出去。
此生难忘~月薪2000,1+1=2,在脑海久久不能挥去,招个扫地阿姨都不止2k,这算职场PUA吗。一个初入社会的小菜鸡就面临外面的人都很坏的负面情绪打击,你知道一个大嘴巴子对十几岁的孩子会造成多大的心理伤害吗! 自此,放弃了开发之路,不是因为软弱,只是因为要开饭,要先找个容易进的坑,然后就4年过去了,从萌新到老油条。不知哪位老总何在,如果再遇见,我会对你说一句,您公司倒闭了没,还没有的话祝您早日倒闭。无论你是否迷茫、失望或挫折,最后选择了测试这条路,那么请坚定。 我将与各位分享下我的测试学习之路。
正文:
最开始学软件,都会学习到软件工程这门课,软件的生命周期,各种项目开发的流程,测试在其中扮演的角色。 但还是很多实习生初出社会,或其他转行的小伙伴,进入公司后无法适从,每个公司的业务,流程都不太一样,标准也不一样。然后网上关于测试的文档永远都是那些入门级别的,所有的人都在学那一套东西,但每个人做出来的却各不相同,不规范。
你有你模板,我有我解释,某些坑位一再换人,留下的疑难杂症较多,新人一进去就焦头烂额无从下手。做久了功能测试然后晋升之路遥遥无期,想学习,种类又繁多,性能,自动化,框架满网的人都在推荐,但文档却都只开了个头,具体要怎么深入又无头绪... 分享下我的学习旅途~
手机APP
最早进入公司是测手机APP的,最主要就是功能测试,如果你也想往手机APP方向,那么要学习以下所说到的内容:
--》传统手工点点点
--》找到bug,需要定位问题,学习抓包工具,fiddler,Charles
--》学习tcp/ip,接口
--》当你掌握了方法去定位问题,把问题准确的分配给前后端
--》可以开始学习专项测试
--》学习安卓adb-苹果libimobiledevice / ideviceinstaller
--》自动化Appinum
职场法则、WEB性能测试
第二家公司是主要做OA系统,电商性能测试:OA系统多数都是关乎业务定制化的功能测试,需要较强的沟通能力,逻辑思维能力,因为要跟产品大佬还有业务方扯皮,一个成熟的测试要唬得住产品,怼的过开发,测不测试不重要,重要是学习在不同环境下如何生存,职场生存守则:需自身强硬技术与厚脸皮,然后不能让锅平白无辜掉落在自己头上。
--》学习诡异操作,把客户所有操作的可能性给考虑到
--》学会收集证据
--》学习摸鱼无上境界
第二年进了性能组,累,但能学习到最前沿的互联技术
--》学习微服务,了解容器
--》学习并了解概念:负载均衡、NoSql数据库redis、中间件mq、服务容器pod/docker等、mysql、nginx、tomcat等各种服务器的知识
--》当知道了一个网站的架构是怎么去搭建时,那我们就需要针对架构去定位性能问题,去解析是某个组件产生瓶颈,升配降配,对配置文件修改
--》当定位到瓶颈出现在服务端,还要学习JVM性能调优,帮助开发定位问题
--》也学习到了每种测试岗位的区别,功能测试,性能测试,自动化测试,渗透测试,app测试,
测试开发
当你经过大项目的鞭打,就会越发了解到知识是无边无尽的,感到自我的渺小产生自我怀疑,软件是什么,网络是什么。当你经过一段时间的沉淀,发现了测试的体量巨大,还是需要回到最初的起点。测试的意义是什么,是保证软件的质量,那么尽可能的找出问题就是我们所存在的意义,沉下心去体会拧一颗螺丝的快乐。
心境也从一开始看到测试环境里一堆乱七八糟的数据就心烦,到一脸无视,只判断这个是不是合理的,不合理的都提上去,坚决不漏掉一个bug。再高级的测试也是需要点点点的,传统手艺不能丢。测试是对细节的体现,越是细微越是要注意。还有重方法轻工具,能快速上手新的工具,因为使用新工具就是在盲找路径,当没有需求或文档时的测试方法。
技术与晋升
想从初级进阶中级,应该需要掌握到接口测试,快速定位问题,掌握到一门专项的技术。
从中级到高级感觉就开始分方向了,往性能、往自动化、往专项、往管理等,越深入一门才能体现价值,如果每样都懂一点建议往个人魅力提升吧,往管理层进发。
性能:就需要掌握大量的服务器架构技术,去帮助定位,调优。
自动化:需掌握一门语言,对自动化框架较为了解,能根据业务快速搭建一个自动化框架投入使用。
渗透:安全性,我不懂,反正就是厉害~
APP专项测试:需要对设备性能,各种设备硬件的测量。
测开:其实就是要什么都懂点,到底偏测试还是偏开发?不懂,大受震撼。不做评论。
管理:个人魅力,唬得住高层,管的住手下。
想要软件质量高,其实就是严谨。不要只要求测试严谨,需要整个流程都严谨。
罗里吧嗦说了一大堆,最近项目刚结束终于闲下来了,也有点时间去编写文档,打算分享下测试的学习之路,同时整理并更新了一些学习的书和资料。
作为一名软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,或者性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。
【希望我分享的学习路线对你有所帮助吧】
1.前置基础知识:
- 计算机基础
- 测试理论
- HTML基础
- CSS基础
- JS基础
二,linux和数据库
- linux
- 数据库介绍
- SQL语言(重点)
- 数据库高级功能
三,测试基础
- 软件测试理论
- 软件生命周期
- 测试方法和分类
- 测试用例设计
- 缺陷管理
- web项目实战
- 测试管理工具
四,编程+数据结构
- Python基础
- 面向对象
- 异常处理
- 模块和包
五,WEB自动化
- WEB自动化入门
- WEB自动化基础
- WEB自动化中级
- WEB自动化高级
- 项目实战
六,移动自动化
- 移动自动化基础
- 移动自动化中级
- 移动自动化高级
七,接口测试
- 接口基础
- postman实现接口测试
- 数据库操作
- 代码实现接口测试
- 持续集成
- 接口测试扩展
八,性能测试
- 性能测试基础
- 性能测试工具
- 项目-接口性能测试
- 项目-web性能测试
- 性能测试调优
九,综合项目实战
功能测试,ui自动化测试,接口测试,性能测试
一点微不足道的学习资料,如果有用的上的话,和我【留言:测试资料资源】 就可以啦,我将打包发送给你!
最后,若是觉得文章写的还不错给个三连吧!!
在此祝各位生活愉快。