← ClaudeAtlas

forge-testlisted

Use when planning or running the 5-stage test pyramid verification for completed development tasks.
gldu/dev-forge · ★ 1 · Testing & QA · score 62
Install: claude install-skill gldu/dev-forge
# forge-test — 五轮测试金字塔 ## Goal 本 Skill 为 **Change 级轻量门禁**(耗时 ≤ 1 分钟)。侧重于本次变更范围内的单元测试、基础 npm audit 漏洞与轻量 QPS 对比;全盘深度静态 SAST 与高并发 k6 压测请使用专项命令 `forge-sec` / `forge-perf`。 测试不是"跑一下单测",是 5 个维度的金字塔。每轮按项目类型可裁剪。 ## Workflow ### 步骤 0 · 声明本次走哪几轮(强制) 在 TEST.md 开头显式输出适用矩阵: ``` | 轮次 | 状态 | 范围 | 跳过理由 | |---|---|---|---| | 第 1 轮 · 功能 | ✅ 必跑 | 全部 AC | — | | 第 2 轮 · 性能 | ✅ / ⚠️ / ❌ | ... | ... | | 第 3 轮 · 安全 | ✅ / ⚠️ / ❌ | ... | ... | | 第 4 轮 · 兼容 | ✅ / ⚠️ / ❌ | ... | ... | | 第 5 轮 · 可观测 | ✅ / ⚠️ / ❌ | ... | ... | ``` 禁止没声明就跳过任何轮次。每个 ❌ 必须有理由。 ### 第 1 轮 · 功能测试 #### 1.1 测试矩阵 每条 AC 映射到测试用例。强制:每条 AC >= 1 条覆盖。空缺必须解释。 #### 1.2 UAT 脚本 无法自动化的 AC 写 UAT 脚本(前置/步骤/期望/通过失败)。 #### 1.3 覆盖率与边界 - 跑 `<test-cmd> --coverage`,贴输出 - 关键路径行覆盖 >= 项目门槛(默认 80%;core 90%) - 边界值用例(空/极大/极小/Unicode/null)>= 3 条 - 错误路径必须有显式测试 #### 1.4 测试质量自检 · 6 维测试衰退风险 | 编号 | 衰退风险 | 诊断问题 | |---|---|---| | T1 | Test Obscurity | 读这个测试能马上看出「它在验证什么」吗? | | T2 | Test Brittleness | 重构实现会让这个测试坏掉吗? | | T3 | Test Duplication | 同一个场景是否被多个测试换个姿势验证? | | T4 | Mock Abuse | mock 是��遮蔽了真实问题? | | T5 | Coverage Illusion | 覆盖率高但 assertion 空? | | T6 | Architecture Mismatch | 测试层级是否与架构匹配? | 路径 A(装了 brooks-lint):`/brooks-test`,输出 4 要素格式贴入 TEST.md。 路径 B(未装):逐个维度检查,命中 >= 3 项 → release 前必修。 #### 1.5 真实 API 端点探活与契约实测 (Live API Testing) 针对 API/后端/Web 服务,强制进行真实 HTTP 请求实测(使用 supertest / httpx / curl / fetch): - **服务启动探活**:本地/测试 HTTP 服务成功启动,端口监听正常,`/health` 返回 200。 - **真实 Payload 校验**:发送真实 HTTP 请求,校验状态码(200/201/400/401/404)与 JSON 数据结构。 - **模拟数据策略**: -