02 — Agent / Skills / MCP 测试实战指南
02 — Agent / Skills / MCP 测试实战指南
从概念到实战:让 AI 成为测试团队的可复用资产
基于 官方文档提炼
面向财政系统测试场景
作者:浅木·先生
版本:v1.0(2026-05-29)
目录
- 一、三层架构:MCP / Agent / Skills 分别干什么
- 二、Skills 的核心机制
- 三、Skill 编写规范与最佳实践
- 四、测试场景 Skill 实战
- 五、MCP 集成指南
- 六、Agent Memory 在测试中落地
- 七、Agent + Skills + MCP 全栈方案
- 八、常见踩坑与反思
一、三层架构:MCP / Agent / Skills 分别干什么
很多人一开始就把这三个概念搞混了。先画清楚:
| 层级 | 类比 | 核心能力 | 代表 |
|---|---|---|---|
| Agent | 大脑+决策中心 | 理解上下文、协调工具、自主决策 | Hermes、Claude Code、OpenClaw |
| Skills | 肌肉记忆 | 结构化的操作流程、可复用的工作流 | test-case-generator、playwright-cli |
| MCP | 感官+肢体 | 连接外部工具(浏览器/文件/数据库) | @playwright/mcp、CDP Bridge |
关系:
用户指令
↓
Agent(大脑:理解需求、分配任务)
├── Skills(肌肉记忆:按 SOP 执行)
│ └── 调用 MCP / 工具
├── MCP(感官:读写文件、操作浏览器)
└── 内置工具(终端/网络等)
对测试的意义:
- Agent 是"知道怎么测"(决策层)
- Skills 是"知道测什么步骤"(流程层)
- MCP 是"知道怎么操作"(执行层)
选型原则:
- 固定流程 → 写成 Skill → AI 按步骤执行
- 需要外部工具 → 配 MCP → AI 直接调用
- 复杂决策 + 多步骤 → Agent 调度 → 自动编排
二、Skills 的核心机制
Skill 文件结构
每个 Skill 是一个目录,结构如下:
skills/my-test-skill/
├── SKILL.md ← 主文件(必需)
├── references/ ← 分层引用
│ ├── api.yaml
│ └── templates/
├── scripts/ ← 可执行脚本
│ └── generate.py
└── assets/ ← 资源文件
SKILL.md 的 YAML Frontmatter
---
name: test-plan-generator
description: 根据需求文档自动生成测试策略文档
author: Kong Fanteng
trigger: 根据这份需求生成测试策略
model: deepseek-chat
tags: [测试策略, 测试计划, 测试管理]
---
内容正文...
references 分层加载(重要)
这是 Skill 的高级用法:
SKILL.md 中写:加载 references/api.yaml
↓
Agent 读取 references/api.yaml 作为接口规范参考
↓
Agent 根据接口规范生成测试用例
好处:references 可以独立更新,不用改 SKILL.md 本身。
渐进式披露机制
AI 不会把完整的 Skill 内容一次性塞进上下文,而是:
- 只加载 SKILL.md 顶部概要
- 用户提问时按需加载 references 和 scripts
- 上下文轻盈,Token 消耗低
三、Skill 编写规范与最佳实践
高质量 Skill 三要素
| 维度 | 原则 | 反面例子 |
|---|---|---|
| 可测性 | 输入是什么、输出是什么,边界明确 | “帮我优化一下这个” |
| 稳定性 | 不受模型/平台影响,输出格式固定 | “你觉得怎么好就怎么输出” |
| 复用性 | 换项目换场景还能用 | 硬编码了项目名/路径 |
编写步骤
Step 1: 确定输入 → 需求文档 / 接口文档 / URL
Step 2: 确定输出 → Excel / Markdown / JSON
Step 3: 写 SKILL.md
Step 4: references 放数据/模板
Step 5: 测试 → 让 Agent 跑一遍
Step 6: 迭代 → 根据结果微调
踩坑清单
| 常见错误 | 正确做法 |
|---|---|
| SKILL.md 写太长(>500行) | 用 references 拆分 |
| 触发条件太模糊 | 用精确的关键词匹配 |
| 忽略了输入校验 | 在 SKILL.md 开头明确输入格式 |
| 输出格式不固定 | 用模板约束输出 |
| 硬编码了项目路径 | 用相对路径或参数化 |
四、测试场景 Skill 实战
测试计划生成 Skill
用途:输入 PRD + 架构文档 → 自动输出测试策略文档
输出包含(6 大模块):
- 测试范围(功能点清单)
- 测试方法(功能/接口/UI/性能)
- 测试环境(环境拓扑)
- 资源分配(人员+时间)
- 风险分析(代码改动量 + 历史Bug密度 + 外部依赖)
- 进度计划
效率对比:
手动:1-2 天
Skill 初稿:30 分钟
微调:30 分钟 → 提交评审
风险分析维度(Skill 自动计算):
- 代码改动量大小
- 历史 Bug 密度(高频出 Bug 的模块加重覆盖)
- 外部依赖稳定性(第三方接口是否变过)
- 业务影响面(影响多少个下游系统)
- 关联模块数量
Excel / Xmind 用例生成 Skill
用法:
# 在 Hermes/Cursor 中导入 Skill 后
# 输入需求文档,调用对应 Skill
"@需求文档 调用:excel-test-case-generator skill"
"@需求文档 调用:xmind-test-case-generator skill"
AI 自动执行:
- 读取 Skill → 理解输出格式要求
- 分析需求文档 → 提取功能点
- 生成用例 JSON
- 执行 Python 脚本 → 输出 .xlsx / .xmind 文件
适用场景:需求文档转规范格式的测试用例,避免手工排版。
JMeter 脚本生成 Skill
用法:
"@接口文档 调用:jmx-test-generator skill"
流程:
- 导入 Skill 包
- 在项目目录放接口文档(建议 .md 格式)
- AI 自动解析接口(URL/方法/参数/Header/响应格式)
- 生成 .jmx 文件
- 在 JMeter 中 Open 即可运行
关键:接口文档越完整(包含请求示例、响应示例),生成的脚本越精准。
接口测试用例生成 Skill
适用平台:Hermes / Cursor / Claude / ChatGPT
输入:Swagger 2.0 / OpenAPI 3.0 / Postman Collection v2.1
多维度生成:
- 正常用例(正向流程)
- 边界值用例(参数边界)
- 错误用例(异常参数)
- 认证场景(无 Token / Token 过期 / 权限不足)
- 交叉验证(组合参数)
- 分页场景
多格式输出:
- Markdown 表格 → 直接评审
- CSV → 导入测试管理平台
- Postman Collection JSON → 一键导入
测试用例审核 Skill
用途:用例评审从"凭经验"变成"可评分"
评分维度:
- 覆盖度(是否覆盖了正向/负向/边界)
- 清晰度(步骤是否可执行)
- 可执行性(是否有前置条件、预期结果是否明确)
- 关联性(是否关联了需求和缺陷)
输出:评分报告 + 优化建议
需求评审 Skill
用途:检测需求文档的质量问题
检测维度:
- 功能完整性(有没有遗漏功能点)
- 数据准确性(字段定义是否明确)
- 业务规则(规则是否有歧义)
- 用户体验(交互流程是否合理)
五、MCP 集成指南
Playwright MCP
安装:
npm install -g @playwright/mcp
npx playwright install
Hermes 配置:
# config.yaml 的 mcpServers 部分
mcpServers:
playwright:
command: npx
args: ["@playwright/mcp"]
核心工具:
browser_snapshot→ 无障碍树(非DOM,定位更稳定)browser_navigate→ 导航到 URLbrowser_click→ 点击元素browser_type→ 输入文本
适用场景:
- 探索式测试(3分钟/页)
- AI 生成脚本(8分钟/模块)
- 报错自动修复(59.6秒 fix vs 人工 30分钟)
CDP Bridge MCP
用途:让 AI 接管已登录的浏览器会话,复用登录态
uvx cdp-bridge@latest
核心功能:
- 复用浏览器登录态(Cookie、Session)
- 多标签页管理
- 页面操作在真实浏览器中执行
适用场景:财政系统需要登录态的业务流程自动化测试。
对比:
| 方案 | 登录态 | Token 消耗 | 定位稳定性 |
|---|---|---|---|
| Playwright MCP | 沙箱新会话 | 高 | 无障碍树 |
| CDP Bridge | 复用现有会话 | 中 | 真实页面 |
| Playwright CLI | 无 | 低 | 无障碍树 |
Allure MCP
用途:让 AI 读测试报告并自动修复失败用例
# MCP-Allure 服务
# 将 Allure HTML 报告转为 AI 可读的结构化 JSON
闭环流程:
Skill 生成规范用例 → 执行(pytest) → Allure 出报告
→ MCP-Allure 转 JSON → AI 读报告分析失败原因
→ AI 修改代码 → 重测 → 闭环
六、Agent Memory 在测试中落地
三层记忆模型
| 记忆类型 | 内容 | 在测试中的应用 |
|---|---|---|
| 语义记忆 | 知识(接口规范、业务规则) | RAG 知识库,存放财政业务规则 |
| 情节记忆 | 经历(上次测试结果) | 记录历史 Bug、失败原因 |
| 程序记忆 | 技能(操作流程) | Skills,固化测试流程 |
落地建议
测试团队记忆配置:
# 配置 Mem0 作为增强记忆
memory:
provider: mem0
# 语义知识库
# %USERPROFILE%\.hermes\memories\knowledge\
# ├── business-rules.md ← 财政业务规则
# ├── api-specs.md ← 接口规范
# └── env-config.md ← 环境配置
# 情节记忆(自动记录)
# Mem0 自动提取跨会话的有价值信息
手动管理记忆:
# 查看记忆状态
hermes memory status
# 配置外置记忆
hermes memory setup
# 清理旧记忆
# 手动编辑 %USERPROFILE%\.hermes\memories\MEMORY.md
七、Agent + Skills + MCP 全栈方案
接口自动化智能体平台架构
用户指令(自然语言)
↓
Agent(Hermes,协调中枢)
├── Skills 层
│ ├── api-test-plan-generator → 测试计划
│ ├── interface-testcase-gen → 接口用例生成
│ ├── playwright-ui-script-gen → UI 脚本生成
│ └── jmx-performance-gen → 性能脚本
├── MCP 层
│ ├── Playwright MCP → 浏览器操作
│ ├── CDP Bridge → 登录态复用
│ ├── Allure MCP → 报告分析
│ └── Database MCP → 数据校验
└── 内置工具
├── terminal → 命令执行
├── file → 文件操作
└── web → 网页抓取
四步实施方案
| 阶段 | 内容 | 时间 |
|---|---|---|
| L1 单点 Skill | 把常用工作流写成 Skill(用例生成/脚本生成) | 1周 |
| L2 集成 MCP | 接入 Playwright MCP / CDP Bridge | 2周 |
| L3 Agent 调度 | Agent 自动编排 Skills + MCP | 2周 |
| L4 全栈闭环 | 需求→用例→脚本→执行→报告→自愈 | 持续 |
八、常见踩坑与反思
“强迫全员写 Skill” 可能是个坑
核心观点:不是所有人都适合写 Skill。Skill 的本质是把工作流程化,而不是让每个人"学会编程"。
正确做法:
- 让有流程思维的人写 Skill
- 让大多数人用 Skill(降低门槛)
- 测试 Lead 负责审核 Skill 质量
Skills 不是越多越好
- 一个团队维护 5~10 个核心 Skill 就够了
- 多余的 Skill 容易出现"没人知道有这个 Skill"
- 定期清理过期 Skill(特别是项目迁移后)
MCP 不适合所有场景
| 场景 | 推荐方式 |
|---|---|
| 简单文件操作 | 内置 terminal |
| 复杂浏览器交互 | Playwright MCP |
| 已登录的页面 | CDP Bridge |
| 大量重复操作 | Playwright CLI(低 Token) |
建议配合 01-Hermes-Agent-从入门到精通.md 一起使用
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)