测试开发工程师的学习路线与学习资源个人总结
在笔面试中,主要考察这几方面:
- 计算机基础
- 编程语言
- 数据结构与算法
- 数据库
- Linux
- Git/Docker/CI
- 软件测试理论与场景
- 软测项目
计算机基础
计算机基础主要考察计网、操作系统、少数几家考察了计算机组成原理
计网
计网问得最多的是传输层,其次应用层,然后网络层。还有很多实际的网络问题,比如:页面未正常加载,如何排查和解决问题;为甚么有了IP协议还要TCP协议等。
对于计算机网络,能够系统地学习一遍是最好的了,因为如果只是背书,有些实际问题是回答不上来或者回答不全面的。
- 视频学习,王道考研计算机网络
- 知识点总结,Cyc2018-网络基础
操作系统
操作系统问得比较多的是进程与线程,有时也会与语言结合起来问,比如Python里GIL,多线程
-
视频学习,王道考研操作系统
-
知识点总结,Cyc2018-操作系统基础
计算机组成原理
- 视频学习,王道考研计算机组成原理
> 根据个人实际情况考虑是否学习,因为真的问得不多。当然这也是计算机基础,咱不能为了对付面试就真的不学,还是有时间学学。
编程语言
测试都要求会编程,当然没有纯开发那种深度。大厂测开主要分前后端测试(业务测试)和测试工具平台开发两个方向,如果分配到平台开发方向,那么对于编程语言的要求还是蛮高的。苦练基本功,长期有耐心。
测试常用语言主要有Python,Java。实际工作场景中,到底哪个用得多,真正用哪个,还是要看具体组。不过我推荐最好是学Java,因为可以兼顾测开两个方向,就算转Python,时间和学习成本也会小很多。
Python
Python分基础和高级
-
基础部分
> 链接:https://pan.baidu.com/s/1Rr0GtbQks-l1Gpc1-Len4w > 提取码:zlzb
-
高级部分
> 链接:https://pan.baidu.com/s/17pR5moC0ayVVNeuQsp_59g > 提取码:381i
Java
> Java推荐B站狂神说
至少要学习以下几部分:
- 【狂神说Java】Java零基础学习视频通俗易懂 必学
- Java常用类、集合、IO(重要) 必学
- 【狂神说Java】多线程详解
- 【狂神说Java】网络编程实战讲解
- 【狂神说Java】注解和反射
> 后面的数据库,Git,Docker,Linux都以狂神为主推荐
知识点总结:Cyc2018Java
数据结构与算法
这块主要以考察常见数据结构:链表、数组、树,以及算法编程题为主,重中之重。笔试面试必考察,占比还很大,面试中如果算法题整不出来,大概率就没了
视频学习:b站 爱学习的饲养员 掌握基本的数据结构、算法,常见的解题方法
算法刷题
> 时间充裕的话,最好是学完一遍基本的数据结构、算法,常见的解题方法再刷题
刷题网站
- c o d e t o p(推荐)
这个汇总了互联网大厂面试的高频考题🔥
- 牛客
- 练习ACM模式
- 必刷top、高频题
数据库
数据库主要考察MySQL:增删改查、事务、索引、三大范式等,包括与索引相关的B+树相关数据结构
视频学习
- Java(推荐) 视频学习,狂神说
- Python
> 链接:https://pan.baidu.com/s/1HYPzF9fF8uMCo9Z4qCH3rA > 提取码:cedf
知识点总结
Linux
基本的、常见的linux命令要会,有几个高级的文本处理命令比如sed、awk等最好也了解一下。
视频学习 > 狂神说配套Linux
> 链接:https://pan.baidu.com/s/1e_1R1E0oJPQSdoGpOeuPZw > 提取码:h03i
知识点总结
Git/Docker/CI
视频学习
Git 基本的git命令必须会,实际工作经常用,新建分支/拉取分支/合并分支/解决冲突等(必学必会)
CI/CD 就是工作中说的流水线,工作中高频使用,持续集成、持续部署(交付),懂点的话会更好(必学必会)
Docker(耗时较长,选择性学习,不充裕看下面的知识点总结)
知识点总结
软件测试理论与测试场景
软件测试理论经典书籍推荐
软件测试的艺术(2oh9),看这一本对于软测的整体理解足已 -----这本书真的看不下去,弃坑,建议看下面提到的公众号,
- AllTests软件测试
- 芸汐聊测试
主要就是要了解基本的测试工作流程、测试用例设计方法、对测试(QA/测开)角色的认知
测试场景题:🌰电梯测试、微信朋友圈测试、水杯测试等,需要运用测试用例设计方法从不同的场景、不同的角度描述测试用例,常见的测试角度:功能测试、安全测试、性能测试、兼容性测试等
视频学习(临时抱佛脚的就不用看了,挺枯燥的)
> 链接:https://pan.baidu.com/s/1hiSzOKAgxEipg7qO8UV-Zg > 提取码:vgc5
软件测试项目
这一块应该是加分项,如果做过测试项目或者有实习是很好的。
项目的话推荐做两个,这俩上手容易点,可操作性较强:
- 前端UI自动化,Selenium ,Appium等(selenium一定要清楚工作原理,常问)
- 接口自动化。Java的话了解testNG和Junit,Python的话了解pytest和unittest。核心在于如何利用这些工具搭一个简易的测试框架,能够完成接口的请求与返回数据的校验,测试数据的管理。可以找一些免费的API接口网站练手,百度搜搜
这两项目可以结合前述的CI/CD,主要就是与Jenkins结合。
这在上面的视频学习里面有涉及,再推荐两本书籍(有钱有时间的可以买来看看)
软件测试论坛
面试中可能会被问到浏览过哪些论坛
TesterHome 强推
很有帮助的微信公众号
- AllTests软件测试[强烈推荐,不看后悔系列,基础必备]
- FunTester[强烈推荐,不看后悔系列]
- 芸汐聊测试[强烈推荐,不看后悔系列]
- TesterHome001
- testing51testing
- 360质量效能
- 搜狗测试
> 声明:部分资源来源于互联网,如侵权,请联系删除
#学习路径##测试开发工程师#