工具选型指南
工具不是越多越好,而是要能解决当前阶段的问题。新手最容易犯的错误是:还没有理解测试流程,就急着装一堆工具;结果每个都打开过,但不知道什么时候该用哪个。
本指南按测试工作场景说明常见工具怎么选、什么时候用、怎么搭配。
选型原则
| 原则 |
说明 |
| 先满足流程,再追求高级功能 |
先能完成需求分析、用例设计、执行、缺陷提交、回归,再考虑自动化和平台化 |
| 先选团队在用的 |
公司已有工具时优先跟随团队,减少沟通成本 |
| 先学通用能力 |
HTTP、SQL、Linux、Git 这些能力比单个工具更重要 |
| 能解释结果 |
不只是会点按钮,还要能说清楚请求、响应、数据、日志、错误原因 |
| 不要重复建设 |
Postman、Apifox、Swagger、自动化脚本各有定位,不要把同一件事维护四份 |
接口调试工具
| 工具 |
适合场景 |
新手建议 |
| Postman |
接口调试、环境变量、断言、简单集合执行 |
适合入门,先掌握请求参数、Header、Body、断言 |
| Apifox |
接口文档、Mock、调试、团队协作 |
如果团队用它,可以直接学;注意不要只停留在“点发送” |
| Swagger / OpenAPI |
查看接口定义、参数说明、响应结构 |
主要用于读接口文档,不适合作为完整测试管理工具 |
| curl |
Linux 环境快速验证接口 |
必学,排查服务器问题时非常实用 |
推荐组合
新手阶段:
Swagger 看接口定义 -> Postman 调试 -> 数据库校验 -> 记录用例和缺陷
进阶阶段:
Postman/Apifox 验证思路 -> Python + Pytest 做自动化回归 -> CI 定时运行
抓包与联调工具
| 工具 |
适合场景 |
注意点 |
| Fiddler Classic |
Windows 抓包、HTTPS 解密、移动端代理、弱网模拟 |
适合新手学习 HTTP 请求响应 |
| Charles |
macOS/Windows 抓包、移动端联调 |
移动端团队常用 |
| Burp Suite |
Web 安全测试、参数篡改、重放、越权验证 |
偏安全测试,别在未授权系统乱测 |
| 浏览器 DevTools |
前端接口、控制台、网络、Cookie、LocalStorage |
Web 测试必会 |
怎么选
| 你要做什么 |
推荐工具 |
| 看网页点按钮后调用了哪个接口 |
浏览器 DevTools |
| 抓手机 App 请求 |
Fiddler 或 Charles |
| 修改请求参数验证越权 |
Burp Suite |
| 模拟弱网、断网、超时 |
Fiddler / Charles / 浏览器 DevTools |
数据库与数据工具
| 工具 |
适合场景 |
新手重点 |
| Navicat / DBeaver |
图形化查看数据库 |
会查数据、会看表结构、会导出结果 |
| MySQL 命令行 |
服务器环境快速查询 |
会登录、切库、执行 SQL、导出简单结果 |
| RedisInsight |
查看 Redis 缓存数据 |
理解 key、value、过期时间 |
| MongoDB Compass |
查看 MongoDB 文档数据 |
理解集合、文档、查询条件 |
新手必须掌握的能力
- 根据订单号、手机号、用户 ID 查询业务数据。
- 判断前端显示和数据库数据是否一致。
- 知道哪些数据不能随便改,比如生产环境用户、金额、权限。
- 会写简单的
select、where、join、order by、limit。
自动化测试工具
| 方向 |
工具 |
适合场景 |
| 接口自动化 |
Python + Requests + Pytest |
接口回归、数据驱动、CI 集成 |
| Web 自动化 |
Playwright |
现代 Web 项目,自动等待能力强 |
| Web 自动化 |
Selenium |
传统项目、资料多、团队历史代码多 |
| App 自动化 |
Appium |
Android/iOS App 自动化 |
| 单元测试 |
JUnit / Pytest / Jest |
开发侧代码测试,测试工程师需要了解 |
Playwright 和 Selenium 怎么选
| 对比点 |
Playwright |
Selenium |
| 上手体验 |
自动等待好,新项目更顺手 |
资料多,历史项目多 |
| 浏览器支持 |
Chromium、Firefox、WebKit |
主流浏览器支持广 |
| 生态历史 |
较新 |
很成熟 |
| 推荐场景 |
新项目、学习现代自动化 |
公司已有 Selenium 框架 |
如果你是从零学习,建议先学 Playwright 的思想,再补 Selenium;如果公司已有 Selenium,就先跟公司框架。
性能测试工具
| 工具 |
适合场景 |
新手重点 |
| JMeter |
HTTP 接口压测、参数化、关联、报告 |
最适合测试工程师入门 |
| Locust |
Python 编写压测脚本 |
适合会 Python 的同学 |
| k6 |
轻量脚本化压测、CI 集成 |
偏工程化团队 |
| Grafana + Prometheus |
监控指标展示 |
用于观察服务器指标,不代替压测工具 |
性能测试不是“线程数越大越厉害”,核心是明确指标:
- 并发用户数是多少。
- 目标响应时间是多少。
- TPS/QPS 目标是多少。
- 错误率允许多少。
- 瓶颈在应用、数据库、缓存、网络还是第三方接口。
CI/CD 工具
| 工具 |
适合场景 |
新手建议 |
| Jenkins |
企业内部流水线、插件生态丰富 |
学 Pipeline 基本语法和报告归档 |
| GitHub Actions |
GitHub 项目自动构建、部署、测试 |
适合个人项目和开源项目 |
| GitLab CI |
GitLab 仓库内置流水线 |
公司用 GitLab 时优先学 |
测试工程师不一定要负责全部运维,但至少要会看流水线失败原因:
- 依赖安装失败。
- 测试用例失败。
- 环境变量缺失。
- 报告没有生成。
- 部署路径或权限错误。
推荐学习顺序
浏览器 DevTools
-> Postman
-> SQL
-> Linux
-> Git
-> Fiddler / Charles
-> Python + Pytest
-> Playwright / Selenium
-> JMeter
-> Jenkins / GitHub Actions
选型自查清单