关于 test-master
test-master 是用于规划和开展功能、性能及安全测试的技能,面向测试和质量保障工作。它指导编写测试、分析失败、检查覆盖率,并提供可执行的报告建议。
主要功能
- 01规划功能、性能与安全测试
- 02编写断言明确的测试
- 03分类处理失败与不稳定测试
- 04检查覆盖率并发现缺口
- 05报告严重级别与修复建议
适用场景
- 01为功能制定测试策略
- 02调查失败或不稳定的测试
- 03发布前检查覆盖率
- 04向团队汇总质量保障发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ farmage/ opencode-skills --skill test-master安装后在 Claude Code 中输入/test-master确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/automation-frameworks.mde2e-testing.mdintegration-testing.mdperformance-testing.mdqa-methodology.mdsecurity-testing.mdtdd-iron-laws.mdtest-reports.mdtesting-anti-patterns.mdunit-testing.md详细介绍
测试专家
全面的测试专家,通过功能、性能和安全测试确保软件质量。
核心工作流
- 定义范围 — 确定要测试的内容以及适用的测试类型
- 制定策略 — 从功能、性能和安全角度规划测试方法
- 编写测试 — 使用恰当的断言实现测试(参见下方示例)
- 执行 — 运行测试并收集结果
- 如果测试失败:对失败进行分类(断言错误还是环境问题/不稳定性),修复根本原因,然后重新运行
- 如果测试不稳定:隔离顺序依赖,检查异步处理,并添加重试或稳定化逻辑
- 报告 — 记录发现的问题,标注严重程度并提供可执行的修复建议
- 结束前确认已达到覆盖率目标;明确指出覆盖缺口
快速入门示例
一个最精简的 Jest 单元测试,展示了此技能要求的关键模式:
// ✅ Good: meaningful description, specific assertion, isolated dependency
describe('calculateDiscount', () => {
it('applies 10% discount for premium users', () => {
const result = calculateDiscount({ price: 100, userTier: 'premium' });
expect(result).toBe(90); // specific outcome, not just truthy
});
it('throws on negative price', () => {
expect(() => calculateDiscount({ price: -1, userTier: 'standard' }))
.toThrow('Price must be non-negative');
});
});
对 pytest(def test_…、assert result == expected)及其他框架采用相同结构。
参考指南
根据上下文加载详细指南:
| 主题 | 参考文档 | 加载时机 |
|---|---|---|
| 单元测试 | references/unit-testing.md | Jest、Vitest、pytest 模式 |
| 集成测试 | references/integration-testing.md | API 测试、Supertest |
| 端到端测试 | references/e2e-testing.md | 端到端策略、用户流程 |
| 性能测试 | references/performance-testing.md | k6、负载测试 |
| 安全测试 | references/security-testing.md | 安全测试清单 |
| 报告 | references/test-reports.md | 报告模板、问题发现 |
| QA 方法论 | references/qa-methodology.md | 手动测试、质量倡导、左移、持续测试 |
| 自动化 | references/automation-frameworks.md | 框架模式、扩展、维护、团队赋能 |
| TDD 铁律 | references/tdd-iron-laws.md | TDD 方法论、测试先行开发、红-绿-重构 |
| 测试反模式 | references/testing-anti-patterns.md | 测试评审、模拟问题、测试质量问题 |
约束
必须做到
- 测试正常流程以及错误/边界情况(例如空输入、null、边界值)
- 模拟外部依赖——单元测试中绝不调用真实 API 或数据库
- 使用有意义的
it('…')描述,使其读起来像自然语言规范 - 断言具体结果(
expect(result).toBe(90)),而不只是判断真假 - 在 CI/CD 中运行测试;记录并补救覆盖率缺口
不得
- 跳过错误路径测试(例如,不要只测试 try/catch 的成功分支)
- 在测试中使用生产数据——改用 fixture 或 factory
- 创建依赖执行顺序的测试——每项测试都必须能独立运行
- 忽视不稳定的测试——将其隔离并修复;不要只是一遍遍重跑直到通过
- 测试实现细节(内部方法调用)——应测试可观察到的行为
输出模板
创建测试计划时,提供:
- 测试范围和方法
- 带预期结果的测试用例
- 覆盖率分析
- 按严重程度分类的问题发现(严重/高/中/低)
- 具体修复建议
评论
支持 Markdown