feat: 安徽运八需求全流水线输出同步 + 知识库/agents/资源文件更新

This commit is contained in:
xst
2026-07-14 15:50:17 +08:00
parent e34a3c64ce
commit 2bc036c867
79 changed files with 15673 additions and 2722 deletions
+168 -61
View File
@@ -1,11 +1,11 @@
---
name: qe-fleet
description: Agentic QE Fleet — 14 个专业 AI Agent 组成的自治质量工程舰队。当用户输入 /qe-fleet 或 /case_generate 时使用本 skill。
description: Agentic QE Fleet — 混合流水线:Python 脚手架 + AI Agent 内容生成
metadata:
short-description: 多 Agent QE Fleet:从需求到测试用例的全流程自动化 + 质量门禁 + 知识沉淀
---
# Agentic QE Fleet
# Agentic QE Fleet(混合流水线 v3.0
当用户输入以下任一意图时使用本 skill:
@@ -19,82 +19,188 @@ metadata:
- `/qe-fleet status <需求文档>`
- `/case_generate <需求文档>`(向后兼容别名)
## 自动执行要求
## 架构概述
收到 `/qe-fleet` 命令后,不要停在说明阶段,必须自动完成以下步骤
本流水线采用**混合架构**
### /qe-fleet run
- **Python 脚本(fleet_runner.py)**: 处理确定性工作——文档解析、知识激活、需求分析、冲突检测、风险矩阵、测试策略模板、测试数据模板、Playwright/Appium 脚本骨架、清单管理
- **Claude Code Agent(本 Skill**: 处理生成式 AI 工作——测试点设计、测试用例编写、用例评审、覆盖率审计、质量裁决
1. 执行:
```bash
python3 scripts/fleet_runner.py run --requirement <需求文档路径>
```
## `/qe-fleet run` — 全流程自动执行
2. fleet_runner.py 会自动按战区顺序执行
- **PREPARE**: document-parser(文档解析) → knowledge-activator(知识激活)
- **ANALYZE**: requirement-analyzer(需求分析) + conflict-detector(冲突检测) → risk-assessor(风险评估)
- **DESIGN**: test-strategist(测试策略) → testpoint-designer(测试点) + data-builder(测试数据) → case-designer(用例设计)
- **EXECUTE**: web-executor(Playwright PC Web) + mobile-executor(Appium 移动端) → result-reporter(截图对比+结论)
- **REVIEW**: case-reviewer(用例评审) + coverage-auditor(覆盖率审计) → quality-gatekeeper(质量裁决)
- **MONITOR**: execution-analyst(执行分析) → knowledge-curator(知识沉淀)
- **EXPORT**: 质量裁决 PASS 后自动导出 Excel
收到此命令后,按以下 6 个阶段自动执行,不要停在说明阶段
3. 检查确认门禁:
- 若 analyze 战区 `confirmation_gate.required=true``decision_status` 不是 `confirmed`,阻断并告知
- 提供确认单路径和阻断原因
4. 检查质量裁决:
- 若 review 战区 quality_verdict 为 `BLOCKED`,告知阻断原因
- 若为 `PASS``PASS_WITH_FIX`,自动导出
5. 最终反馈:
- 各战区状态(✅ 完成 / ⏳ 进行中 / ⬜ 待执行)
- 产物文件路径
- 质量裁决结果
- 若失败,失败在哪一步
### /qe-fleet status
### Phase 1: SCAFFOLD(脚手架生成)
```bash
python3 scripts/fleet_runner.py status --requirement <需求文档路径>
python scripts/fleet_runner.py run --scaffold-only --requirement <需求文档路径>
```
### /qe-fleet monitor
产出:
- 标准化需求文档(含附加文件检测 + 多源注册表)
- 知识激活 + 缺口检测
- 需求分析 + 冲突检测 + 风险矩阵
- 测试策略模板 + 测试数据模板
- Playwright/Appium 脚本骨架
- 所有战区 manifest(含 `pending_ai` 标记)
### Phase 2: GATE-CHECK(门禁检查)
读取 `output/manifests/{BASE_NAME}_analyze.json`
-`confirmation_gate.required=true``decision_status` 不是 `confirmed``not_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 prompt`agents/design/data_builder.md`
- 输出:`output/analysis/{BASE_NAME}_测试数据.md`(覆盖模板)
- 验证:文件存在且 >300 字符
- 调用方式:使用 Agent 工具,subagent_type=general-purpose,在 prompt 中指明输入文件和输出文件
**Agent: testpoint-designer**
- 输入文件:`output/analysis/{BASE_NAME}_分析.md``output/analysis/{BASE_NAME}_风险评估.md``output/analysis/{BASE_NAME}_测试策略.md``output/analysis/{BASE_NAME}_关联与冲突.md``{PROJECT_PROFILE}``knowledge_base/02_history/common_missed_scenes.md``knowledge_base/02_history/historical_defects.md``knowledge_base/01_standards/definition_of_done.md`、prepare manifest 中 `sources_registry` 的所有附加文件
- Agent prompt`agents/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}_测试点.md`3a 产出)、`output/analysis/{BASE_NAME}_测试数据.md``knowledge_base/01_standards/test_case_template.md``knowledge_base/01_standards/review_checklist.md``knowledge_base/03_best_practices/`
- Agent prompt`agents/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}_测试用例.md``knowledge_base/01_standards/review_checklist.md``knowledge_base/01_standards/test_case_template.md``knowledge_base/01_standards/definition_of_done.md``output/analysis/{BASE_NAME}_风险评估.md`
- Agent prompt`agents/review/case_reviewer.md`
- 输出:`output/analysis/{BASE_NAME}_评审报告.md`
- 验证:文件存在且 >500 字符,含阻断项/建议项计数
**Agent: coverage-auditor**
- 输入文件:`output/analysis/{BASE_NAME}_分析.md``output/test_points/{BASE_NAME}_测试点.md``output/test_cases/{BASE_NAME}_测试用例.md``output/analysis/{BASE_NAME}_风险评估.md`
- Agent prompt`agents/review/coverage_auditor.md`
- 输出:`output/analysis/{BASE_NAME}_覆盖率审计.md`
- 验证:文件存在且 >500 字符
#### 4b: quality-gatekeeper(依赖 4a 完成)
- 输入文件:`output/analysis/{BASE_NAME}_评审报告.md``output/analysis/{BASE_NAME}_覆盖率审计.md``output/analysis/{BASE_NAME}_风险评估.md``fleet_config.yml`
- Agent prompt`agents/review/quality_gatekeeper.md`
- 输出:`output/analysis/{BASE_NAME}_质量裁决.md`
- 验证:文件含 `PASS``PASS_WITH_FIX``BLOCKED`
### Phase 5: VERDICT(裁决 + 导出)
读取 `output/analysis/{BASE_NAME}_质量裁决.md` 中的裁决结果:
- **PASS** 或 **PASS_WITH_FIX**: 执行导出
```bash
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 <需求文档>`
```bash
python3 scripts/fleet_runner.py monitor --requirement <需求文档路径> --results <测试结果文件>
python scripts/fleet_runner.py prepare --requirement <需求文档路径>
```
## 战区详细流程
### `/qe-fleet analyze <需求文档>`
```bash
python scripts/fleet_runner.py analyze --requirement <需求文档路径>
```
### Prepare 战区
- **document-parser**: 解析 docx/pdf/doc → 标准化 Markdown;自动识别同主题技术方案;标注解析置信度
- **knowledge-activator**: 按需求内容关键词+语义匹配激活术语/规则/历史缺陷/最佳实践;检测知识缺口
### `/qe-fleet design <需求文档>`
仅执行 Phase 3AI-DESIGN),前提是 prepare 和 analyze 已完成。
若 manifest 未就绪,先执行对应的脚手架命令。
### Analyze 战区
- **requirement-analyzer**: 结构化需求模型(背景/目标/角色/规则/流程/异常);项目画像差异化;歧义标注
- **conflict-detector**: 语义级历史需求冲突检测(方向/数值/状态机/权限);严重度分级(P0-P3)
- **risk-assessor**: 多维度风险矩阵(资损/可用性/数据/合规/兼容性);可能性 × 影响度 = 风险等级
### `/qe-fleet review <需求文档>`
仅执行 Phase 4AI-REVIEW),前提是设计产物已存在。
### Design 战区
- **test-strategist**: 测试金字塔分配;优先级覆盖规则;P0 必测清单
- **testpoint-designer**: 全面测试点矩阵;来源标注(需求/历史缺陷/风险矩阵/冲突修订/项目画像)
- **case-designer**: 可执行用例;原子性;双验证预期结果(UI + 数据)
- **data-builder**: 自动提取+人工补充测试数据(账号/金额/ID/枚举/边界值)
### `/qe-fleet export <需求文档>`
```bash
python scripts/fleet_runner.py export --requirement <需求文档路径>
```
### Execute 战区
- **web-executor**: 生成 Playwright 测试脚本;多浏览器(Chromium/Firefox/WebKit);每步/失败自动截图
- **mobile-executor**: 生成 Appium 测试脚本;Android (UiAutomator2) + iOS (XCUITest);双平台截图采集
- **result-reporter**: 截图 AI 视觉对比;像素级差异检测;多平台测试结论报告(含截图证据)
### `/qe-fleet monitor <需求文档> --results <测试结果>`
```bash
python scripts/fleet_runner.py monitor --requirement <需求文档路径> --results <测试结果文件>
```
### Review 战区
- **case-reviewer**: 按 review_checklist 逐项评审;错误分级(阻断/建议/优化)
- **coverage-auditor**: 需求→测试点→用例三级追溯;覆盖缺口识别;过度覆盖识别
- **quality-gatekeeper**: 三级裁决(PASS / PASS_WITH_FIX / BLOCKED);裁决依据引用具体评审条目
### `/qe-fleet status <需求文档>`
```bash
python scripts/fleet_runner.py status --requirement <需求文档路径>
```
### Monitor 战区
- **execution-analyst**: 失败归类(ENV/DATA/CASE/REAL_BUG);失败模式识别;根因推测
- **knowledge-curator**: 自动回写知识库;去重保护;P0 自动生效 / P1-P3 人工确认
---
## 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
```
---
## 约束
@@ -102,12 +208,13 @@ python3 scripts/fleet_runner.py monitor --requirement <需求文档路径> --res
- 确认门禁未解除时,必须阻断并告知原因和解决路径
- 质量裁决 BLOCKED 时,不得导出 Excel
- 若主输入是 .docx/.doc/.pdf,必须基于 prepare 产出的标准化 Markdown
- 若 manifest 中有技术方案文件,必须纳入分析
- 若 manifest 中有附加源文件(`sources_registry`),必须纳入 AI Agent 的输入文件列表
- 需求有歧义时必须显式标注 `> ⚠️ 待确认:问题、影响范围、建议确认方向`
- 基于项目画像差异化,避免通用化输出
- 历史缺陷和易漏场景必须显式体现在测试点或用例中
- 预期结果必须同时覆盖 UI 反馈和数据状态变化
- 若改动涉及 scripts/、.claude/、agents/、AGENTS.md、README.md,必须执行 governance_audit.py auto
- 所有 bash 命令使用 `python`(非 `python3`
- 若改动涉及 scripts/、.claude/、agents/、AGENTS.md、README.md,必须执行 `python scripts/governance_audit.py auto`
## 兼容性