核心技能
Java核心编程基础(OOP/集合/异常)
巩固面向对象、集合框架、泛型、异常、Lambda与Stream,作为后续所有后端与测试代码的前提。
建议预留 120 分钟
学习目标
- 复习面向对象与集合框架要点
- 熟悉Lambda与Stream的常用写法
关键概念
- 集合框架
- 泛型
- 异常处理
- Lambda与Stream
为什么学习
- 学习者已有Java基础,此处做定向回顾以确保能读懂并编写Spring Bean与被测业务代码,不需重新从零掌握但不允许留知识盲区。
如何检验理解
- 能口头说明集合选型(List/Set/Map)与为何选它,并能读懂含泛型和Lambda的现有代码
- 能指出一段异常代码的捕获/传播设计问题
基础概念
MySQL与SQL/数据库基础
掌握增删改查、联表、索引与事务DML,为理解数据访问层与后续Dao测试铺路。
建议预留 60 分钟
学习目标
- 掌握常用增删改查与联表
- 理解索引与事务隔离级别概念
关键概念
- CRUD
- JOIN
- 索引
- 事务隔离级别
为什么学习
- 持久层是后端核心,SQL是理解MyBatis/JPA与被测数据行为的基础;此节点达到能写常见SQL即可,优化留到后续。
如何检验理解
- 能写出含联表与条件检索的查询并解释结果
- 能说明事务内多条SQL的执行与提交语义
基础概念
HTTP/HTTPS 协议与 REST 基础
理解请求方法、状态码、请求/响应头、Cookie/Session与HTTPS/TLS握手,覆盖目标要求的网页协议常识。
建议预留 60 分钟
学习目标
- 掌握HTTP方法、状态码与头语义
- 理解Cookie/Session与HTTPS加密
关键概念
- 请求/响应模型
- 状态码
- RESTful语义
- TLS握手
为什么学习
- 这是Spring MVC、抓包排查与接口测试语言的前提,作为计算机常识需达到能配合抓包工具理解接口输运,不要求亲自实现协议。
如何检验理解
- 能对着抓包结果说出一次请求的语义与各状态码含义
- 能说明HTTPS握手与Cookie/Session的作用
基础概念
TCP/IP 与 UDP 传输层
理解三次握手/四次挥手、拥堵与流量控制及Socket模型,用于定位网络传输类后端问题。
建议预留 60 分钟
学习目标
- 理解TCP握手挥手与可靠性机制
- 理解UDP特性与适用场景
关键概念
- 三次握手
- 四次挥手
- 拥塞/流量控制
- Socket
为什么学习
- 作为测试开发排查网络问题的知识底座,需理解TCP/UDP行为以看懂连接状态与抓包,属于要求熟练的领域常识,不必实现协议栈。
如何检验理解
- 能解释三次握手与四次挥手各阶段含义
- 能区分TCP与UDP的适用场景
基础概念
IP、DNS 与端口认识
理解IPv4/IPv6、公网/内网地址、域名解析及常用端口,能配置应用监听与排查端口冲突。
建议预留 45 分钟
学习目标
- 掌握IP分类与常用端口
- 能排查端口占用冲突
关键概念
- IPv4/IPv6
- 域名解析
- 80/443/3306/8080
- 端口占用
为什么学习
- 属于计算机常识的硬性补充,覆盖目标明确的端口与IP认识;理解到能查端口占用、区分内网地址即可。
如何检验理解
- 能用命令查看并解释某服务的监听端口
- 能区分公网/内网/回环IP并说明DNS解析过程
工具链
Git 版本控制
掌握分支、提交、合并与冲突解决,能独立管理项目代码并支撑团队协作与测试报告归档。
建议预留 90 分钟
学习目标
- 掌握常用提交、分支与合并命令
- 能解决基本冲突
关键概念
- clone/commit/push
- 分支
- merge/rebase
- 冲突解决
为什么学习
- 后端日常开发必需工具,目标明确要求熟练;应能完整走通提交-分支-合并-回滚流程。
如何检验理解
- 能新建分支提交改动并解决一次合并冲突
基础概念
JVM 基础与并发/IO 回顾
回顾内存模型与垃圾回收要点、线程与锁、锁、IO流,作为理解容器与多线程接口行为的基础。
建议预留 90 分钟
学习目标
- 复习JVM内存与GC概念
- 掌握并发与线程安全问题要点
关键概念
- 内存模型
- 锁与原子性
- IO流
- GC
为什么学习
- 目标要求此广度到入门即可,多数并发/JVM行为在实际定位问题中由框架封装;作为测试开发识别与初步判断足矣,不必深挖底层实现。
如何检验理解
- 能解释线程安全的三要素并举例避免竞态
- 能说明堆/栈与GC基本思路
工具链
构建工具:Maven
掌握依赖管理、生命周期与常用插件,能配置打包并产出可测可部署的jar。
建议预留 60 分钟
学习目标
- 掌握依赖与生命周期
- 能配置常见插件并运行构建
关键概念
- pom与依赖管理
- mvn lifecycle
- plug-in
为什么学习
- Spring与测试运行都依赖Maven的依赖解析与构建,是必备工具链,需能日常正确使用。
如何检验理解
- 能新增依赖并执行test/package生命周期
基础概念
JavaWeb 理论回顾(Servlet/JSP/Filter/会话)
理解Servlet生命周期、请求响应、会话、过滤器/拦截器与前端控制器思路,为理解Spring MVC提供理论背景(只做理论学习)。
建议预留 90 分钟
学习目标
- 理解请求-响应与Servlet生命周期
- 理解会话、过滤器与前控器思路
关键概念
- Servlet生命周期
- 请求/响应
- Session与Cookie
- Filter/前端控制器
为什么学习
- 目标明确要求JavaWeb以入门理论为限(只做理论学习不做项目),学习者已有Java/部分Spring,故只需建立Servlet线程模型与过滤器链路认知即可转入Spring。
如何检验理解
- 能口述一次Http请求从Servlet到响应的生命周期
- 能说明Filter与Listener的典型用途
基础概念
局域网/互联网、NAT 与端口转发
理解NAT、路由器、网关、内网互通与端口转发,支撑把服务暴露到局域网或互联网。
建议预留 60 分钟
学习目标
- 理解NAT/路由/网关
- 理解端口转发与公网暴露思路
关键概念
- NAT
- 路由器与网关
- 端口转发
- 内网穿透
为什么学习
- 部署到局域网/互联网是核心目标,需理解NAT与端口转发原理才能在不出问题时准确配置暴露方式,属于必须掌握的计算机常识。
如何检验理解
- 能讲解NAT下内网主机对外请求的地址转换过程
- 能说明端口转发与内网穿透的区别
核心技能
JUnit 5 单元测试框架
掌握测试生命周期、断言、参数化测试与套件,是测试开发角色的第一根测试支柱。
建议预留 75 分钟
学习目标
- 掌握常用生命周期注解与断言
- 能跑参数化测试与套件
关键概念
- @Test/@BeforeEach
- 断言
- 参数化
- 生命周期
为什么学习
- 测试开发核心领地,需能熟练编写生命周期完整、断言清晰的单测并以Maven跑通。
如何检验理解
- 能编写含前置/清理与参数化用例的测试并全部通过
核心技能
Spring 核心:IoC 与 DI
理解控制反转与依赖注入、Bean生命周期与装配方式,是Spring生态的根。
建议预留 90 分钟
学习目标
- 理解IoC/DI与Bean生命周期
- 掌握注解装配与作用域
关键概念
- 控制反转
- 依赖注入
- Bean生命周期
- Bean作用域
为什么学习
- 框架的地基与依赖注入为面向接口/测试做准备;需理解容器与Bean装配原理才能在编写服务时做出正确设计,也是后续写测试时的容器认知基础。
如何检验理解
- 能解释@Autowired与构造器注入取舍并说明Bean作用域
- 能描述Bean从实例化到销毁的主要生命周期回调
核心技能
Spring 核心:AOP
理解切面、切入点、通知概念,掌握日志与事务等横切关注点,也支撑切面测试。
建议预留 60 分钟
学习目标
- 掌握切面/切入点评通知概念
- 理解代理机制对自调用影响
关键概念
- Aspect/Pointcut/Advice
- 代理
- 事务切面
为什么学习
- 事务/安全/日志高度依赖AOP,理解其机制才能在测试中预判代理行为并排查横切问题。
如何检验理解
- 能说明切入点表达式与通知类型,并指出代理对自调用与target的影响
核心技能
Spring Boot 自动配置与启动器
理解starter与自动配置原理、内嵌容器与启动流程,能快速搭建并独立运行应用。
建议预留 60 分钟
学习目标
- 理解自动配置与starter
- 掌握启动与内嵌容器运行
关键概念
- @SpringBootApplication
- 条件装配
- starter
- 内嵌Tomcat
为什么学习
- 目标要求熟练搭建并运行完整应用,是构建项目与后续程序运行的枢纽,被配置、MVC、数据、部署各节点共同依赖。
如何检验理解
- 能说明一个starter如何经由条件配置被装配进上下文
- 能独立创建并启动一个可访问的Boot工程
核心技能
Mockito 模拟框架
掌握mock/stub/spy、行为验证与参数匹配,做单测隔离。
建议预留 75 分钟
学习目标
- 掌握mock/stub/spy
- 掌握行为验证与参数匹配器
关键概念
- Mockito mock
- stub
- spy
- verify
为什么学习
- 测试开发隔离依赖的核心工具,需独立mock外部与DAO依赖做纯业务验证。
如何检验理解
- 能为某个依赖编写stub并验证交互与参数匹配
核心技能
AssertJ 流式断言
用可读性强的流式断言编写符合业务预期的测试。
建议预留 45 分钟
学习目标
- 掌握核心断言API
- 能用链式断言表达集合期望
关键概念
- assertThat
- 集合/字符串断言
- 链式可读性
为什么学习
- 提升断言可读性与检出具集合/数组细节,测试开发写断言必备的小而高频技能。
如何检验理解
- 能改写一组传统断言为AssertJ链式断言并验证集合内容
核心技能
测试金字塔与测试策略
理解单元/集成/端到端分层、覆盖率目标与责任划分。
建议预留 45 分钟
学习目标
- 理解测试分层与目标
- 理解覆盖率与责任划分
关键概念
- 测试金字塔
- 单元/集成/E2E
- 覆盖率
- 隔离策略
为什么学习
- 决定在哪些层写哪类测试并用何种隔离策略,是测试开发统筹全局的思想底座。
如何检验理解
- 能为一个功能场景设计出分层测试计划并说明每层目标与成本
核心技能
Spring Boot 配置与多环境 Profiles
掌握application.yml/properties与多环境Profiles、参数化配置。
建议预留 30 分钟
学习目标
- 掌握配置文件语法
- 掌握Profiles切换
关键概念
- application.yml
- Profile
- 配置绑定
为什么学习
- 区分开发/测试/生产环境并与部署衔接,配置知识直接支撑多环境运行,属低复杂度但日常必会。
如何检验理解
- 能按环境切换配置并读取参数化值
核心技能
Spring MVC 控制器与注解
掌握@Controller/@RestController、@RequestMapping、参数绑定与JSON序列化。
建议预留 90 分钟
学习目标
- 掌握控制器注解与参数绑定
- 理解JSON序列化
关键概念
- @RestController
- 请求映射
- 参数绑定
- Jackson序列化
为什么学习
- Web接口核心,需能正确编写控制器并做参数绑定;同时是MockMvc测试的对象。
如何检验理解
- 能编写一个含路径参数/查询参数与JSON体的REST控制器并运行
核心技能
Spring 数据访问与事务管理
掌握JdbcTemplate/@Transactional的传播与隔离级别。
建议预留 60 分钟
学习目标
- 掌握数据访问基础
- 掌握@Transactional与传播/隔离
关键概念
- JdbcTemplate
- 事务注解
- 传播行为
- 隔离级别
为什么学习
- 数据访问与事务是后端业务正确性的核心,也决定集成测试对数据回滚的编排。
如何检验理解
- 能实现带事务的方法并解释传播行为选择
核心技能
Spring 中 Service 层单元测试
用Mockito对Service做隔离单测,mockDAO与外部依赖验证业务逻辑。
建议预留 75 分钟
学习目标
- 为Service设计隔离单测
- 掌握dep/交互验证的技巧
关键概念
- @ExtendWith
- @Mock/@InjectMocks
- 行为验证
- 异常路径覆盖
为什么学习
- 把Mockito+AssertJ真正应用到被测的Spring Service方法上,是测试开发写高质量单测的核心动作,需能灵活设计mocking策略。
如何检验理解
- 能对一个含异常路径和多依赖的Service方法写全覆盖分支的单测
- 能针对不同被测设计合适的stub/verify策略
核心技能
打包运行与 Linux 部署基础
掌握通用配置、jar打包、进程管理与日志查看,能落地到服务器独立运行。
建议预留 90 分钟
学习目标
- 掌握jar打包与运行
- 掌握Linux进程/端口/日志排查
关键概念
- mvn package
- java -jar
- systemd/nohup
- 日志定位
为什么学习
- 目标核心是部署到服务器运行;需掌握打jar、用Java运行、查看进程端口与日志的落地能力。
如何检验理解
- 能在Linux机器上放置jar并后台启动、用命令确认进程与端口监听
- 能通过日志定位启动失败原因
补充知识
Redis 缓存入门
了解Redis常用数据结构用于缓存/会话等场景提升并发。
建议预留 60 分钟
学习目标
- 认识Redis常用结构
- 了解缓存/会话场景
关键概念
- Redis命令
- 缓存策略
- 分布式会话
为什么学习
- 目标将Redis列为建议入门,不做被测主链核心,故仅需认识数据结构与缓存套路,待项目需要时再深化。
如何检验理解
- 能说出String/Hash等结构的缓存用例并配置连接
核心技能
RESTful API 设计与实现
规范URL、HTTP方法语义、版本控制与统一响应结构,设计清晰接口。
建议预留 60 分钟
学习目标
- 掌握RESTful设计规范
- 能设计统一响应与版本化
关键概念
- 资源建模
- HTTP语义
- 统一响应
- 版本控制
为什么学习
- 从写单个接口提升到设计一整套清晰API,契合做出较完整后端的核心目标,需能在给定需求下自创新一致接口并同步为测试规范。
如何检验理解
- 能为一个业务模块设计RESTful资源与统一响应并编制接口文档
核心技能
统一异常处理与参数校验
@ControllerAdvice、Bean Validation与错误响应格式化的落地。
建议预留 45 分钟
学习目标
- 掌握@ControllerAdvice
- 掌握校验注解与错误响应
关键概念
- @RestControllerAdvice
- @Valid
- 统一错误结构
为什么学习
- 健壮后端接口的必备工程做法,收敛异常链路并校验入参,直接提升接口质量与可测试性。
如何检验理解
- 能实现全局异常处理器并让非法入参返回统一结构
核心技能
MyBatis 持久层框架
掌握Mapper接口、XML/注解映射与动态SQL,做数据访问主选。
建议预留 90 分钟
学习目标
- 掌握Mapper与XML映射
- 掌握动态SQL与分页
关键概念
- @Mapper
- XML映射
- 动态SQL
- 分页插件
为什么学习
- 目标持久层熟练,项目中主选MyBatis;需能编写映射、动态SQL并在服务中被串入事务调用。
如何检验理解
- 能实现一个含动态查询条件与分页的Mapper并被服务调用
补充知识
Spring Data JPA(补充)
了解实体映射、Repository与JPQL以便横向对比或二选一块择。
建议预留 60 分钟
学习目标
- 认识Repository与映射
- 理解与MyBatis选型差异
关键概念
- 实体映射
- Repository
- JPQL
- JPA vs MyBatis
为什么学习
- 目标二选一即可;因主流测试开发项目多偏MyBatis,JPA仅需认识并在需要改用Retry时能上手,不作深钻。
如何检验理解
- 能说明JPA实体映射与Repository查询方式与MyBatis差异
核心技能
MockMvc Web 层测试
@WebMvcTest + MockMvc 测试Controller请求与响应,@MockBean隔离底层。
建议预留 75 分钟
学习目标
- 掌握@WebMvcTest与MockMvc
- 会验证请求响应与序列化
关键概念
- @WebMvcTest
- MockMvc
- @MockBean
- 断言JSON
为什么学习
- 测试开发验证REST接口的看家本领,需能对控制器做HTTP级不发真实网络的隔离测试并验证状态与JSON。
如何检验理解
- 能为一个Controller编写MockMvc用例验证状态码与响应体并隔离Service依赖
核心技能
TDD 实践
红-绿-重构循环,从需求先写测试再实现业务。
建议预留 90 分钟
学习目标
- 掌握红-绿-重构循环
- 能由需求推导测试
关键概念
- RGR循环
- 先测后写
- 重构与反馈
为什么学习
- 测试开发的核心工作法,需能在增改需求时习惯先写失败用例再实现并保持测试作为安全网,属关键里程碑。
如何检验理解
- 能对一个待实现方法先写失败用例,再实现使其变绿并完成一次重构
核心技能
局域网与公网暴露访问
结合端口转发/内网映射把部署好的服务开放给局域网客户端或公网访问。
建议预留 75 分钟
学习目标
- 配置局域网访问
- 掌握公网暴露/内网穿透手段
关键概念
- 监听地址
- 端口转发
- 内网穿透
- 防火墙放行
为什么学习
- 直接对应把服务部署到局域网/互联网的核心目标,需综合NAT、端口与应用监听做真实可达验证。
如何检验理解
- 能配置端口转发让局域网另一台机访问到应用并通过curl/浏览器验证
补充知识
Docker 容器化部署(入门)
编写Dockerfile构建镜像并运行,统一环境快速部署。
建议预留 90 分钟
学习目标
- 编写Dockerfile
- 构建与运行容器
关键概念
- 镜像与容器
- Dockerfile
- 端口映射
为什么学习
- 目标将Docker列为建议入门;主要服务容器化思路也对接Testcontainers,故认识镜像构建与起Run即可,不必追求编排深度。
如何检验理解
- 能为应用写一个Dockerfile并构建启动容器访问
核心技能
日志管理与进程运维
配置日志级别与输出、管理后台进程与查看运行明细以支撑持续部署。
建议预留 45 分钟
学习目标
- 配置与管理日志
- 掌握进程常驻与查看
关键概念
- logback配置
- 进程守护
- 日志级别与滚动
为什么学习
- 部署上线后需能改日志、管进程并据此排障,是部署闭环里日常必要的技能点。
如何检验理解
- 能按需调整日志级别并持久化输出文件,用进程工具保持服务运行并排查
补充知识
Spring Security 认证授权(可选)
了解过滤器链、登录认证与角色权限控制。
建议预留 90 分钟
学习目标
- 认识过滤器链与认证流程
- 能做基本权限配置
关键概念
- SecurityFilterChain
- 认证与授权
- 密码编码器
为什么学习
- 目标未把认证列为必做项且为框架范畴,作补充了解以在需要受保护接口时能配出基本登录与角色,不作深研。
如何检验理解
- 能描述Security过滤器链并配置一个简单登录/角色校验
核心技能
@SpringBootTest 完整集成测试
启动完整Spring上下文做接口/数据端到端集成验证。
建议预留 90 分钟
学习目标
- 启动完整上下文做集成验证
- 管理测试事务与数据回滚
关键概念
- @SpringBootTest
- 真实上下文
- 事务回滚
- 端到端数据流
为什么学习
- 验证整条Controller→Service→持久层真实链路并管理事务/测试数据回滚,是测试开发对应用做全链路验证的收官技能点。
如何检验理解
- 能写一个@SpringBootTest用例完成从请求到数据库的验证并正确回滚测试数据
- 能解释它启动真上下文与切片测试的差别
前置关系与知识联系
- 局域网/互联网、NAT 与端口转发 → 局域网与公网暴露访问
- 构建工具:Maven → Spring 核心:IoC 与 DI
- Spring 数据访问与事务管理 → Spring Data JPA(补充)
- 打包运行与 Linux 部署基础 → 局域网与公网暴露访问
- Spring 核心:IoC 与 DI → Spring 核心:AOP
- Spring 数据访问与事务管理 → MyBatis 持久层框架
- IP、DNS 与端口认识 → 局域网/互联网、NAT 与端口转发
- 测试金字塔与测试策略 → TDD 实践
- 打包运行与 Linux 部署基础 → Docker 容器化部署(入门)
- HTTP/HTTPS 协议与 REST 基础 → JavaWeb 理论回顾(Servlet/JSP/Filter/会话)
- 构建工具:Maven → JUnit 5 单元测试框架
- Java核心编程基础(OOP/集合/异常) → 构建工具:Maven
- Mockito 模拟框架 → Spring 中 Service 层单元测试
- Spring 数据访问与事务管理 → @SpringBootTest 完整集成测试
- Spring Boot 自动配置与启动器 → Redis 缓存入门
- Java核心编程基础(OOP/集合/异常) → JUnit 5 单元测试框架
- Spring Boot 自动配置与启动器 → 打包运行与 Linux 部署基础
- MockMvc Web 层测试 → @SpringBootTest 完整集成测试
- Spring MVC 控制器与注解 → MockMvc Web 层测试
- JUnit 5 单元测试框架 → Mockito 模拟框架
- Java核心编程基础(OOP/集合/异常) → JVM 基础与并发/IO 回顾
- Spring MVC 控制器与注解 → RESTful API 设计与实现
- 打包运行与 Linux 部署基础 → 日志管理与进程运维
- JavaWeb 理论回顾(Servlet/JSP/Filter/会话) → Spring 核心:IoC 与 DI
- Spring 核心:AOP → Spring 数据访问与事务管理
- Spring 核心:IoC 与 DI → Spring Boot 自动配置与启动器
- JUnit 5 单元测试框架 → AssertJ 流式断言
- Spring MVC 控制器与注解 → Spring Security 认证授权(可选)
- MyBatis 持久层框架 → @SpringBootTest 完整集成测试
- Spring 中 Service 层单元测试 → MockMvc Web 层测试
- Spring MVC 控制器与注解 → 统一异常处理与参数校验
- Java核心编程基础(OOP/集合/异常) → JavaWeb 理论回顾(Servlet/JSP/Filter/会话)
- Spring Boot 自动配置与启动器 → Spring Boot 配置与多环境 Profiles
- JUnit 5 单元测试框架 → 测试金字塔与测试策略
- Spring Boot 自动配置与启动器 → Spring MVC 控制器与注解
- Spring 核心:AOP → Spring Security 认证授权(可选)
- Java核心编程基础(OOP/集合/异常) → Spring 核心:IoC 与 DI
- HTTP/HTTPS 协议与 REST 基础 → Spring MVC 控制器与注解
- Spring 中 Service 层单元测试 → TDD 实践
- Spring Boot 自动配置与启动器 → Spring 数据访问与事务管理
- AssertJ 流式断言 → Spring 中 Service 层单元测试
- JavaWeb 理论回顾(Servlet/JSP/Filter/会话) → Spring MVC 控制器与注解
结合互动地图查看具体关系类型,再选择下一步。