实战
用 AI 测试 Agent 自动写单测、跑回归、抓 Bug(质量保障实战)
测试是软件里最该做、却最常被砍的一环——因为写测试又慢又枯燥,但线上 Bug 的代价最高。2026 年「AI 测试 Agent」成熟了:它能自动补单元测试、跑回归、定位失败、给修复建议,把人从重复劳动里解放出来。本教程用开源/通用方案,手把手搭一条「会自己测自己」的质量保障流水线。
🧪 本教程适合:开发者、技术负责人、独立开发者。会一点命令行即可,不需要测试专家背景。
先搞懂:Agent 测试 vs 手工测试
| 手工测试 | AI 测试 Agent |
|---|---|
| 人写用例,慢且易漏 | 读代码自动生成用例,覆盖边界 |
| 回归要人肉跑 | 提交即自动跑,失败即时告警 |
| Bug 靠肉眼定位 | 失败即给定位 + 修复建议 |
| 覆盖率靠自觉 | 覆盖率门禁卡住低质量合并 |
Agent 是「放大器」不是「免死金牌」:它生成的测试要人审,关键业务仍要人工把关。把 Agent 当「资深测试同事」,而不是「替你背锅的人」。
Step 1:选测试 Agent 思路
1 按团队现状挑方案
方案 A(零配置):GitHub Copilot / Cursor Agent
→ 在编辑器里让它「给这个函数写 pytest 单测」
方案 B(全自动 PR):Devin / Augment Code
→ 派任务,Agent 自己写测试+跑+提 PR 等你审
方案 C(通用 API Agent):用 OpenAI Agents SDK
/ Claude Code 自建测试流水线(可控性最高)
新手从方案 A 起步,最快见到效果。
💡 小团队先上方案 A 验证价值,再考虑 B/C 做自动化。别一上来就搭复杂 CI,容易卡在配置。
Step 2:让 Agent 给函数写单测
2 一句话,补上缺失的测试
对 Copilot / Cursor Agent 说:
「给 src/calc.py 的 add / divide 写 pytest 单测,
覆盖:正常值、除零异常、负数、边界 0。」
Agent 会生成类似:
def test_divide_zero():
with pytest.raises(ZeroDivisionError):
divide(1, 0)
你跑:pytest src/test_calc.py -v
务必看一眼生成的断言:Agent 偶尔会写「永远通过的假测试」。确认它在测真逻辑,而不是在凑覆盖率。
Step 3:跑回归 + 失败定位
3 改完代码,让 Agent 帮你查谁挂了
改了一处公共函数后:
「跑全量测试,哪些失败了?定位是哪个改动导致的,
并给修复建议。」
Agent 会:
· 执行 pytest 并汇总失败用例
· 对照改动定位根因
· 给出最小修复 diff 供你确认
💡 把「跑测试」变成每次提交前的默认动作,而不是月底集中补。越早跑,Bug 越便宜。
Step 4:接 CI 自动触发(GitHub Actions)
4 提交即测,不靠人记
# .github/workflows/test.yml
name: test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.11" }
- run: pip install pytest && pytest -q
CI 是 Agent 测试的「安全带」:本地跑过不代表别人环境能跑。CI 保证每次合并都经过同一套测试,避免「在我机器上是好的」。
Step 5:视觉 / 端到端测试(Playwright + Agent)
5 不只测逻辑,也测「点得动吗」
让 Agent 用 Playwright 写端到端用例:
「写一个 e2e 测试:打开首页 → 点『登录』→
输入错误密码 → 应出现错误提示。」
运行:pytest e2e/test_login.py
Agent 还能在测试失败时截图,帮你快速看现场。
💡 端到端测试贵(慢、脆),只覆盖核心用户路径(登录、下单、支付),别什么都 e2e。分层测试才健康。
Step 6:覆盖率门禁 + 报告
6 用门槛拦住低质量合并
# 生成覆盖率并卡 80%
pytest --cov=src --cov-fail-under=80
# 接 Allure / pytest-html 出可视化报告
pytest --html=report.html
把报告挂到 CI 产物,每次 PR 都能看到覆盖率变化。
🎉 恭喜!你已搭出「Agent 写测试 → 提交即 CI 跑 → 失败定位 → 覆盖率门禁」的闭环。想进一步做质量度量,看本中心《AI Agent 可观测性》《Agent 评测 Evals》两篇。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| Agent 写假测试 | 断言没测真逻辑,人工核对断言 |
| CI 跑不过本地能过 | 环境/依赖不一致,锁版本、用相同 Python |
| e2e 经常随机挂 | 覆盖太宽,只留核心路径 + 加等待 |
| 覆盖率上不去 | 先补核心模块单测,别追求 100% |