Files
Yb-QaAutomationHub/.claude/skills/qe_fleet/SKILL.md

9.0 KiB
Raw Permalink Blame History

name, description, metadata
name description metadata
qe-fleet Agentic QE Fleet — 混合流水线:Python 脚手架 + AI Agent 内容生成
short-description
多 Agent QE Fleet:从需求到测试用例的全流程自动化 + 质量门禁 + 知识沉淀

Agentic QE Fleet(混合流水线 v3.0

当用户输入以下任一意图时使用本 skill:

  • /qe-fleet run <需求文档>
  • /qe-fleet prepare <需求文档>
  • /qe-fleet analyze <需求文档>
  • /qe-fleet design <需求文档>
  • /qe-fleet review <需求文档>
  • /qe-fleet export <需求文档>
  • /qe-fleet monitor <需求文档> --results <测试结果>
  • /qe-fleet status <需求文档>
  • /case_generate <需求文档>(向后兼容别名)

架构概述

本流水线采用混合架构

  • Python 脚本(fleet_runner.py: 处理确定性工作——文档解析、知识激活、需求分析、冲突检测、风险矩阵、测试策略模板、测试数据模板、Playwright/Appium 脚本骨架、清单管理
  • Claude Code Agent(本 Skill: 处理生成式 AI 工作——测试点设计、测试用例编写、用例评审、覆盖率审计、质量裁决

/qe-fleet run — 全流程自动执行

收到此命令后,按以下 6 个阶段自动执行,不要停在说明阶段:

Phase 1: SCAFFOLD(脚手架生成)

python scripts/fleet_runner.py run --scaffold-only --requirement <需求文档路径>

产出:

  • 标准化需求文档(含附加文件检测 + 多源注册表)
  • 知识激活 + 缺口检测
  • 需求分析 + 冲突检测 + 风险矩阵
  • 测试策略模板 + 测试数据模板
  • Playwright/Appium 脚本骨架
  • 所有战区 manifest(含 pending_ai 标记)

Phase 2: GATE-CHECK(门禁检查)

读取 output/manifests/{BASE_NAME}_analyze.json

  • confirmation_gate.required=truedecision_status 不是 confirmednot_required
    • 🛑 阻断并告知用户:确认单路径、阻断原因
    • 不得继续执行后续阶段
  • 若门禁通过或无门禁要求,继续 Phase 3

Phase 3: AI-DESIGNAI 生成设计产物)

按依赖顺序调用 AI Agent 填充设计产物。重要:若目标文件已存在且内容非空(>500 字符),跳过该 Agent 并告知用户可手动重新生成。

3a: data-builder + testpoint-designer(可并行)

Agent: data-builder

  • 输入文件:output/analysis/{BASE_NAME}_分析.md{PROJECT_PROFILE}、来自 prepare manifest 的 sources_registry 中所有 role=api_spec 的附加文件
  • Agent promptagents/design/data_builder.md
  • 输出:output/analysis/{BASE_NAME}_测试数据.md(覆盖模板)
  • 验证:文件存在且 >300 字符
  • 调用方式:使用 Agent 工具,subagent_type=general-purpose,在 prompt 中指明输入文件和输出文件

Agent: testpoint-designer

  • 输入文件:output/analysis/{BASE_NAME}_分析.mdoutput/analysis/{BASE_NAME}_风险评估.mdoutput/analysis/{BASE_NAME}_测试策略.mdoutput/analysis/{BASE_NAME}_关联与冲突.md{PROJECT_PROFILE}knowledge_base/02_history/common_missed_scenes.mdknowledge_base/02_history/historical_defects.mdknowledge_base/01_standards/definition_of_done.md、prepare manifest 中 sources_registry 的所有附加文件
  • Agent promptagents/design/testpoint_designer.md
  • 输出:output/test_points/{BASE_NAME}_测试点.md
  • 验证:文件存在且 >500 字符,含有 TP- 标识符
  • 调用方式:使用 Agent 工具,subagent_type=general-purpose

3b: case-designer(依赖 3a 完成)

  • 输入文件:output/test_points/{BASE_NAME}_测试点.md3a 产出)、output/analysis/{BASE_NAME}_测试数据.mdknowledge_base/01_standards/test_case_template.mdknowledge_base/01_standards/review_checklist.mdknowledge_base/03_best_practices/
  • Agent promptagents/design/case_designer.md
  • 输出:output/test_cases/{BASE_NAME}_测试用例.md
  • 验证:文件存在且 >500 字符,含 Markdown 表格,表头与 test_case_template.md 一致
  • 调用方式:使用 Agent 工具

Phase 4: AI-REVIEWAI 评审)

4a: case-reviewer + coverage-auditor(可并行)

Agent: case-reviewer

  • 输入文件:output/test_cases/{BASE_NAME}_测试用例.mdknowledge_base/01_standards/review_checklist.mdknowledge_base/01_standards/test_case_template.mdknowledge_base/01_standards/definition_of_done.mdoutput/analysis/{BASE_NAME}_风险评估.md
  • Agent promptagents/review/case_reviewer.md
  • 输出:output/analysis/{BASE_NAME}_评审报告.md
  • 验证:文件存在且 >500 字符,含阻断项/建议项计数

Agent: coverage-auditor

  • 输入文件:output/analysis/{BASE_NAME}_分析.mdoutput/test_points/{BASE_NAME}_测试点.mdoutput/test_cases/{BASE_NAME}_测试用例.mdoutput/analysis/{BASE_NAME}_风险评估.md
  • Agent promptagents/review/coverage_auditor.md
  • 输出:output/analysis/{BASE_NAME}_覆盖率审计.md
  • 验证:文件存在且 >500 字符

4b: quality-gatekeeper(依赖 4a 完成)

  • 输入文件:output/analysis/{BASE_NAME}_评审报告.mdoutput/analysis/{BASE_NAME}_覆盖率审计.mdoutput/analysis/{BASE_NAME}_风险评估.mdfleet_config.yml
  • Agent promptagents/review/quality_gatekeeper.md
  • 输出:output/analysis/{BASE_NAME}_质量裁决.md
  • 验证:文件含 PASSPASS_WITH_FIXBLOCKED

Phase 5: VERDICT(裁决 + 导出)

读取 output/analysis/{BASE_NAME}_质量裁决.md 中的裁决结果:

  • PASSPASS_WITH_FIX: 执行导出
    python scripts/fleet_runner.py export --requirement <需求文档路径>
    
    (若已有 review 战区的阻断项或覆盖缺口,在导出前先修复用例文件,参考 Phase 4 的评审报告)
  • BLOCKED: 🛑 告知用户阻断原因,提供修复方向,不导出 Excel

Phase 6: REPORT(汇总反馈)

输出最终状态汇总:

🏁 QE Fleet 运行完成
   ✅ prepare: 完成 (置信度 0.95, 附加文件 N 个)
   ✅ analyze: 完成 (风险 P0=N, P1=N)
   ✅ design: 完成 (测试点 N, 用例 N)
   ✅ execute: 完成 (Playwright + Appium 脚本)
   ✅ review: 完成 (裁决: PASS/PASS_WITH_FIX/BLOCKED)
   ✅ export: 完成/N/A

产物:
   📊 Excel: output/excel_reports/{BASE_NAME}_测试用例.xlsx
   🧠 XMind: output/xmind_reports/{BASE_NAME}.xmind
   📋 测试点: output/test_points/{BASE_NAME}_测试点.md (N个)
   📝 测试用例: output/test_cases/{BASE_NAME}_测试用例.md (N条)
   ✅ 质量裁决: output/analysis/{BASE_NAME}_质量裁决.md

其他命令

/qe-fleet prepare <需求文档>

python scripts/fleet_runner.py prepare --requirement <需求文档路径>

/qe-fleet analyze <需求文档>

python scripts/fleet_runner.py analyze --requirement <需求文档路径>

/qe-fleet design <需求文档>

仅执行 Phase 3AI-DESIGN),前提是 prepare 和 analyze 已完成。 若 manifest 未就绪,先执行对应的脚手架命令。

/qe-fleet review <需求文档>

仅执行 Phase 4AI-REVIEW),前提是设计产物已存在。

/qe-fleet export <需求文档>

python scripts/fleet_runner.py export --requirement <需求文档路径>

/qe-fleet monitor <需求文档> --results <测试结果>

python scripts/fleet_runner.py monitor --requirement <需求文档路径> --results <测试结果文件>

/qe-fleet status <需求文档>

python scripts/fleet_runner.py status --requirement <需求文档路径>

AI Agent 调用模板

每次调用 AI Agent 时,使用以下模板构造 prompt:

你是 {agent_name}。{从 agent prompt 文件读取的 role 描述}。

# 任务
{从 agent prompt 文件读取的 task 描述}

# 关键输入文件(必须读取)
{列出所有输入文件路径}

# 输出文件
写入: {output_file_path}

# 输出格式
{从 agent prompt 文件读取的 output format}

# 约束
{从 agent prompt 文件读取的 constraints}

# 附加上下文
- 项目画像: {PROJECT_PROFILE}
- 附加源文件(如有,来自 prepare manifest sources_registry

约束

  • 除非脚本执行失败,不要要求用户手动执行中间命令
  • 确认门禁未解除时,必须阻断并告知原因和解决路径
  • 质量裁决 BLOCKED 时,不得导出 Excel
  • 若主输入是 .docx/.doc/.pdf,必须基于 prepare 产出的标准化 Markdown
  • 若 manifest 中有附加源文件(sources_registry),必须纳入 AI Agent 的输入文件列表
  • 需求有歧义时必须显式标注 > ⚠️ 待确认:问题、影响范围、建议确认方向
  • 基于项目画像差异化,避免通用化输出
  • 历史缺陷和易漏场景必须显式体现在测试点或用例中
  • 预期结果必须同时覆盖 UI 反馈和数据状态变化
  • 所有 bash 命令使用 python(非 python3
  • 若改动涉及 scripts/、.claude/、agents/、AGENTS.md、README.md,必须执行 python scripts/governance_audit.py auto

兼容性

/case_generate 保留为 /qe-fleet run 的别名,行为完全一致。