devbooks-test-reviewer:以 Test Reviewer 角色评审 tests/ 测试质量(覆盖、边界、可读性、可维护性),只输出评审意见,不修改代码。用户说“测试评审/评审测试质量/覆盖率/边界条件”等时使用。
Install with Tessl CLI
npx tessl i github:Darkbluelr/dev-playbooks-cn --skill devbooks-test-reviewerOverall
score
17%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
目标:明确本 Skill 的核心产出与使用范围。 输入:用户目标、现有文档、变更包上下文或项目路径。 输出:可执行产物、下一步指引或记录路径。 边界:不替代其他角色职责,不触碰 tests/。 证据:引用产出物路径或执行记录。
适用:需要细化策略、边界或风险提示时补充。
适用:需要与外部系统或可选工具协同时补充。
执行前必须按以下顺序查找配置(找到后停止):
.devbooks/config.yaml(如存在)→ 解析并使用其中的映射dev-playbooks/project.md(如存在)→ Dev-Playbooks 协议,使用默认映射project.md(如存在)→ template 协议,使用默认映射test-reviewer 是 DevBooks Apply 阶段的专门测试评审角色,与 reviewer(代码评审)互补。
| 维度 | test-reviewer | reviewer |
|---|---|---|
| 评审对象 | tests/(测试代码) | src/(实现代码) |
| 覆盖率评估 | ✅ | ❌ |
| 边界条件检查 | ✅ | ❌ |
| 测试可读性 | ✅ | ❌ |
| 测试可维护性 | ✅ | ❌ |
| 规格一致性 | ✅(与 verification.md 对比) | ❌ |
| 逻辑/风格/依赖 | ❌ | ✅ |
| 修改代码权限 | ❌ | ❌ |
src/ 目录下的实现代码tests/**, __tests__/**, *.test.*, *.spec.*verification.md 检查测试是否覆盖所有 AC核心理念:Test Reviewer 关注的是"测试写得好不好",而非"测试跑过没有"
禁止:
允许:
| 覆盖状态 | 定义 | 判断依据 |
|---|---|---|
| ✅ 已覆盖 | 存在对应 AC 的测试用例 | 测试文件中有对应的 test/it block |
| ⚠️ 部分覆盖 | 测试存在但场景不完整 | 缺少边界条件、错误路径等 |
| ❌ 缺失 | 没有对应测试用例 | 找不到对应的测试代码 |
禁止将以下状态纳入覆盖率判断:
verification.md 的 VT-ID 对应<change-root>/<change-id>/verification.md,了解测试计划# Test Review Report: <change-id>
## 概览
- 评审日期:YYYY-MM-DD
- 评审范围:`tests/feature-x/`
- 测试文件数:N
- 问题总数:N(Critical: N, Major: N, Minor: N)
## 覆盖率分析
> **注意**:覆盖状态基于测试代码存在性判断,与测试运行结果(Pass/Fail/Skip)无关。
| AC-ID | 测试文件 | 覆盖状态 | 备注 |
|-------|----------|----------|------|
| AC-001 | test-a.ts | ✅ 已覆盖 | 测试用例存在 |
| AC-002 | - | ❌ 缺失 | 无对应测试代码 |
| AC-003 | test-b.ts | ⚠️ 部分覆盖 | 测试存在但缺少边界条件 |
## 问题清单
### Critical (必须修复)
1. **[C-001]** `test-a.ts:42` - 测试依赖外部服务,无 mock
- 建议:添加 mock,确保测试独立
### Major (建议修复)
1. **[M-001]** `test-b.ts` - 缺少错误路径测试
- 建议:添加 `expect(...).toThrow()` 测试
### Minor (可选修复)
1. **[m-001]** `test-c.ts:15` - 测试命名不清晰
- 建议:`it('should do X')` 改为 `it('should return Y when given X')`
## 建议
1. [建议1]
2. [建议2]
## 评审结论
**结论**:[APPROVED / REVISE REQUIRED]
**判定依据**:
- Critical 问题数:N
- Major 问题数:N
- AC 覆盖率:N/M
---
*此报告由 devbooks-test-reviewer 生成*评审完成后,必须给出明确的结论:
| 结论 | 条件 | 含义 |
|---|---|---|
| ✅ APPROVED | Critical=0 且 Major≤2 且 AC覆盖率≥90% | 测试质量达标,可继续下一步 |
| ⚠️ APPROVED WITH COMMENTS | Critical=0 且 Major≤5 且 AC覆盖率≥80% | 可继续但建议后续改进 |
| 🔄 REVISE REQUIRED | Critical>0 或 Major>5 或 AC覆盖率<80% | 需 Test Owner 修改后重新评审 |
禁止行为:
| 场景 | 交互方 | 动作 |
|---|---|---|
| 发现测试缺失 | Test Owner | 提出建议,由 Test Owner 补充测试 |
| 发现测试与规格不一致 | Test Owner | 提出问题,确认是规格问题还是测试问题 |
| 发现实现问题(通过测试) | Reviewer | 通知 Reviewer 关注,不直接评审实现 |
| 字段 | 值 |
|---|---|
| Skill 名称 | devbooks-test-reviewer |
| 阶段 | Apply |
| 产物 | 评审报告(不写入变更包) |
| 约束 | CON-ROLE-001~005 |
本 Skill 在执行前自动检测上下文,选择合适的评审范围。
检测规则参考:skills/_shared/上下文检测模板.md
verification.md 是否存在| 模式 | 触发条件 | 行为 |
|---|---|---|
| 完整评审 | 新变更包首次评审 | 评审所有测试文件 |
| 增量评审 | 已有评审报告 | 只评审新增/修改的测试 |
| 覆盖率检查 | 带 --coverage 参数 | 只检查 AC 覆盖情况 |
检测结果:
- verification.md:存在
- 测试文件变更:5 个
- AC 覆盖状态:8/10
- 运行模式:增量评审If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.