阶段学习检查清单¶
这份清单用来判断你是否真的学会了,而不是"看过教程"。每学完一个阶段,都建议用清单自查一次。勾不上的地方不要急着跳到下一章,先回到对应教程补练。
第 1 阶段:测试入门¶
建议学时:2-3 周
你应该能说清楚¶
- 软件测试的目的不是"找茬",而是降低上线风险。
- 黑盒测试、白盒测试、灰盒测试的区别。
- 功能测试、兼容性测试、性能测试、安全测试分别关注什么。
- 测试流程:需求分析、测试计划、用例设计、执行、缺陷、回归、报告。
- 缺陷的严重程度和优先级不是一回事。
- 测试金字塔和分层测试策略。
你应该能做出来¶
- 根据一个登录需求写出正常、异常、边界、兼容性测试点。
- 写出至少 20 条格式清晰的测试用例。
- 提交一条包含标题、步骤、实际结果、期望结果、截图说明的缺陷。
- 用自己的话解释什么是回归测试。
常见不过关表现¶
| 表现 | 说明 |
|---|---|
| 只会写"输入正确账号密码登录成功" | 测试点太少,没有异常和边界 |
| 缺陷标题写"登录有问题" | 标题不具体,别人无法快速判断影响 |
| 不知道期望结果怎么写 | 说明需求理解还不够 |
详细通关检查¶
第 2 阶段:工具实战¶
建议学时:3-4 周
SQL¶
- 会用
select查询指定字段。 - 会用
where按手机号、订单号、用户 ID 查数据。 - 会用
join查询多表关联数据。 - 会用
group by分组统计。 - 会用
order by排序。 - 会用聚合函数(count、sum、avg、max、min)。
- 会判断前端页面数据和数据库数据是否一致。
- 知道生产环境不能随便执行
update、delete。
Linux¶
- 会进入目录、查看文件、查看日志。
- 会用
tail -f跟踪实时日志。 - 会用
grep搜索关键字。 - 会查看端口和进程。
- 会查看磁盘使用情况。
- 能把报错日志复制出来并说明发生时间。
Git¶
- 会
clone、pull、status、add、commit、push。 - 知道工作区、暂存区、本地仓库、远程仓库的区别。
- 知道提交前先看
git status。 - 会创建和切换分支。
- 遇到冲突时能找到冲突文件,而不是直接覆盖。
Docker¶
- 会用
docker pull拉取镜像。 - 会用
docker run启动容器。 - 会用
docker ps查看容器。 - 会用
docker logs查看容器日志。 - 会用
docker stop、docker rm停止和删除容器。 - 理解镜像和容器的区别。
Postman / 抓包¶
- 会配置请求方法、URL、Header、Query、Body。
- 会区分 GET、POST、PUT、PATCH、DELETE 的常见用途。
- 会写基础断言,例如状态码、字段值、响应时间。
- 会从浏览器或 Fiddler 抓到接口,再放到 Postman 里复现。
- 会使用环境变量管理不同环境。
- 会使用 Pre-request Script 提取 Token。
网络知识¶
- 能解释 HTTP 请求方法(GET、POST、PUT、DELETE)。
- 能解释 HTTP 状态码(200、301、302、400、401、403、404、500)。
- 能解释 Cookie 和 Session 的区别。
- 能解释 Token 的作用。
详细通关检查¶
第 3 阶段:专项测试¶
建议学时:2-3 周
接口测试¶
- 能解释 HTTP 请求和响应的结构。
- 能解释状态码的含义。
- 能解释 Header、Cookie、Token 的作用。
- 能根据接口文档设计正向测试用例。
- 能根据接口文档设计异常测试用例。
- 能根据接口文档设计安全测试用例。
- 能根据接口文档设计数据一致性测试用例。
你应该能执行¶
- 用 Postman 跑完整接口流程。
- 提取登录 token 并用于后续接口。
- 用不同测试数据验证不同分支。
- 对响应字段做断言。
- 对接口异常返回做校验,而不是只测成功路径。
你应该能解释¶
- 为什么接口返回 200 也可能是业务失败。
- 为什么不能只看前端页面判断接口正确。
- Mock、联调、冒烟、回归分别是什么意思。
性能测试¶
- 能说明并发用户数、响应时间、TPS、错误率的含义。
- 会用 JMeter 创建线程组、HTTP 请求、断言、监听器。
- 会做参数化和关联。
- 能读懂聚合报告中的平均响应时间、P95、错误率。
- 知道性能瓶颈可能在应用、数据库、缓存、网络或第三方服务。
安全测试¶
- 知道 SQL 注入、XSS、CSRF、越权的基本概念。
- 能验证水平越权和垂直越权。
- 知道安全测试必须在授权范围内执行。
详细通关检查¶
第 4 阶段:自动化测试¶
建议学时:4-6 周
Python 基础¶
- 能使用变量、数据类型、运算符。
- 能使用条件语句(if/elif/else)。
- 能使用循环语句(for/while)。
- 能定义和调用函数。
- 能使用列表、字典、元组、集合。
- 能使用异常处理(try/except)。
接口自动化¶
- 会用 Pytest 写一个可执行用例。
- 会用 Requests 发送 HTTP 请求。
- 会把请求方法封装成公共函数。
- 会把环境地址、账号、token 放到配置里。
- 会用数据驱动减少重复用例。
- 会生成测试报告。
- 失败后能看懂断言信息。
Web 自动化¶
- 会选择稳定定位方式,例如
data-testid、id、name、可访问名称。 - 知道不要大量使用
sleep。 - 会把页面操作封装到 Page Object。
- 能区分适合自动化和不适合自动化的场景。
- 失败时能保存截图或 trace。
自动化自查¶
| 问题 | 合格标准 |
|---|---|
| 用例是否稳定 | 连续运行多次结果一致 |
| 失败是否好定位 | 报错能指出哪个步骤失败 |
| 数据是否可重复 | 测试数据不会互相污染 |
| 是否能接入 CI | 命令行可以一键运行 |
详细通关检查¶
第 5 阶段:项目与面试¶
建议学时:3-4 周
项目实战¶
完成项目实战后,你应该能交付这些材料:
- 需求分析记录。
- 测试点清单。
- 测试用例表。
- 接口测试集合或自动化代码。
- 缺陷报告。
- 测试报告。
- 项目复盘总结。
面试表达¶
- 能说清楚项目的业务背景。
- 能说清楚自己的测试范围和职责。
- 能说清楚发现了哪些重要缺陷。
- 能说清楚使用了哪些技术和工具。
- 能说清楚遇到了哪些困难和解决方案。
详细通关检查¶
最终达标标准¶
如果你能独立完成下面这件事,说明已经具备初级测试工程师的项目能力:
不要只追求"学到第几章"。真正重要的是:你能不能把一个需求从头测到尾。