testinglisted
Install: claude install-skill pcliangx/AppGenesisForge
# Testing Standards
## Testing Standards
四级测试分工,门槛递进(前一级通过才进下一级):
| 级别 | 测试对象 | 依赖处理 | 编写者 | 工具 | 触发时机 |
|---|---|---|---|---|---|
| **Unit** | 单个函数/模块/组件 | 全部 Mock | 开发者自己(frontend-dev / backend-dev / ai-agent-dev / ml-engineer / miniapp-dev) | Jest / Vitest / pytest | **test-first**(red → green → refactor,见 ac-lifecycle.md DoD) |
| **SIT** | API + 数据库 + 外部服务协同 | DB 真实,外部 API 可 Mock | 开发者(frontend-dev / backend-dev / ai-agent-dev / ml-engineer / miniapp-dev) | Supertest / pytest + 真实 DB | 功能完成后随代码提交 |
| **E2E** | 完整用户操作流程 | 全部真实 | qa-engineer | Playwright / chrome-devtools-mcp | code-review 通过后(含 SIT Audit) |
| **UAT** | PRD 验收标准(业务视角) | 全部真实 | qa-engineer 执行 + product-lead 判定 | E2E 脚本 + 人工确认 | E2E 通过后 |
- **开发者职责**:Unit + SIT 都随代码提交(Unit 走 Mock,集成层走 API+DB+external 单边集成),不转包给测试角色
- **UAT 判定权**:唯一由 product-lead 对照 PRD AC 签字,qa-engineer 只执行并出报告
- **测试报告**:SIT 证据写入 `progress/<role>.md` 的 `**SIT 证据**` 段(不再单独产 `docs/qa/[feature]-sit-*.md`);E2E / UAT 完成后分别输出至 `docs/qa/[feature]-[e2e|uat]-[YYYY-MM-DD].md`
- **阶段门槛 / 失败回退**:code-review (含 SIT Audit) 通过 → E2E → UAT;任一阶段失败由 product-lead 重新分派执行层修复,qa-engineer 和 code-reviewer 不直接改实现
- **TDD 是核心纪律**(非建议):新功能 / bugfix 任务必须按 red → green → refactor 顺序,PR commit history 能看出 test commit 早于 impl commit;详见 [`ac-lifecycle.md` DoD](./ac-lifecycle.md) + skill `superpowers:test-driven-development`;纯重构 / 文档 / 配置任务可跳过
## Cron-Driven Feature E2E(强制覆盖项)
> 触发来源:RolexOps 实战 issue audit(不随模板分发)Systemic Pattern 3 "SIT/UAT Scope Gap" — 某 fan-out feat