【校招VIP】测试开发学习路线,助你通关大厂

04月10日 收藏 0 评论 0 测试开发

【校招VIP】测试开发学习路线,助你通关大厂

转载声明:文章来源https://zhuanlan.zhihu.com/p/618888967

前言

大家好,我是洋子,一名测试开发工程师

在测试行业,我们一般都听说过这3种岗位:测试工程师(功能测试),自动化测试工程师,测试开发工程师。目前在互联网大厂,基本都只招测试开发工程师,意味着做软件测试也需要具备代码能力

对于测试开发这种近几年才在国内火起来的岗位,在市场上基本没有可供参考的学习路线,很多非计算机科班的同学想转行做软件测试拿高薪,却不知道怎么学习

于是我花了快一个月的时间,整理出了测试开发的学习路线,供大家学习参考。本学习路线是结合我自己在百度做测试开发基础上整理出来的,详细列举出测试开发需要具备的知识点,以及配套的优质学习资源,大家可以完整的自学测试开发,找到心仪的工

学习路线XMind原版文件获取方式,公众号 测试开发Guide,回复【学习路线】

路线大纲

该学习路线一共是7个阶段,循序渐进,学习路线相对比较平缓

阶段0 : 前言

路线特点

- 适用于想转行做功能测试与测试开发的同学

- 适用于想全面学习/ 快速求职的同学,可以根据标记符号来选择学习内容

- 给出目标、学习建议、关键知识点、最优资源以及各类资源推荐(视频、书籍、文档、项目、工具等)

- 完整的测试开发学习路线,划分阶段并给出持续学习的方向

- 我自己在百度 从事 测试开发工作 近2年,有自己的从业经历和思考

学习建议

- 了解清楚测试开发的就业前景和工作内容,该岗位的核心目的是做质量保障,也可能会涉及点点点的工作,也可能需要写代码,确定自己是否喜欢

- 在开始学习之前,确定你的学习目标。是想进大厂还是想找到一份工作就行

- 了解清楚后,你需要准备一款本地IDE软件(学习python 推荐Pycharm,学习Java 推荐 IDEA,学习Go 推荐 GoLand),或者能在线运行代码的网站,如菜鸟工具 ,用来运行代码,进行代码练习

- 另外你还需要准备一款记笔记的软件,用来记录学习上遇到的问题,解决方案以及自己的心得体会,优质的资料等等,推荐笔记软件有`Typora、印象笔记、CSDN`,再次敲重点,不要太相信你的记性,一定要用笔记软件记录下来

阶段1 : 入门

目标

该阶段是通过学习编程语言基础,能够了解编程语言的基本语法、使用规则,能编写出简单的程序,为后续学习自动化测试框架、Web开发框架做准备。在这个阶段你可以选择Java或者Python 任意一门编程语言进行学习,有计算机基础建议选择Java作为编程入门语言

Python

知识点

- 函数

- 面向对象编程

- 模块

- 包

- 异常处理

- 文件操作

- 迭代器/装饰器/生成器

- 常用库(Requests、openpyxl)

 Java

知识点

- 数据类型

- 基本数据类型

- 引用数据类型

- 枚举

- 数组

- 流程控制

- 判断

- 循环

- 面向对象

- 抽象类

- 接口

- 集合类

- 泛型

- 注解

- 多线程

- IO流

- 反射

- 异常处理

### 学习建议

对于编程语言学习,需要持续、连续、系统的学习,并且需要根据视频教程或者书籍自己敲代码,这样才能加深印象,遇到问题自己先Debug尝试解决,实在不会可以百度或者请教别人

 阶段2 : 基础

目标

本阶段有两个部分,一个是掌握开发的基础知识,另一个是掌握测试的基础知识

在掌握了编程语言以后,还需要巩固计算机基础知识,比如数据结构与算法,基本上公司面试时都会重点考察。

除此之外,操作系统、计算机网络、数据库、Linux这些计算机基础知识也是企业里常用到的知识 ,对你后面学习Web框架之类的知识都有帮助

对于测试基础,需要学会基础的用例设计方法、抓包等测试工具使用,这些都是做软件测试的必备技能

数据结构与算法

常用数据结构

- 数组

- 字符串

- 队列

- 栈

- 链表

- 集合

- 哈希表

- 二叉树

常用算法

- 排序

- 双指针

- 查找

- 分治

- 动态规划

- 递归

- 回溯

- 贪心

- 位运算

- DFS

- BFS

- 图

计算机网络

知识点

- 网络分层模型

- HTTP / HTTPS 协议

- UDP / TCP 协议

- 网络安全

- DNS域名解析

- ARP 地址解析协议

- Socket

 操作系统

知识点

- 进程、线程

- 进程 / 线程间通讯方式

- 进程调度算法

- 进程 / 线程状态

- 死锁

- 内存管理

MySQL数据库

知识点

- MySQL 搭建

- SQL 语句(重点)

- 索引

- 事务

- 锁机制

- 设计数据库表

 Linux

重点知识

- 常用命令

- 常用环境搭建

- Shell 脚本编程

- VIM 的使用

功能测试基础

知识点

- 测试用例设计

- 等价类

- 边界值

- 错误推测

- 测试计划

- 测试报告

测试工具

- 抓包工具

- Charles

- Fiddler

- 接口测试工具

- Postman

- 用例编写工具

- XMind

- 缺陷Bug管理工具

- 禅道

- Jira

- 接口管理工具

- Yapi

阶段3 : 进阶

目标

该阶段分为开发进阶与测试进阶两个部分,开发进阶主要为Web开发框架学习,代码管理工具Git以及Redis缓存,为后续能开发测试平台做准备。测试进阶则是包含了自动化测试部分,学完此部分应能利用自动化测试框架编写自动化case

Web开发框架

- python web框架

- Flask

- Django

- javaweb

- SSM框架(Spring、SpringMVC、MyBatis)

- SpringBoot

- Maven(项目管理)

学习建议

如果你选择的是Python编程语言作为入门,在这个阶段可以选择学习Flask或者Django Web框架。如果你选择的是Java编程 语言作为入门,则可以选择学习SSM框架,或者直接学习SpringBoot

 Git

知识点

- 工作区

- 分支

- 代码提交、推送、拉取、回退、重置

- 分支操作

- 代码合并、解决冲突

Redis缓存

知识点

- 数据类型

- 常用操作

- Java 操作 Redis

- 主从模型搭建

- 哨兵集群搭建

- 日志持久化

自动化测试

知识点

- 单元测试自动化

- TestNG:Java 测试框架

- JUnit:Java 测试框架

- Unittest:Python单元测试框架

- 接口自动化

- Pytest(测试管理框架,可用来做接口自动化)

- Robotframework(测试管理框架,可用来做单元/接口/UI自动化)

- UI自动化

- Selenium

- Appium

阶段4: 项目实战

目标

此阶段分为两个部分,开发实战和测试实战。对于开发实战,希望大家能把前面所学的编程语言,数据库,Linux等知识,开发出测试平台,或者利用自动化测试框架,实现case编写、case执行以及生成测试报告一系列操作。对于测试实战部分,可以通过利用测试工具,如Postman、Charles 完成接口测试,对于遇到的问题,能够通过日志分析,自主排查问题

学习建议

对于测试开发岗位的实战学习,最好能在公司真实环境内部进行,因为只有在公司内部才能体验到完整的项目流程。如果说对于想转行做软件测试的同学实在没有项目经历,可以在阶段3 学习Web框架的时候,开发出一个平台,作为开发的项目经历(测试开发岗位有开发经历会更吃香)。也可以在测试者之家(TesterHome)寻找开源项目进行练习

知识点

- 测试工具脚本(平台)开发

- 监控平台

- 接口自动化测试平台

- 压测平台

- 业务测试中台

- 集成信息查询

- 环境自动部署

- 测试数据构造、mock数据

- 测试实战

- 客户端测试

- Web测试

- App测试

- 服务端测试

- 接口测试

- 白盒测试

- Mock数据

- 测试数据构造

- HTTP返回数据分析

- 日志分析与问题排查

资源

- 测试者之家开源项目汇总

阶段5 : 求职

目标

找到一份好工作

求职建议

- 精心准备一份简历

- 尽早做规划,可以通过大厂招聘官网的岗位描述来了解岗位的要求

- 多读牛客网面经,坚持刷Leetcode算法

- 多参加面试,面试完成后进行复盘总结

资源

- 网站

- 牛客网

- Boss直聘

- 拉勾网

- 企业招聘官网

- 面试真题

- 牛客网测试开发面试真题汇总

阶段6 : 持续学习

目标

持续学习,提升自己核心竞争力

学习方向

- 测试效能提升

- CI/CD

- 容器化

- 测试左移/测试右移

- diff 测试

- AI 测试

- 流量回放

- 测试平台(工具)开发

- 性能测试

- 算法测试

- 大数据测试

- 专项测试

- 稳定性测试

C 0条回复 评论

帖子还没人回复快来抢沙发