# Task T01-003: Image + Upload 模块联测 ## 元信息 | 字段 | 值 | |------|-----| | 状态 | `todo` | | 优先级 | P0 | | 对应 Coder task | P01-005 (Image) + P01-004 (Upload) | | 分配给 | Tester AI (Coze CN) | ## 测试目标 验证「图片上传 → 缩略图生成 → 图像预处理管线(透视校正+CLAHE+笔迹去除)」完整链路。 ## 被测对象 **Coder 产出的 commit**: - P01-004: commit message 包含 `[READY_FOR_TEST]` 且 task 编号为 `P01-004` - P01-005: commit message 包含 `[READY_FOR_TEST]` 且 task 编号为 `P01-005` **Coder task 文件**: - [P01-004](P01-004.md) — Upload 模块 API - [P01-005](P01-005.md) — Image 模块处理管线 ## 测试内容 **关键路径**: - [ ] POST /upload/image 上传 JPEG 图片 → 返回 originalUrl + thumbnailUrl - [ ] 缩略图尺寸 ≤ 300x300 - [ ] 图像预处理:透视校正后图片无明显梯形畸变 - [ ] 图像预处理:CLAHE 增强后对比度有可观测提升 - [ ] 图像预处理:红色笔迹去除效果可观测(用含红笔批改的测试图) - [ ] 图像预处理:蓝色笔迹去除效果可观测(用含蓝笔批改的测试图) - [ ] 降级策略:任一步骤失败不阻塞整体(用损坏的图片测试) - [ ] error_item_images 表记录正确写入 **不应发生的**: - [ ] 预处理管线崩溃时不应返回 500(降级返回原始图片即可) - [ ] 缩略图不应丢失宽高比 ## 执行方式 ``` 1. git pull → 拉取最新代码 2. 在 Coze 沙盒中启动服务 3. 准备测试图片(含红/蓝笔批改的错题照片 + 一张损坏图) 4. 上传 → 检查 S3 → 检查预处理结果 5. 生成测试报告 ``` ## 报告格式 输出 `reports/T01-003-{日期}.json` ## 完成报告 > Tester 完成后填写。 - [ ] 测试已执行 - [ ] 报告已生成 → `reports/T01-003-{日期}.json` - [ ] Commit: `{hash}` - [ ] Commit message: `test(T01-003): {结论}` - [ ] 结论: PASS / FAIL / RETRY