测试开发学习路线

发布时间 2023-06-17 18:48:38作者: 苦逼小李

阶段1 : 入门

目标
该阶段是通过学习编程语言基础,能够了解编程语言的基本语法、使用规则,能编写出简单的程序,为后续学习自动化测试框架、Web开发框架做准备。

Python
知识点

  函数
  面向对象编程
  模块
  包
  异常处理
  文件操作
  迭代器/装饰器/生成器
  常用库(Requests、openpyxl)

阶段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

 

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返回数据分析
    日志分析与问题排查

阶段6 : 持续学习

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

学习方向
  测试效能提升
  CI/CD
  容器化
  测试左移/测试右移
  diff 测试
  AI 测试
  流量回放
  测试平台(工具)开发
  性能测试
  算法测试
  大数据测试
  专项测试
  稳定性测试