Files
Yb-QaAutomationHub/docs/USER_GUIDE.md
xst 4f30b9d702 feat: Execute zone - Playwright PC Web + Appium mobile + AI screenshot diff + test conclusion reports
- Add 3 new agents: web-executor, mobile-executor, result-reporter
- web-executor: Playwright multi-browser (Chromium/Firefox/WebKit) automated scripts
- mobile-executor: Appium dual-platform (Android/iOS) automated scripts
- result-reporter: pixel-level AI visual comparison + test conclusion report with screenshots
- Auto-generate executable Python test scripts from Markdown test cases
- Screenshot strategies: on-failure (default) + on-step (optional)
- Visual diff grading: <1% pass / 1-5% minor / 5-15% UI_DIFF / >15% blocker
- Failure multi-classification: REAL_BUG/UI_DIFF/ENV_ISSUE/DATA_ISSUE/CASE_BUG/SCRIPT_ERROR
- requirements.txt: add playwright + Pillow
- Fleet now: 17 agents across 6 battle zones
2026-07-10 11:03:58 +08:00

392 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Agentic QE Fleet 用户指南
> 版本: 2.0.0 | 最后更新: 2026-07-09
## 目录
1. [快速开始](#1-快速开始)
2. [命令参考](#2-命令参考)
3. [工作流详解](#3-工作流详解)
4. [知识库使用](#4-知识库使用)
5. [常见场景](#5-常见场景)
6. [FAQ](#6-faq)
---
## 1. 快速开始
### 环境要求
- Python 3.10+
- Git
- pip
### 安装
```bash
# 克隆仓库
git clone http://47.109.59.41:3000/xst/QaAutomationHub.git
cd QaAutomationHub
# 安装依赖
python3 -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -r requirements.txt
```
### 3 步上手
**第 1 步**: 把需求文档放进 `source_docs/requirements_raw/`
```
source_docs/requirements_raw/你的需求.docx
```
**第 2 步**: 确认项目画像已维护
```
knowledge_base/00_project/project_profile.md
```
**第 3 步**: 运行 Fleet
```
/qe-fleet run source_docs/requirements_raw/你的需求.docx
```
Fleet 会自动完成:文档解析 → 知识激活 → 需求分析 → 冲突检测 → 风险评估 → 测试策略 → 测试点 → 用例 → 评审 → 覆盖审计 → 质量裁决 → Excel 导出。
---
## 2. 命令参考
### `/qe-fleet run` — 全流程自动化
```text
/qe-fleet run source_docs/requirements_raw/需求.docx
```
从需求到 Excel 一条命令搞定。等价于依次执行 prepare → analyze → design → review → export。
**参数**:
- `--zone <战区>`: 仅运行到指定战区(prepare/analyze/design/review/monitor
- `--skip-export`: 跳过最终 Excel 导出
### `/qe-fleet prepare` — 仅准备
```text
/qe-fleet prepare source_docs/requirements_raw/需求.docx
```
执行文档解析 + 知识激活。适合先看看标准化后的需求是什么样。
### `/qe-fleet analyze` — 准备 + 分析
```text
/qe-fleet analyze source_docs/requirements_raw/需求.docx
```
执行到分析战区结束。产出需求分析、冲突报告、风险评估。
### `/qe-fleet design` — 准备 → 分析 → 设计
```text
/qe-fleet design source_docs/requirements_raw/需求.docx
```
执行到设计战区结束。产出测试策略、测试点、测试用例、测试数据。
### `/qe-fleet execute` — 自动化测试执行
```text
/qe-fleet execute source_docs/requirements_raw/需求.docx
```
执行自动化测试:生成 Playwright (PC Web) + Appium (移动端) 脚本,采集截图,AI 视觉对比,输出测试结论报告。
**产出**:
- `output/execution/{需求名}/playwright_tests.py` — PC Web 自动化脚本
- `output/execution/{需求名}/appium_tests.py` — 移动端自动化脚本
- `output/screenshots/{需求名}/` — 截图证据目录
- `output/execution/{需求名}_执行报告.md` — 含截图对比的测试结论
### `/qe-fleet review` — 仅评审
```text
/qe-fleet review source_docs/requirements_raw/需求.docx
```
对已有产物执行评审(不重复生成)。产出评审报告、覆盖率审计、质量裁决。
### `/qe-fleet export` — 仅导出
```text
/qe-fleet export source_docs/requirements_raw/需求.docx
```
将已有测试用例导出为 Excel + 版本快照。
### `/qe-fleet monitor` — 执行分析 + 知识沉淀
```text
/qe-fleet monitor source_docs/requirements_raw/需求.docx --results test-results.xml
```
分析测试执行结果,分类失败,沉淀知识。
### `/qe-fleet status` — 查看进度
```text
/qe-fleet status source_docs/requirements_raw/需求.docx
```
查看当前需求的 Fleet 运行进度和产物状态。
### `/qe-fleet validate` — 验证 Agent 就绪
```text
/qe-fleet validate
```
验证所有 14 个 Agent prompt 文件是否存在且非空。
### 兼容命令
```text
/case_generate source_docs/requirements_raw/需求.docx
```
完全等同于 `/qe-fleet run`,向后兼容。
---
## 3. 工作流详解
### 3.1 标准流程
```
需求文档 → PREPARE → ANALYZE → [人工确认] → DESIGN → EXECUTE → REVIEW → [质量裁决] → EXPORT
```
### 3.2 确认门禁
当 Fleet 检测到以下情况时,会在 ANALYZE 战区后暂停:
- 识别到历史相似需求
- 检测到规则冲突(P0/P1 级别)
- 需求中存在 `⚠️ 待确认`
**此时你需要**:
1. 查看 `output/analysis/{需求名}_关联与冲突.md`
2.`decisions/` 下创建确认单(使用 `确认结论模板.md`
3. 确认状态写为 `确认状态:已确认`
4. 重新运行 `/qe-fleet run`Fleet 会自动跳过已完成战区)
### 3.3 质量裁决
评审战区结束后,quality-gatekeeper 会做出三级裁决:
| 裁决 | 含义 | 后续操作 |
|------|------|----------|
| ✅ PASS | 全部达标 | 自动导出 Excel |
| 🔧 PASS_WITH_FIX | 已自动修复 | 自动导出 Excel |
| 🛑 BLOCKED | 有阻断项 | 查看裁决报告,修复后重跑 |
### 3.4 Monitor 循环
```
测试执行 → /qe-fleet monitor → 执行分析 → 知识沉淀 → 知识库自动更新 → 下次生成更准
```
这是一个正向循环:用得越多,知识库越丰富,生成质量越高。
---
## 4. 知识库使用
### 4.1 知识库结构
```
knowledge_base/
├── 00_project/ # 项目画像(必须维护)
│ └── project_profile.md
├── 01_standards/ # 标准规范
│ ├── terminology.md # 核心术语(常驻)
│ ├── terminology_optional_saas.md # 扩展术语(按需激活)
│ ├── test_case_template.md # 用例模板
│ ├── definition_of_done.md # 完成标准
│ └── review_checklist.md # 评审清单
├── 02_history/ # 历史经验(手动+自动维护)
│ ├── common_missed_scenes.md # 易漏场景
│ ├── historical_defects.md # 历史缺陷
│ └── marketing_rules.md # 营销规则
└── 03_best_practices/ # 最佳实践(手动+推荐)
├── payment_flow_cases.md # 支付链路范例
└── marketing_activity_cases.md # 营销活动范例
```
### 4.2 知识激活机制
Fleet 不会全量加载所有知识库,而是按需求内容智能激活:
- **常驻激活**: `terminology.md``template.md``definition_of_done.md``review_checklist.md`
- **关键词匹配**: 如需求包含"导购、分销、企微"→ 激活 `terminology_optional_saas.md`
- **语义匹配**: 计算需求与知识库文件的 Jaccard 相似度,≥ 0.08 则激活
### 4.3 知识缺口
当 Fleet 发现需求涉及但知识库无覆盖的领域时,会在 Prepare 战区输出 `knowledge_gaps`,提示你补充相关知识。
---
## 5. 常见场景
### 5.1 新需求首次生成
```bash
# 1. 放置文档
cp 新人礼需求.docx source_docs/requirements_raw/
# 2. 一键生成
# 在 CLI 中输入:
/qe-fleet run source_docs/requirements_raw/新人礼需求.docx
# 3. 查看产物
ls output/analysis/新人礼需求_*
ls output/test_points/新人礼需求_*
ls output/test_cases/新人礼需求_*
ls output/excel_reports/新人礼需求_*
```
### 5.2 已有需求的子需求迭代
```bash
# 1. 保留旧需求文档在 requirements/ 或 source_docs/requirements_raw/
# 2. 放置新子需求
cp 新人礼二期需求.docx source_docs/requirements_raw/
# 3. 运行 Fleet
/qe-fleet run source_docs/requirements_raw/新人礼二期需求.docx
# 4. 如果 Fleet 在 ANALYZE 后暂停(检测到冲突)
# → 查看 output/analysis/新人礼二期需求_关联与冲突.md
# → 在 decisions/ 下创建确认单
# → 确认单写"确认状态:已确认"
# → 重新运行 /qe-fleet run
# 5. 按确认结论重跑受影响需求
python3 scripts/case_pipeline.py apply-confirmation --requirement source_docs/requirements_raw/新人礼二期需求.docx
```
### 5.3 线上事故后回写
```bash
# 1. 手动补充历史缺陷
# 编辑 knowledge_base/02_history/historical_defects.md
# 写明:模块、现象、根因、防御建议
# 2. 手动补充易漏场景
# 编辑 knowledge_base/02_history/common_missed_scenes.md
# 3. (可选)运行知识库健康检查
/qe-fleet knowledge sync
# 4. 下次运行 Fleet 时,新的历史经验会自动激活
```
### 5.4 测试执行后分析
```bash
# 拿到测试执行结果后
/qe-fleet monitor source_docs/requirements_raw/需求.docx --results junit-results.xml
# 产出:
# - output/analysis/需求_执行分析.md(失败分类 + 根因分析)
# - knowledge_base/ 自动更新(P0 缺陷自动沉淀)
# - knowledge_gaps/ 待确认沉淀(P1-P3 需人工确认)
```
### 5.5 查看进度
```bash
/qe-fleet status source_docs/requirements_raw/需求.docx
```
输出示例:
```
✅ prepare: completed
✅ analyze: completed
⏳ design: in_progress
⬜ review: pending
⬜ monitor: pending
```
---
## 6. FAQ
### Q: 和原来的 /case_generate 有什么区别?
`/qe-fleet` 是升级版,Agent 从 4 个增加到 14 个,新增了风险评估、测试策略、数据构造、覆盖率审计、质量门禁、执行分析、知识沉淀等能力。`/case_generate` 保留为别名。
### Q: 必须所有战区都跑吗?
不必须。你可以分步运行:
- 只想看分析 → `/qe-fleet analyze`
- 只想看设计 → `/qe-fleet design`
- 只想导出 Excel → `/qe-fleet export`
- 只想分析测试结果 → `/qe-fleet monitor`
### Q: Fleet 生成的用例能直接用吗?
Fleet 生成的用例经过 4 个 Agent 协作(设计 → 评审 → 覆盖审计 → 质量裁决),质量裁决 PASS 后可以直接使用。但建议:
- 首次使用前先配置项目画像
- 补充知识库中的具体业务规则
- 对 P0 高风险用例做一次人工确认
### Q: 如何让 Fleet 越来越准?
1. 维护项目画像(`knowledge_base/00_project/project_profile.md`
2. 每次线上事故后回写到历史缺陷/易漏场景
3. 积累高质量用例到最佳实践
4. 使用 Monitor 战区的自动知识沉淀功能
5. 定期运行 `/qe-fleet knowledge sync` 做知识库健康检查
### Q: 支持哪些文档格式?
- `.docx`(推荐,结构保留最好)
- `.doc`(通过 pyantiword 解析)
- `.pdf`(通过 PDF 流解析,扫描件/图片型 PDF 质量差)
- `.md`(直接使用)
- `.txt`(直接使用)
### Q: Excel 导出格式是什么?
默认导出为云效字段模型(标题/编号/目录/创建时间/前置条件/步骤描述/预期结果/优先级/类型/URL)。可在 `fleet_config.yml` 中修改。
### Q: 如何关闭某个战区?
编辑 `fleet_config.yml`
```yaml
battle_zones:
monitor:
enabled: false # 关闭 Monitor 战区
```
### Q: 如何调整质量门禁严格度?
编辑 `fleet_config.yml`
```yaml
quality_gate:
min_coverage: 0.90 # 降低覆盖率要求(默认 0.95
max_blockers: 2 # 允许最多 2 个阻断项(默认 0
```
### Q: 知识沉淀会自动修改我的知识库文件吗?
Monitor 战区的 knowledge-curator Agent
- **P0 确认缺陷**: 默认自动回写(可在 `fleet_config.yml` 中关闭)
- **P1-P3 缺陷**: 默认仅生成建议,需人工确认后回写
- **去重保护**: 回写前自动检查与已有知识的相似度
- **变更记录**: 所有自动回写会记录时间戳和来源