全文 2000 多字,多图预警,建议先收藏,有 “在看” 么?顺便点个蟹蟹
想当年,从一个什么都不懂的非科班测试小白,考研失利后,转行到 K12 教育知名互联网公司做测试开发工程师,我用了大概半年的时间。
这个过程中我自己也摸索出了一条学习路线,在这里想给大家分享一下我的学习路线,希望能给大家带来一些帮助。
先上一下脑图,学习都是循序渐进的,你先学会了如何做一名优秀的测试工程师,然后才能进阶成为一名测试开发工程师。
如果是完全的 0 基础小白,最少要掌握测试基础、计算机基础、业务能力、功能测试。但是如果想要成为一名优秀的测试开发,以上全部都要学。
测试工程师或者测试开发工程师,都是需要阅读很多的资料来武装自己,我这里也准备了测试开发工程师推荐书单,大家可以在去我的公众号【测试开发 Guide】中回复「书单」获取。
要长胡子先成人,测试基础是新手入门必须要掌握的技能,这部分是最不能忽视的。
对于零基础的小白,先看一下这个视频。
【测吧】7 小时入门软件测试
推荐理由:
「从内容上来说」
这是一个不错的测试开发的科普视频,从测试基本概念,测试流程,接口测试方法,再到测试面试,都有讲解,干货满满。
「从主讲资历来说」
绝对是业界大佬:思寒老师,十年以上测试行业工作经验,中国移动互联网测试开发大会演讲嘉宾,先后工作于阿里、百度、Testin、雪球等公司,开源项目 AppCrawler 作者,现为霍格沃兹测试学院的首任校长。
但如果是想系统学习,建议还是看以下 2本书。
这里是《软件测试的艺术》的完整读书笔记,抽空可以看看:
吐血整理,《软件测试的艺术》读书笔记
https://zhuanlan.zhihu.com/p/128095045
非科班出身,很重要么?中国 50% 以上的码农都是非科班出身的,臻叔也是非科班出身的,本科学的是自动化。
但是既然要从事软件测试行业。计算机、操作系统、数据结构与算法、计算机网络这些经典的课程还是需要掌握的。
先天不足,后天来补。
可以去中国大学 MOOC(https://www.icourse163.org/)进行学习,里面有海量的课程可以免费学习,师资力量不必担忧,老师都是名校教授,学成还可以申请证书,可以写到简历里面,锃光瓦亮。
推荐上这四门课:
【大学计算机】「北理工 李凤霞教授等」
https://www.icourse163.org/course/BIT-47004
【操作系统】「北交大 翟高寿教授等」
https://www.icourse163.org/course/NJTU-1003245001
【数据结构】「浙大 陈越教授等」
【计算机网络】「哈工大 李全龙教授等」
接下来再看这几本书:
Linux
Linux 是测试工作最常使用的操作系统,部署和维护测试环境,都需要在 Linux 中进行,要想掌握,必须多加练习。
推荐一个网站,Linux 命令大全,有不懂的命令可以在这里速查,建议收藏。
网络
数据库
数据库是重中之重,光看还不行,要不断加以练习。
推荐大家可以去牛客网进行 sql 练习
测试和业务是分不开的,但没办法,这个只能在工作中提升。
假如说没有工作经历的话,可以拿一些头部的 app 来做以下 3 个练习:
1、自己梳理业务名词表
2、多思考,会画系统框架图、泳道图
3、梳理产品功能,画脑图
这是我刚进入公司,梳理的业务名词表的截图,仅供参考。
测试能力也是需要不断的实践才能总结出来的,推荐大家一门慕课网的实战课程
《全面系统学测试 从小白入门到实战就业》
这门课是以余额宝作为实战项目进行测试讲解,包含功能测试、性能测试、自动化测试等内容。
自动化测试
推荐大家一门慕课网的课程《Python 移动自动化测试面试》,讲得还是挺全面的,可以作为入门课程,也可以作为备战面试的复习资料。
性能测试
jmeter 开源大法好,在测试圈也是十分流行,建议看
《性能测试入门-Jmeter 工具与监控全方位打造》
现在的测试岗位招聘门槛都提升了不少,不会编程语言,很难在这个行业立足。
建议学习 Java 或者 Python。
java
想先学 java 入门的,去看浙大的翁凯老师讲的
《面向对象程序设计——Java 语言》
python
想先学 python 的,去看翁凯老师的
《Python 程序设计》
当然,要是觉得看视频花费时间太多,也可以直接看
【廖雪峰 Python 教程】
看完之后,如果都能理解,那基本上入门了。
但是面试往往不是入门就可以的,你至少得熟悉,不仅要多写,你还需要对 Python 有更深层次的理解,试想,假如你能自如应对面试官的灵魂拷问:
(1)Python 的深拷贝和浅拷贝的区别是啥?
(2)Python 的垃圾回收机制是怎样的?
(3)Python 的协程是什么?怎么实现?
(4)Python 的继承顺序是怎样的?
(5)什么是鸭子类型,鸭子类型有什么用?
(6)什么是元类?
(7)Python 是怎么实现 ORM 的?
小朋友,你为什么有那么多问号
那你面试的时候,编程语言这关就稳了。
面试前最好看看《Python3 高级核心技术 97 讲》,满满干货,而且也传授看源码的方法。
《Python3 高级核心技术 97 讲》
https://coding.imooc.com/class/200.html
如果时间富余的话,再学习下算法,虽然工作中不一定用得上,但是现在不少大厂面试都会考。
如果你的手机是 iOS,还可以下载一个 APP:【算法动画图解】
测试开发最常逛的网站,testerhome 肯定是少不了的,可以在这里学到很多知识。
网站:
假如想要了解测试平台的开发,除了 CI 神器 Jenkins 之外,还免不了要学习前后端的 web 框架
一般测试平台的开发框架,
【前端】:Bootstrap / elementUI(Vue)
【后端】:Spring Boot / Django
开发后台网站,推荐学习以下几门实战课程
【强力 Django+ 杀手级 xadmin 开发在线教育网站】
「vue + drf」
https://coding.imooc.com/class/368.html【引爆潮流技术 Vue+Django REST framework 打造生鲜电商项目】
「django + xadmin」
https://coding.imooc.com/class/131.html【从 Java 后端到 Web 全栈】
「vue + springboot」
https://class.imooc.com/sale/javafullstack【玩转 Spring 全家桶】
「spring」
https://time.geekbang.org/course/intro/156
当然,你还得熟练掌握市面上常用的测试工具。
在这里,臻叔列举了测试开发需要掌握的测试工具,都在下面的图里了。不是最全的,但是应该够用了。
最后,这里有一份 2020 年最新【阿里、头条、美团】【软件测试】面试题(持续更新!)
如果你能答对以上 80% 的题目,我相信找工作难不倒你。
【面试干货】2020 年软件测试面试题大全(持续更新)附答案
臻叔和大多数程序员一样,乐于分享,热衷开源。
业余时间也会以视频的形式分享我的行业见解。
B 站
https://space.bilibili.com/382166537我还有一个微信公众号:【测试开发 Guide】
欢迎关注!