stage-testing
Skill2 starsChanged 5 months agoMITView on GitHub
测试与质量保障——集成、系统、性能、安全测试。阶段子工作流,可独立使用。
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- code-reviewSkill
- design-reviewSkill
- main-workflowSkill
- okrSkill
- pr-faqSkill
- release-checklistSkill
- release-reviewSkill
- requirement-clarificationSkill
- requirement-reviewSkill
- retro-meetingSkill
- retro-reviewSkill
- six-pagerSkill
- software-project-governanceSkill
- stage-architectureSkill
- stage-cicdSkill
- stage-developmentSkill
- stage-infraSkill
- stage-initiationSkill
- stage-maintenanceSkill
- stage-operationsSkill
- stage-releaseSkill
- stage-researchSkill
- stage-selectionSkill
- tech-reviewSkill
- test-reviewSkill
The file
Files
测试与质量保障 — 子工作流
本文件定义"测试与质量保障"阶段的独立子工作流。用户可单独加载本文件执行测试阶段。
阶段目标
验证系统满足功能和非功能需求。测试阶段的核心产出是"测试报告"——用数据说明系统质量是否达到发布标准。不接受"测试通过了"——只接受带数字的结论。
AI 编程场景特有风险
在 AI 辅助编程项目中,测试阶段存在以下特有风险:
| 风险 | 说明 | 缓解方向 |
| AI 写的测试太浅 | AI 生成的测试用例偏向 happy path,缺少边界 case、异常路径和并发场景 | 测试用例审查必须覆盖:边界值、null/空值、并发、超时、异常恢复 |
| 测试本身有 bug | AI 可能生成"永远通过"的测试(断言太松、mock 过度、未验证真实行为) | 测试审查:检查断言是否真正验证了预期行为;检查 mock 是否正确模拟了依赖 |
| 测试覆盖假象 | AI 可能生成大量形式化测试(覆盖率数字好看但不验证核心逻辑) | 覆盖率 ≠ 测试质量;核心路径必须有行为验证测试而非仅存在性测试 |
| 性能测试被跳过 | AI 倾向于只做功能测试,性能和安全测试被忽略 | 强制非功能测试清单;性能基线必须有量化数据 |
| AI 对缺陷的乐观判定 | AI 倾向于将"不确定"的测试结果判定为"通过",或降低严重级别 | 缺陷严重级别由用户确认;AI 不可单独将缺陷从"阻塞"降级 |
独立使用时的目标锚定
当本子工作流被独立加载(非通过
main-workflow.md总入口加载)时,MUST 在执行阶段活动前完成:
- 目标确认:读取
.governance/plan-tracker.md,确认项目立项时定义的量化成功标准 - 偏离检查:对照成功标准,确认测试覆盖维度与项目质量目标一致。如发现偏离,MUST 先记录到
.governance/decision-log.md再继续 - 质量底线:测试报告必须包含量化数据(覆盖率/通过率/性能 vs 基线),不接受"测试通过了"(参考 profile 质量要求)
进入条件
- 开发已完成(G6 通过或条件通过)
- 有测试计划或测试策略
- 自动化门禁(lint/test/coverage/security)已通过
活动清单
1. 测试计划确认
| 活动 | 描述 | 交互边界 | 企业实践 |
| 确认测试范围 | 哪些功能需要测试、哪些可以跳过(附跳过理由) | 需用户确认:测试优先级和跳过决策 | [Amazon] 显式记录"不测什么"和理由 |
| 确认测试类型 | 功能测试、性能测试、安全测试、兼容性测试、AI 代码专项测试 | 自动推荐:基于非功能需求和 AI 项目特征 → 需用户确认 | 通用 + AI 专项 |
| 确认通过标准 | 缺陷密度上限、覆盖率阈值、性能基线、安全扫描级别 | 需用户确认 | [ByteDance 数据驱动] 每个标准必须有数字 |
| PR/FAQ 验证计划 | 对照立项阶段的"用户价值陈述"(PR/FAQ),确认测试如何验证"用户得到了承诺的价值" | 需用户确认 | [Amazon Working Backwards] 回头验证是否交付了 PR/FAQ 中承诺的用户价值 |
2. 功能测试
| 活动 | 描述 | 交互边界 | 企业实践 |
| 测试用例设计 | 基于需求和设计文档编写测试用例,强制覆盖:边界值、null/空、超时、并发、异常恢复 | 自动 | AI 专项:边界和异常路径不是可选项 |
| 测试用例审查 | 检查测试用例是否:断言有意义(非形式化)、mock 正确、覆盖非 happy path | 自动:静态检查 → 需人工判断 | [Google] 测试代码与生产代码同等审查标准 |
| 功能测试执行 | 逐用例执行并记录结果 | 自动 | 通用实践 |
| 缺陷记录 | 每个缺陷有:严重级别、复现步骤、预期结果、实际结果、AI 生成代码标记(如是 AI 生成的代码引入的缺陷) | 自动:严重级别由 agent 初判 → 需用户确认 | [华为] 缺陷 48 小时内分配处理人;[ByteDance] 缺陷数据量化统计 |
3. 非功能测试
| 活动 | 描述 | 交互边界 | 企业实践 |
| 性能测试 | 响应时间(P50/P95/P99)、吞吐量、资源占用 vs 基线 | 自动:执行性能测试套件 | [ByteDance A/B] 性能数据必须与基线对比 |
| 安全测试 | OWASP Top 10 + API 安全 + 敏感数据暴露 | 自动:运行安全扫描工具 | [Google] 安全测试是合并门禁的一部分 |
| 兼容性测试 | 浏览器/设备/平台/依赖版本兼容性 | 需用户输入:目标平台列表 | 通用实践 |
| AI 代码安全专项 | 检查 AI 生成代码的常见安全问题:提示注入、幻觉 API 调用、不安全的默认配置 | 自动:专项扫描规则 | AI 专项 |
4. 测试报告
| 活动 | 描述 | 交互边界 | 企业实践 |
| 汇总测试结果 | 通过率(%)、缺陷统计(按严重级别和模块)、覆盖率(%)、性能数据(vs 基线) | 自动 | [ByteDance] 不接受"测试通过了"——必须有数字 |
| 评估质量状态 | 逐项对比通过标准:是否达标/未达标/临界 | 自动:与 profile 阈值对比 | [华为 IPD] 量化评分,≥3 分通过 |
| PR/FAQ 达成验证 | 对照立项时的用户价值陈述,逐条验证是否已实现 | 自动:逐项对照 → 需用户确认 | [Amazon Working Backwards] 验证是否交付了承诺 |
| 输出测试报告 | 包含量化结果、缺陷分析、PR/FAQ 达成、发布建议 | 自动 | 通用实践 |
5. 缺陷管理
| 活动 | 描述 | 交互边界 | 企业实践 |
| 缺陷优先级排序 | 阻塞 > 关键 > 重要 > 一般 > 建议 | 自动初判 → 需用户确认 | [华为] 阻塞/关键缺陷 48 小时内处理 |
| 缺陷根因分析 | 对阻塞和关键级别缺陷做 5-Why 分析 | 自动:对阻塞/关键缺陷自动触发 | [华为 RCA] 根因分析,不修复表象 |
| 缺陷分配 | 每个缺陷有明确的处理人和截止时间 | 需用户确认 | [华为] 听得见炮声的人呼唤炮火 |
产出物标准
| 产出物 | 格式要求 | 质量标准 | 企业实践来源 |
| 测试计划 | 覆盖功能+非功能+AI 专项测试;明确跳过项及理由 | 测试范围明确;通过标准每个有数字 | [ByteDance] 数据驱动标准 |
| 测试用例 | 每个用例有前置条件、步骤、预期结果;覆盖边界/异常路径 | 覆盖核心路径+边界+异常;断言有意义 | AI 专项 + [Google] 测试同等标准 |
| 缺陷清单 | 每个缺陷有严重级别、状态、5-Why(阻塞/关键级)、AI 代码标记 | 阻塞/关键级 = 0;严重级别经用户确认 | [华为 IPD] + AI 专项 |
| 测试报告 | 包含:通过率、覆盖率、性能 vs 基线、缺陷分布、PR/FAQ 达成、发布建议 | 全部量化数据;PR/FAQ 逐条验证结论 | [Amazon PR/FAQ] + [ByteDance 数据] |
退出条件
- 阻塞/关键缺陷已关闭(= 0),且严重级别经用户确认
- 回归测试通过(通过率 = 100%)
- 性能指标达标(各项 vs 基线在可接受范围)
- 安全测试通过(无 HIGH/CRITICAL 漏洞;AI 安全专项无高危)
- 测试报告已输出(含全部量化数据 + PR/FAQ 达成验证)
- 阻塞/关键缺陷已完成 5-Why 根因分析
Gate 映射
本阶段对应 G7 — 测试通过。
| Gate 检查项 | 对应活动 | 判定标准 | 自动化判定 |
| 阻塞/关键缺陷是否已关闭? | 缺陷管理 | 阻塞和关键级别缺陷数 = 0,严重级别经用户确认 | 可自动:计数值(严重级别确认需人工) |
| 回归测试是否 100% 通过? | 功能测试 | 回归测试套件通过率 = 100% | 可自动:解析测试结果 |
| 性能指标是否达标? | 性能测试 | P50/P95/P99 在目标范围内,各项 vs 基线不劣化 | 可自动:阈值对比 |
| 安全测试是否通过? | 安全测试 | 无 HIGH/CRITICAL 漏洞;AI 安全专项无高危 | 可自动:解析安全扫描报告 |
| AI 测试用例是否覆盖边界/异常? | 功能测试 | 测试用例包含边界值、null/空、超时、并发、异常恢复分类 | 可自动:测试用例标签检查 |
| PR/FAQ 是否验证达成? | 测试报告 | 立项时的用户价值逐条有验证结论 | 可自动:逐项对照 → 需人工判断达成质量 |
| 阻塞/关键缺陷是否完成根因分析? | 缺陷管理 | 每个阻塞/关键缺陷有 5-Why 记录 | 可自动:检查 5-Why 字段完整性 |
企业实践溯源
本子工作流的设计参考了以下企业实践,每条实践已映射到具体活动步骤:
| 企业 | 核心实践 | 映射到本工作流 |
| Amazon | Working Backwards (PR/FAQ 验证) | 测试计划→PR/FAQ 验证计划;测试报告→PR/FAQ 达成验证 |
| Amazon | 显式记录"不测什么" | 测试计划→跳过项必须附理由 |
| 测试代码与生产代码同等审查 | 测试用例审查→断言有意义、非形式化 | |
| Blameless Postmortem | 缺陷根因分析→5-Why 聚焦流程改进而非追责 | |
| 安全测试是门禁的一部分 | 安全测试→OWASP + AI 安全专项 | |
| 华为 | IPD 门控量化评分 | 测试报告→逐项量化对比通过标准 |
| 华为 | RCA 5-Why 根因分析 | 缺陷管理→阻塞/关键缺陷强制 5-Why |
| 华为 | 48 小时缺陷响应 | 缺陷管理→阻塞/关键缺陷 48 小时分配处理人 |
| 字节跳动 | 数据驱动——不接受无数字的结论 | 测试报告→全部量化数据;通过率、覆盖率、性能 vs 基线 |
| 字节跳动 | A/B Test 效果对比 | 性能测试→性能 vs 基线对比(新版 vs 旧版) |
| — | AI 编程专项 | 测试用例→强制边界/异常覆盖;测试审查→反浅层测试;安全→AI 代码专项扫描 |
本项目测试类型对应
本项目(software-project-governance)的资产类型不同于传统软件项目,测试策略适配如下:
| 传统项目 | 本项目对应 | 工具/方法 |
| 单元测试(函数级) | verify_workflow.py 子命令的单元测试——测试每个 check 函数的输入/输出 | infra/tests/test_verify_workflow.py (pytest) |
| 集成测试(模块间) | 端到端验证——在独立测试项目中运行 governance-init → verify 全流程 | infra/tests/e2e/ |
| 回归测试(bug fix) | 每次修复 bug 后 MUST 新增 verify 检查项、测试用例 或 e2e 场景 | 在对应修复的 task 中执行 |
| 性能测试 | 不适用(skill 加载性能取决于 LLM) | — |
| 安全测试 | Agent 行为安全——prompt injection 抗性检查 + M5 合规 | verify_workflow.py Check 10 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

