1、学习python基本语法。
2、上w3school这个网站(2019年4月6日补充:网址是http://www.w3schools.com。但是现在这个网站被墙,而且出现众多山寨站点。。。这个网站的特点是你可以在网页上做一些练习,比如他教html的时候会让读者直接在一个框里输入一段html,然后网站上实时展示其效果。如果你可以科学上网那可以看这个网站,不能的话,其实国内类似的站点有的也可以看看比如http://www.w3school.com.cn或者http://www.runoob.com)
学习HTML/CSS下的html、xml、webservice三个教程。
3、然后下一个python的requests库学习写最简单的网络爬虫。
3是第一个里程碑,学写简单爬虫一方面有一定的成就感,一方面又知道了接口到底是怎么回事。同时还学到了怎么解析一个页面,
4、学习python的测试框架unittest,知道怎样用unittest和python的mock模块写一个小单元测试。
5、把3和4结合起来,你掌握http自动化接口测试。
6、学selenium的库和页面对象模式
7、把2、4、5、6结合起来,你应该能写既支持web测试又支持接口测试的自动化测试脚本了。
8、学robotframework,你可以把自动化测试变成关键字驱动和数据驱动的了。
9、学python的高级一点的语法。如装饰器、线程进程协程。你可以让测试并行执行,并自动记录测试步骤到log文件里了。
10、学jenkins,测试不再需要你手工去启动了。测试也可以分步式运行到多个环境上了。
11、学docker、git、gitlab等的简单使用,从此测试脚本不用再人肉更新、测试环境也不用人工搭建。这里也要学linux的简单使用,
12、回到w3cshool,学习javascript、ajax、jquery、bootstrap。至此你可以写50%以上简单网站的前端了。
13、学习python的flask库,学mysql或mongodb是怎样和flask一起用的。至此你可以写简单网站的后台了。你还可以快速开发webservice接口了。
14、综合12和13,你可以开发一些测试管理工具了。比如写一个管理很多jenkins master的ci调度平台。也可以写一个提供统一样式的测试报告的web展示平台。写一个监控所有测试情况的看板。写帮你生成测试文档的脚本。写测试环境的管理工具。
并且14是一个里程碑,你可以理解开发人员的一些思路了,比如为什么开发人员老是不愿意好好写单元测试、老是说这不是bug、老是说几点干完但却拖到半夜还做不完,特别是你做的东西交给别人测的时候。你也可以理解web测试的接口测试、单元测试怎样做比较好,因为如果不好,你是不愿意用到自己写的网站工具上的,你会觉得浪费时间。老实说我从来没用selenium给自己写的网站做过测试,完全不想做,但接口测试和单元测试我还是很愿意做的。主要因为基于图形界面的自动化测试效率低。我当时组里有其他测试人员执意要给我这个网站做selenium,我劝阻不了,但最后界面需求不断修改,他也没坚持做下来,从这个工具网站的第二个大版本开始就放弃了。
15、学压测工具locust、jmeter等,7里写的框架可以支持压力测试了。同一套接口测试脚本,既做自动化测试又做压测了。注:现在主流是jmeter,而未来属于像locust这样的工具,它让测试人员写代码来描述性能测试。jmeter的控件和图形界面适合新手入门,但基于图形界面做的话效率低一点。其他gatling、grinder都在自身的设计理念上比jmeter先进。
16、想做app测试的话,学一个appium之类的框架。p s:我没有学这个,主要看项目方向是否需要。
17、补课时间,好好把计算机网络补起来,这个是真有用,我原单位用openstack搞云计算的时候,网络这块是最经常出问题的。网络我学得不好,就得不断求实验室的人帮忙。
算法题刷起来,平时没多少用但是面试经常考,数据库我说实话我毕业后就没怎么系统学过,好像我用得不多。
linux操作系统再补补,鸟哥私房菜看看完。很多人用了n年linux连系统权限咋回事都不懂,这个有点无语的。
18、java补起来。没办法,用java的单位多。要找工作机会也多。现在流行java+python都要会。其实都差不多,举一反三。但能用python的地方我还是喜欢python。
19、不知道后面再怎么学了。我想再提高提高web开发能力。前端框架学一个,以后开发一些更漂亮更炫的前端页面。再学下什么消息中间件之类的,去面试曾经被这个的问题虐过。
我相信再怎么基础差,到了这里做做大部分单位的自动化测试是随便做做了。但是,恐怕你到这个时候也不愿意回去写那种常见的selenim脚本了吧。按我们单位的情况,原来写的脚本是robot脚本加一些自定义库,和别的单位的selenium、appium本质上都类似,都很简单不用动脑筋。这时候我原单位里有的人就转去做devops,搞ci、cd。有的人去做自动化测试教练(其实就是写测试基础库和搞培训)、测试工具开发(偏web开发)。这几类我都试过后感觉对devops更有兴趣,当然我做的具体工作还是从自动化测试开始的。自动化测试的学习路线和devops可以很好地衔接起来。因为自动化测试方面的专家较少,而devops讲究的是自动化整个流程,不仅是测试,但自动化别的阶段和自动化测试阶段,目前还没有太大本质区别。
至于自动化测试架构师的职位,其实就看你单位怎么设置职位了。做技术的人总想着挂个架构师头衔,但其实这个架构师和开发的架构师差距还很大啊。到这里也不要沾沾自喜…可能只是你在这个公司资历熬的久。
作为一个过来人,我深知自我提升过程中的困难,所以我热衷于收集教程资源和整理学习路线。这样可以很大的提高学习效率,也避免少走一些弯路。下面的《自动化测试学习路线图》和相应的【一套网盘资源】,会告诉你该往哪里努力:
【自动化测试学习路线】
1、自动化测试必备Python编程内容
2、Web UI 自动化测试基础内容
3、 Web UI 自动化测试实战内容
4.、APP UI 自动化测试基础内容
5、APP UI 自动化测试实战内容
6、API 接口自动化测试基础内容
7、API 接口自动化测试实战内容
8、CI/CD持续集成专项技术
9、 自动化测试框架实战技术
【视频教程资源】
-事必有法,然后有成- 最后祝大家早日拿到满意的offer ~点击下方小卡片资源均可分享!