我写一个学习路线吧:
1.学习python基本语法。
2.学习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讲究的是自动化整个流程,不仅是测试,但自动化别的阶段和自动化测试阶段,目前还没有太大本质区别。至于自动化测试架构师的职位,其实就看你单位怎么设置职位了。做技术的人总想着挂个架构师头衔,但其实这个架构师和开发的架构师差距还很大啊。到这里也不要沾沾自喜…可能只是你在这个公司资历熬的久。