| name | test |
| description | 通用测试工程技能。提供测试用例生成、测试执行、报告生成的完整流程指导。触发条件:用户提及"测试"、"编写测试"、"test"、"测试报告"、"生成测试用例"、"执行测试"、"测试覆盖"、"单元测试"、"集成测试"时触发。**仅用于独立的测试工程任务**(如专门编写一个测试套件、跑一轮全量测试、分析覆盖率);若是新功能开发流程中嵌套的测试编写由 `ez-dev` 触发;若是 bug 修复流程中的验证测试由 `bug_fix` 触发。 |
通用测试工程技能
完整执行流程
┌─────────────────────────────────────────────────────────────────────────────┐
│ Step 1: 分析被测代码 │
│ ├─ 动作:分析模块类型、公开接口、输入输出、依赖关系 │
│ ├─ 产出:测试点清单 │
│ └─ 参考:references/test_rules.md → "测试点识别规则" │
├─────────────────────────────────────────────────────────────────────────────┤
│ Step 2: 设计测试用例 │
│ ├─ 动作:确定测试用例、边界条件、Mock 策略 │
│ ├─ 产出:测试用例设计 │
│ └─ 参考:references/test_rules.md → "断言规则"、"Mock 规则" │
├─────────────────────────────────────────────────────────────────────────────┤
│ Step 3: 编写测试代码 │
│ ├─ 动作:按规范编写测试、fixtures、数据准备 │
│ ├─ 产出:测试文件 │
│ └─ 参考:references/test_rules.md → "测试代码规范" │
├─────────────────────────────────────────────────────────────────────────────┤
│ Step 4: 执行测试 │
│ ├─ 动作:分层执行(Unit → Integration → E2E)、失败分类 │
│ ├─ 产出:测试结果 │
│ └─ 参考:references/test_rules.md → "失败分类规则" │
├─────────────────────────────────────────────────────────────────────────────┤
│ Step 5: 生成报告 │
│ ├─ 动作:按模板生成报告、分级呈现 │
│ ├─ 产出:测试报告 │
│ └─ 参考:references/test_rules.md → "报告规则" │
└─────────────────────────────────────────────────────────────────────────────┘
Step 1: 分析被测代码
输入
动作
- 识别模块类型:工具/服务/Agent/数据处理
- 确定公开接口:函数签名、参数类型
- 分析输入输出:数据格式、业务逻辑
- 梳理依赖关系:外部服务、共享状态
产出
测试点清单:
├─ [P0] 核心业务逻辑:xxx
├─ [P1] 边界条件:xxx
├─ [P2] 异常处理:xxx
└─ [P3] 次要路径:xxx
参考规则
→ 读取 references/test_rules.md 的 "测试点识别规则"
Step 2: 设计测试用例
输入
动作
- 确定测试用例:每个测试点对应 1-N 个用例
- 识别边界条件:空值、最大值、临界值、异常输入
- 确定 Mock 策略:哪些需要 Mock、哪些用真实环境
- 制定断言:具体验证什么
产出
测试用例设计:
├─ test_case_1
│ ├─ 输入:xxx
│ ├─ 预期输出:xxx
│ ├─ 断言:assert xxx
│ └─ Mock:xxx
├─ test_case_2
│ └─ ...
参考规则
→ 读取 references/test_rules.md 的:
- "断言规则"
- "Mock 规则"
- "边界条件规则"
Step 3: 编写测试代码
输入
动作
- 创建测试文件(按
tests/{category}/test_{module}.py 结构)
- 实现 fixtures(setup/teardown)
- 编写测试函数(Given-When-Then 模式)
- 添加标记(
@pytest.mark.unit 等)
产出
- 测试文件:
tests/unit/test_xxx.py
参考规则
→ 读取 references/test_rules.md 的 "测试代码规范"
Step 4: 执行测试
输入
动作
- 分层执行:
- Unit 测试:
pytest -m unit
- Integration 测试:
pytest -m integration
- E2E 测试:
pytest -m e2e
- 失败分类:
- 代码 Bug → 标记用户关注
- 测试代码问题 → 自动修复
- 环境配置问题 → 修复配置加载
- 基础设施问题 → 检查服务状态
- 回归验证:修复后重新执行
产出
测试结果:
├─ 通过:N
├─ 失败:M
│ ├─ 代码 Bug:x(需用户关注)
│ ├─ 测试问题:y(已自动修复)
│ └─ 环境问题:z(已修复)
└─ 错误:k
参考规则
→ 读取 references/test_rules.md 的 "失败分类规则"
Step 5: 生成报告
输入
动作
- 按模板生成报告
- 分级呈现:
- 开发者报告:只需 Bug 列表
- 完整报告:所有数据
产出
测试报告:
├─ 概览:总数/通过/失败/通过率
├─ 失败分类统计
├─ 需要关注的 Bug 列表
└─ 自动修复的问题列表
参考规则
→ 读取 references/test_rules.md 的 "报告规则"
规则文件索引
| 规则 | 位置 | 用途 |
|---|
| 测试点识别规则 | references/test_rules.md | 确定测什么 |
| 断言规则 | references/test_rules.md | 怎么断言 |
| Mock 规则 | references/test_rules.md | 何时 Mock |
| 边界条件规则 | references/test_rules.md | 边界测试点 |
| 测试代码规范 | references/test_rules.md | 代码怎么写 |
| 失败分类规则 | references/test_rules.md | 失败怎么分 |
| 报告规则 | references/test_rules.md | 报告怎么写 |