我是13年毕业的,普通本科,计算机系也算是对口专业。那时候互联网行业是个不错的发展方向,也是机缘巧合之下,让我走上了测试工程师的道路。但是我没想到,在这个行业一干就是10年。
第一份工作
还记得我刚入行的时候,进了一家社交平台公司做测试,公司最开始只我人一位软件测试人员,没有任何流程和规范,但好在工作比较轻松。然而才真正工作了半年,我就发现了一个问题:每天我怎么就在做一些一模一样的事啊。每天有点不完的网页,写不完的文档。随着时间的消磨,让我产生了对自我价值和岗位意义的困惑。
那时候,测试人也都爱去论坛上交流,我至今记忆犹新的是,整个版面打开来,一半是问大家薪资多少了,另一半是“工作n年了,感觉很迷茫”。每个人对迷茫的描述都不一样,但问题本质都一样:除了重复劳动,我们还有什么?
一个软件测试人员,有什么是拿得出手的核心技术,有什么东西能使你区别于应届生?
当时我就有个想法,我不想一直做重复劳动了,即使我在入职时是声称我胜任并且善于应付重复劳动的。然而我并不擅长机械和重复的劳动,也不喜欢重复劳动。
痛定思痛,也就是这一年开始,下定决心要把自己的专业技能提升上去。
自我成长
我开始把自己的业余时间投入到学习中来,不过,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。当时由于公司的规模和产品的局限性,我无法在那里接触到更多新兴热门技术。于是我鼓起勇气,离开了那一家公司。
后来在朋友的推荐下,进了一家电商公司,当时,有一些机会在工作中做性能测试,于是,学会了使用LoadRunner和JMeter,有一次需要测试MySQL数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。
这让我了解到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。
那时候,Python开始流行起来,公司产品开始选用Python开发的,所以,我毫不犹豫的选择了Python。因为Python简单好学,容易上手,学起来也没花多少时间。也是因为这个在后面学习自动化帮助很大。
公司为了提高效率,测试必须要引入自动化的手段。注意,不是替代不替代手工测试的问题,而是必须引入自动化才能进一步提高效率。手工测试仍然在,只要他在一些领域上效率高于自动化,就仍然会继续存在下去。
当时由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。
掌握自动化工具的原理使用起来才能更加游刃有余,而这也需要你有一定的编程基础的原因。
随着移动App越来越流行,乘着换工作的间隙,我还学习了一个月的appium自动化工具,也了解了网易开源的Airtest框架的使用。
后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。
为什么我越来越有更多机会去做自动化相关的工作,当然,是我先学会了这项技能,然后,公司项目又比较适合去做自动化,所以,我就尝试去做了,最后,这就变成了我的经验。2018年我开始做全栈工程师,和团队一起从0开发内部管理平台,后端用Django框架设计接口,前端用vue.js框架设计页面,项目已经在整个公司得到应用。
这个阶段跨度有点大,但应了我前面的一些思路,当你掌握的更多的技术,那么你也会有更多的机会继续提升自己。在这个过程中,我也养成了对于技术关注和追求的好习惯,这个好习惯一路以来对我帮助特别大,不管是在职场上,还是生活上都有很大收益,我有满意的薪资回报,生活上也不会有焦虑。因为学习和成长让我远离了那些精神内耗的问题。
我的一些建议
我从13年入行到现在,从初级手工到开始做自动化测试,到现在做测试平台开发,带团队。这中间真是走了很多弯路,踩了很多坑,接触过各种公司和项目:小到初创企业,大到独角兽公司,外资,内资,合资,人力外包,项目外包,电商网站,互联网金融,云计算平台。主要用过四种语言,十几种工具,见过各种历史遗留框架、工具、平台,写过大大小小的类库、工具、改造过平台。虽然我只工作了10年,但换了7次单位,真是说多了都是泪啊。。。
我这次想分享的,是我当时转型的经历、对现在测试行业技术大方向的分析和转型方向的建议。另外通过这次分享也希望揭开自动化测试、测试开发、持续集成等等的神秘面纱,让大家了解真实的自动化测试相关人员的工作是怎样的,供大家在自己转型时参考。
如何从初级功能测试到高级自动化测试开发,达到技术提升和待遇提高的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。
所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做自动化的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的十年测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以在文末小卡片获取网盘链接。希望会给你带来帮助和方向。
测试工程师学习路线
1. 自动化测试必备Python编程内容
2. Web UI 自动化测试基础内容
3. Web UI 自动化测试实战内容
4. APP UI 自动化测试基础内容
5. APP UI 自动化测试实战内容
6. API 接口自动化测试基础内容
7. API 接口自动化测试实战内容
8. CI/CD持续集成专项技术
9. 自动化测试框架实战技术
今天主要是和大家分享我的个人经历和一些网盘资源,后续我会分享一些面试攻略,有被帮助到的朋友,朋友们可以点赞支持一下~