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

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

前言

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

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

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

路线大纲

该学习路线一共是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 测试
    • 流量回放
  • 测试平台(工具)开发
  • 性能测试
  • 算法测试
  • 大数据测试
  • 专项测试
  • 稳定性测试

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值