本来题目写成“如何从一个只会点鼠标的手工测试变成开发测试”可能更能吸睛。或者,“一个排序算法就让我顺利通过了外企的面试”,这样的题目更能激励哪些只会功能测试,想做出改变的朋友。
事实是,我现在就干着一份测试开发或者开发测试的工作,而且是高级岗位。实践之路或者学习路线不一定都适合每个人,这里只是我个人的一些分享。
1.目前的状态
差不多坚持学习了两年,说实话,学习了一部分东西,但是很快又忘记了,简单列出一个知识清单和我当前掌握情况。
1)Java编程基础,现在应该算入门,还在坚持学习基础部分。基本上能应付面试问到的编程题目的一半以上。
2)Python语言,在写Python+Selenium系列,学习过基础,快一年不用,也忘差不多了。有时间,需要再次学习。
3)Linux,除了常用shell命令,其他都记得,也不会,至少不能立马写出一个简单的shell脚本。
4)SQL,完全忘记了,基本上没有用到过,寄托以后项目遇到再学习吧,或者自己学习开发网页的时候再学习。
5)Selenium,基本的API操作大概知道,有一些忘记了,也是半年多不用,这个面试的时候表现最好,不用担心这块
6)Jenkins,现在来看,博客Jenkins入门基本上不叫入门,压根就没有接触过pipeline,这个才是CI/CD的核心。
其他自动化测试相关技能,UI自动化基本上是从入门到放弃,接口自动化基本上简单的能弄出来,复杂的没有实际项目支撑,没有太多想法。性能测试,基本上没有入门,没有实际项目使用。
2.重点是敲代码
群里或者博客经常有人问我,如何改变,如果做自动化测试或者如何做测试开发。
我现在不想回答这个问题,我真的和你们每一个人不一样,我不能为你们职业规划进行设计和指导。我的意思是,你要有自己想法,知道自己想要什么,如何去改变,而不是指望别人给你点石成金。
没有所谓的捷径,如果非要说重点,那就是去多敲代码。语言不是问题,问题是你不去开始和检查去学习编程去敲代码。没有代码基础,去讨论自动化测试和各种测试技术,是毫无意义的,因为你永远在门外。
我经常体会到,贫穷的代码能力,限制了我对测试技术的进步。
3.我实践过的路线
1)WebUI自动化测试,Selenium我一直强调,就是一个让你入门自动化测试的工具。新手不要去搞神马录制脚本,脚本是写出来的不是录制出来的。然后就是入门到放弃,放弃UI自动化,投入到接口自动化测试
2)各种自动化测试框架的设计和实现,UI自动化POM,数据驱动,关键字驱动,当然行为驱动我还没有学习。
3)接口半自动化和自动化以及框架设计,利用一些工具进行半自动化测试,例如postman,然后利用代码和开源工具包进行接口单元测试,例如httpclient和requests,最后尝试解决下公司内部的接口自动化框架设计和实现。例如我写的testlink读取接口用例和自动化进行测试。
4)编程语言基础,我选择了Java去加强锻炼。现在还是在学习编程基础部分,学习越多,越能替换自己是白痴,啥也不会。为什么,文章开头我说写了一个排序算法,就顺利通过了面试。简单回忆一下,当时是外企第三面,现在才知道对方是一个高级总监。其实我就真的写了一个排序算法,在黑板和白纸上写了两个编程题。好像就是一个冒泡排序和Scanner键盘导入包这个类,还有字符串操作,就没有其他的了。
4.关于面试和工作机会
没有什么好讨论的,技能越多越好。
一个工作机会,有很多因素组成:专业技术能力,学历,运气,家庭因素,态度,沟通协调能力,责任心,还有一些隐性的自我价值展示。隐性的例如,快速学习能力,做事方式,思路和情商等。
我只讨论技术,其他的可能也很重要,但是我们一般只能改变技术能力,其他的不好改变。技术能力,当然是掌握越多越好,越扎实越厉害。只有地基大和深厚,你的就业选择范围就大,机会就多。技术覆盖范围越多,你把握机会的能力就越强。一般企业就看中你一两个点,其他技术可以后面慢慢学。就看你的运气和知识存储能力了。
5.关于测试方向
我现在在一个新环境,学习新技术,彻底的一个小白。主要的工作方向就是devops,更具体一点就是,利用groovy语言写pipeline脚本,pipeline是Jenkins的核心和最美的功能,当然也是最自由和最复杂的技能。我也在学习,也有压力,人对于新鲜事物都有恐惧,都不想改变自己。这种工作,注定了需要写多语言的代码开发,java,python,linux shell,groovy,当然还有Docker容器技术和linux技能和数据库,操作系统,网络等。
测试相关的行业,方向也是有很多的。第一个当然是万能的手工测试,哪些需要点哪里。自动化测试或者测试开发,主要是服务器端和客户端。而我基本上距离测试越来越远,至少我不需要了解安全测试,性能测试,和app自动化测试。 测试方向有很多,就看你如何根据自己能力去学习和提高,然后进入一个方向,深入研究就好。
最后,强调一个事实,要实现以上每一个方向,都需要代码技术。我们大部分人都是普通人,凡人,都有浮躁和偷懒的一面, 敲代码是改变手工测试的第一个要长期坚持的事情。改变的路上没有终点,除非你要自我放弃,共勉。
看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:
1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。
2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,35岁之后,凭什么让一家企业继续任用你?你的经验和功能测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号:【伤心的辣条】免费获取~
我的学习交流群:902061117 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
阿里小黑叹息:越来越多的年轻人从职场撤退了?
Python简单?先来40道基础面试题测试下
App公共测试用例梳理
从一名开发人员转做测试的一些感悟