项目从单体结构重构为 pnpm monorepo (shared/backend/frontend), 新增 YouTube、Instagram、Twitter/X、哔哩哔哩、微博 5 个平台适配器, 包含完整的单元测试和 E2E 测试覆盖。 - 完成 T-031~T-044: 5 个适配器实现、注册、配置和测试 - 重构前后端分离: Hono 后端 + Next.js 前端 - 151 个单元测试 + 21 个 Mock E2E + 25 个真实 E2E - 适配器基于真实 TikHub API 响应结构实现 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
136 lines
3.7 KiB
Markdown
136 lines
3.7 KiB
Markdown
---
|
||
name: writeTest
|
||
description: 从上游文档生成 tdd.md,创建覆盖所有功能的测试用例文档。
|
||
---
|
||
|
||
# Write Test Cases
|
||
|
||
> **文档定位**:tdd.md 是测试驱动开发的核心文档,基于 PRD 和功能文档生成结构化测试用例,确保所有功能点有对应的测试覆盖。
|
||
|
||
当用户调用 `/writeTest` 时,执行以下步骤:
|
||
|
||
## 1. 读取源文档
|
||
|
||
读取以下文件:
|
||
|
||
1. `doc/PRD.md` - 必须存在(功能需求和验收标准的主要来源)
|
||
2. `doc/FeatureSummary.md` - 必须存在(功能模块全貌)
|
||
3. `doc/DevelopmentPlan.md` - 必须存在(技术方案参考)
|
||
4. `doc/tasks.md` - 可选(任务粒度参考)
|
||
5. `doc/UIDesign.md` - 可选(界面交互测试参考)
|
||
|
||
如果必要文件不存在,提示用户:
|
||
> 缺少必要文档,请先确保 PRD.md、DevelopmentPlan.md 和 FeatureSummary.md 存在。
|
||
|
||
如果已存在 `doc/tdd.md`,同时读取作为参考(保持风格一致)。
|
||
|
||
## 2. 分析测试需求
|
||
|
||
从上游文档中提取以下信息:
|
||
|
||
### 2.1 功能测试点
|
||
|
||
- 从 PRD 的用户故事和验收标准提取功能测试点
|
||
- 从 FeatureSummary 的功能模块提取模块级测试点
|
||
|
||
### 2.2 边界与异常场景
|
||
|
||
- 分析各功能的边界条件
|
||
- 识别异常输入和错误处理场景
|
||
|
||
### 2.3 非功能测试点
|
||
|
||
- 从 PRD 非功能需求提取性能、安全、兼容性测试点
|
||
|
||
## 3. 生成 tdd.md
|
||
|
||
按以下结构生成文档:
|
||
|
||
```markdown
|
||
# {产品名称} - 测试用例文档 (TDD)
|
||
|
||
## 文档信息
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| 版本 | v1.0 |
|
||
| 创建日期 | {YYYY-MM-DD} |
|
||
| 来源文档 | PRD.md, FeatureSummary.md |
|
||
|
||
## 1. 测试总览
|
||
|
||
| 统计项 | 数量 |
|
||
|--------|------|
|
||
| 总用例数 | X |
|
||
| 功能测试 | X |
|
||
| 边界测试 | X |
|
||
| 异常测试 | X |
|
||
| 非功能测试 | X |
|
||
|
||
## 2. {模块名称} 测试
|
||
|
||
### 2.1 {功能名称}
|
||
|
||
| ID | 测试用例 | 前置条件 | 测试步骤 | 预期结果 | 优先级 | 关联用户故事 |
|
||
|----|----------|----------|----------|----------|--------|--------------|
|
||
| TC-001 | {用例名} | {前置条件} | {步骤} | {预期结果} | P0 | US-001 |
|
||
|
||
{重复以上结构覆盖所有模块和功能}
|
||
|
||
## N. 非功能测试
|
||
|
||
### N.1 性能测试
|
||
|
||
| ID | 测试用例 | 测试条件 | 预期指标 | 优先级 |
|
||
|----|----------|----------|----------|--------|
|
||
| TC-xxx | {用例名} | {条件} | {指标} | P0/P1 |
|
||
|
||
### N.2 安全测试
|
||
|
||
| ID | 测试用例 | 测试方法 | 预期结果 | 优先级 |
|
||
|----|----------|----------|----------|--------|
|
||
| TC-xxx | {用例名} | {方法} | {结果} | P0/P1 |
|
||
|
||
## 附录:测试覆盖矩阵
|
||
|
||
| 用户故事 | 功能测试 | 边界测试 | 异常测试 | 覆盖状态 |
|
||
|----------|----------|----------|----------|----------|
|
||
| US-001 | TC-001 | TC-xxx | TC-xxx | ✅ |
|
||
```
|
||
|
||
## 4. 保存文档
|
||
|
||
将生成的测试用例文档保存到 `doc/tdd.md`。
|
||
|
||
如果文件已存在,覆盖原文件(历史版本通过 git 追溯)。
|
||
|
||
## 5. 输出摘要
|
||
|
||
向用户展示生成摘要:
|
||
|
||
- tdd.md 文件路径
|
||
- 测试用例总数
|
||
- 各模块用例分布
|
||
- 测试覆盖率概览
|
||
- 建议的下一步操作(运行‘wt’生成开发任务文档)
|
||
|
||
---
|
||
|
||
## 注意事项
|
||
|
||
- 测试用例必须覆盖 PRD 中所有用户故事的验收标准
|
||
- 用例 ID 必须唯一(TC-001, TC-002...)
|
||
- 每个用例必须有明确的预期结果
|
||
- 优先级与对应功能优先级一致(P0 功能 → P0 测试)
|
||
- 关注边界条件和异常路径,不仅仅是正向流程
|
||
- 测试步骤要具体可执行,无歧义
|
||
|
||
## 与其他 Skill 的关系
|
||
|
||
| 场景 | 使用方式 |
|
||
|------|----------|
|
||
| 准备上游文档 | `/wp` `/wf` `/wd` `/wu` `/wt` |
|
||
| 生成测试用例(本 Skill) | `/writeTest` |
|
||
| 执行开发(含测试) | `/go` |
|
||
| 迭代后更新测试 | `/iter` 后重新运行 `/writeTest` |
|