关于 test-tier-selection
test-tier-selection 是一项根据改动类型和范围选择测试层级的指导技能,面向需要制定测试策略的开发者。它通过决策矩阵和升级条件,说明何时运行单元、集成或端到端测试。
主要功能
- 01按改动类型选择测试层级
- 02提供测试升级条件
- 03列出各层级的运行命令
- 04说明何时咨询相关 Agent
适用场景
- 01为小型代码改动选择测试
- 02为功能或 API 改动确定测试范围
- 03规划提交或 PR 前的测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill test-tier-selection安装后在 Claude Code 中输入/test-tier-selection确认已加载。
详细介绍
测试层级选择
根据变更上下文和范围自动指导选择合适的测试层级。
测试层级定义
| 层级 | 耗时 | 范围 | 运行时机 |
|---|---|---|---|
| Unit | < 30s | 单个函数/模块 | 每次代码变更后 |
| Integration | < 5min | 组件交互 | 功能完成后 |
| E2E | < 30min | 完整用户流程 | 提交/PR 前 |
决策矩阵
变更类型 → 测试层级
| 变更类型 | Unit | Integration | E2E |
|---|---|---|---|
| 单个函数修复 | 必须 | 跳过 | 跳过 |
| 新功能(1 个文件) | 必须 | 必须 | 跳过 |
| 多文件功能 | 必须 | 必须 | 必须 |
| 重构 | 必须 | 必须 | 可选 |
| API 变更 | 必须 | 必须 | 必须 |
| UI 变更 | 必须 | 可选 | 必须 |
| Bug 修复(独立) | 必须 | 可选 | 跳过 |
| 数据库变更 | 必须 | 必须 | 必须 |
| 配置变更 | 必须 | 必须 | 可选 |
升级信号
以下情况升级到 Integration:
- 变更涉及多个文件
- 影响业务逻辑
- 修改服务边界
- 数据库查询发生变化
以下情况升级到 E2E:
- 修改面向用户的功能
- 身份验证/授权发生变化
- 涉及关键路径功能
- 创建 PR 前
各层级的命令
# Tier 1: Unit (fast feedback)
/test:quick
# Tier 2: Integration (feature completion)
/test:full --coverage
# Tier 3: E2E (pre-commit)
/test:full
Agent 咨询触发条件
以下情况咨询 test-architecture agent:
- 创建新的功能模块
- 覆盖率下降 > 5%
- 检测到 > 3 个不稳定测试
- 遇到框架相关问题
- 需要调整测试策略
以下情况咨询 test-runner agent:
- 需要执行测试并进行分析
- 有多个失败需要诊断
- 希望获得简明的失败摘要
以下情况咨询 system-debugging agent:
- 集成测试失败且原因不明
- 环境/时序问题
- 与并发相关的不稳定测试
快速参考
小幅变更后
1. Run /test:quick
2. If pass: Continue working
3. If fail: Fix immediately
功能完成后
1. Run /test:full --coverage
2. Check coverage targets met
3. If gaps: /test:consult coverage
提交/PR 前
1. Run /test:full
2. All tiers must pass
3. Review coverage report
新功能
1. /test:consult new-feature
2. Write tests (TDD)
3. Run /test:quick during development
4. Run /test:full before PR
激活触发条件
此技能会在以下情况自动激活:
- 用户提及“test”“run tests”“testing”
- Claude 修改代码后
- TDD 工作流期间
- 调用
/test:*命令时 - 讨论测试策略时
评论
支持 Markdown