CLAUDE.md: - 新增「文档管理」章节,明确文档分类和更新策略 - 核心原则:不创建需要手工同步的文档 删除过时文档: - PROJECT_STRUCTURE.md(代码即结构) - docs_index.md(直接浏览目录) 归档历史设计文档: - PRD/TECHSPEC/IXSPEC 移入 docs/archive/ 统一应用名称: - 所有文档中 "Live Photo Maker" → "Live Photo Studio" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
297 lines
6.3 KiB
Markdown
297 lines
6.3 KiB
Markdown
# Live Photo Studio 测试文档
|
||
|
||
## 测试矩阵
|
||
|
||
### 设备覆盖
|
||
|
||
| 设备类型 | 系统版本 | 测试优先级 |
|
||
|---------|---------|-----------|
|
||
| iPhone (任意机型) | iOS 18+ | P0 |
|
||
| iPhone (任意机型) | iOS 17.x | P0 |
|
||
| iPhone (任意机型) | iOS 16.x | P1 |
|
||
| iPad (任意机型) | iPadOS 18+ | P1 |
|
||
| iPad (任意机型) | iPadOS 17.x | P1 |
|
||
|
||
### 素材覆盖
|
||
|
||
| 素材类型 | 编码 | 帧率 | 方向 | HDR | 测试优先级 |
|
||
|---------|------|------|------|-----|-----------|
|
||
| 标准视频 | H.264 | 30fps | 竖屏 | SDR | P0 |
|
||
| 标准视频 | H.264 | 60fps | 竖屏 | SDR | P0 |
|
||
| HEVC 视频 | HEVC | 30fps | 竖屏 | SDR | P0 |
|
||
| HEVC 视频 | HEVC | 60fps | 竖屏 | SDR | P1 |
|
||
| 横屏视频 | H.264 | 30fps | 横屏 | SDR | P1 |
|
||
| HDR 视频 | HEVC | 30fps | 竖屏 | HDR | P1 |
|
||
| 4K 视频 | H.264/HEVC | 30fps | 竖屏 | SDR | P2 |
|
||
|
||
---
|
||
|
||
## 测试用例
|
||
|
||
### TC001: 基础导入流程
|
||
|
||
**前置条件**: 相册中有可用视频
|
||
|
||
**步骤**:
|
||
1. 打开 App,进入首页
|
||
2. 点击「选择视频」按钮
|
||
3. 从相册选择一个 2-5 秒的视频
|
||
4. 等待视频加载完成
|
||
|
||
**预期结果**:
|
||
- 视频加载成功,跳转到编辑页
|
||
- 编辑页显示视频预览
|
||
- 时长滑块显示正确的时间范围
|
||
|
||
**优先级**: P0
|
||
|
||
---
|
||
|
||
### TC002: 编辑页参数调整
|
||
|
||
**前置条件**: 已导入视频,处于编辑页
|
||
|
||
**步骤**:
|
||
1. 调整时长滑块,选择 1-1.5 秒区间
|
||
2. 切换不同的比例模板(锁屏/全屏/4:3)
|
||
3. 使用双指手势缩放和拖动预览区域
|
||
4. 开启/关闭兼容模式
|
||
|
||
**预期结果**:
|
||
- 时长滑块可正常拖动,显示选中时长
|
||
- 切换比例后预览区域实时更新
|
||
- 手势操作流畅,裁剪区域可调整
|
||
- 兼容模式开关状态正确显示
|
||
|
||
**优先级**: P0
|
||
|
||
---
|
||
|
||
### TC003: 生成 Live Photo
|
||
|
||
**前置条件**: 已完成编辑参数设置
|
||
|
||
**步骤**:
|
||
1. 点击「生成 Live Photo」按钮
|
||
2. 观察进度页面的阶段变化
|
||
3. 等待生成完成
|
||
|
||
**预期结果**:
|
||
- 显示进度条和阶段文案
|
||
- 阶段依次为:normalize → extractKeyFrame → writePhotoMetadata → writeVideoMetadata → saveToAlbum → validate
|
||
- 生成成功后跳转到结果页
|
||
- 结果页显示「Live Photo 已保存」
|
||
|
||
**优先级**: P0
|
||
|
||
---
|
||
|
||
### TC004: 相册验证
|
||
|
||
**前置条件**: Live Photo 已生成并保存
|
||
|
||
**步骤**:
|
||
1. 打开系统「照片」App
|
||
2. 找到刚保存的照片
|
||
3. 查看照片详情,确认有 LIVE 标识
|
||
4. 长按照片,触发动画播放
|
||
|
||
**预期结果**:
|
||
- 照片左上角显示「LIVE」标识
|
||
- 长按可播放动画效果
|
||
- 动画时长约 0.9 秒
|
||
|
||
**优先级**: P0
|
||
|
||
---
|
||
|
||
### TC005: 设置为壁纸(iOS 17+)
|
||
|
||
**前置条件**: Live Photo 已保存,设备为 iOS 17+
|
||
|
||
**步骤**:
|
||
1. 在结果页点击「查看壁纸设置指南」
|
||
2. 按引导打开照片 App
|
||
3. 选择 Live Photo → 分享 → 用作壁纸
|
||
4. 确认 Live Photo 图标已开启(高亮)
|
||
5. 完成设置,锁屏长按测试
|
||
|
||
**预期结果**:
|
||
- 引导页正确显示 iOS 17+ 的步骤
|
||
- 壁纸设置成功
|
||
- 锁屏长按可触发动画
|
||
|
||
**优先级**: P0
|
||
|
||
---
|
||
|
||
### TC006: 兼容模式测试
|
||
|
||
**前置条件**: 有 4K/HDR/HEVC 视频素材
|
||
|
||
**步骤**:
|
||
1. 导入高规格视频
|
||
2. 查看自动诊断建议
|
||
3. 开启兼容模式
|
||
4. 生成 Live Photo
|
||
|
||
**预期结果**:
|
||
- 显示「建议开启兼容模式」提示
|
||
- 兼容模式下参数自动调整为 720p/30fps/H.264/SDR
|
||
- 生成成功,文件体积较小
|
||
|
||
**优先级**: P1
|
||
|
||
---
|
||
|
||
### TC007: 取消生成
|
||
|
||
**前置条件**: 正在生成 Live Photo
|
||
|
||
**步骤**:
|
||
1. 在进度页点击「取消」按钮
|
||
2. 确认取消操作
|
||
|
||
**预期结果**:
|
||
- 生成任务立即停止
|
||
- 返回编辑页或首页
|
||
- 缓存目录中的临时文件已清理
|
||
|
||
**优先级**: P1
|
||
|
||
---
|
||
|
||
### TC008: 最近作品
|
||
|
||
**前置条件**: 已成功生成至少一个 Live Photo
|
||
|
||
**步骤**:
|
||
1. 返回首页
|
||
2. 查看「最近作品」区域
|
||
3. 点击最近作品卡片
|
||
|
||
**预期结果**:
|
||
- 显示最近生成的作品缩略图
|
||
- 显示比例和时间信息
|
||
- 点击可进入壁纸引导页
|
||
|
||
**优先级**: P1
|
||
|
||
---
|
||
|
||
### TC009: 设置页功能
|
||
|
||
**前置条件**: 无
|
||
|
||
**步骤**:
|
||
1. 点击首页右上角设置图标
|
||
2. 查看权限状态
|
||
3. 点击「清理缓存」
|
||
4. 点击「导出诊断报告」
|
||
|
||
**预期结果**:
|
||
- 权限状态正确显示(已授权/未授权)
|
||
- 缓存清理后显示「0 KB」
|
||
- 诊断报告生成并弹出分享面板
|
||
|
||
**优先级**: P2
|
||
|
||
---
|
||
|
||
### TC010: iOS 16 系统限制提示
|
||
|
||
**前置条件**: 设备为 iOS 16
|
||
|
||
**步骤**:
|
||
1. 完成 Live Photo 生成
|
||
2. 进入壁纸引导页
|
||
|
||
**预期结果**:
|
||
- 显示「iOS 17+ 才支持锁屏动态效果」警告
|
||
- 引导步骤说明 iOS 16 的限制
|
||
- FAQ 包含相关问题解答
|
||
|
||
**优先级**: P1
|
||
|
||
---
|
||
|
||
### TC011: AI 超分辨率增强
|
||
|
||
**前置条件**: 设备支持 AI 增强(iOS 17+,≥4GB RAM)
|
||
|
||
**步骤**:
|
||
1. 导入视频,进入编辑页
|
||
2. 开启「AI 超分辨率」开关
|
||
3. 确认显示「分辨率提升约 2 倍」等信息
|
||
4. 点击生成 Live Photo
|
||
5. 观察进度页显示「AI 增强封面」阶段
|
||
|
||
**预期结果**:
|
||
- AI 增强阶段耗时约 2-3 秒
|
||
- 生成成功,封面图分辨率提升
|
||
- 无崩溃或异常
|
||
|
||
**优先级**: P1
|
||
|
||
---
|
||
|
||
### TC012: AI 增强不可用设备
|
||
|
||
**前置条件**: 设备不支持 AI 增强(iOS 16 或 <4GB RAM)
|
||
|
||
**步骤**:
|
||
1. 进入编辑页
|
||
2. 查看 AI 超分辨率区域
|
||
|
||
**预期结果**:
|
||
- 开关置灰不可点击
|
||
- 显示「当前设备不支持 AI 增强」提示
|
||
|
||
**优先级**: P2
|
||
|
||
---
|
||
|
||
## 异常场景
|
||
|
||
### TC013: 权限被拒绝
|
||
|
||
**步骤**: 在系统设置中拒绝相册权限后尝试保存
|
||
|
||
**预期结果**: 显示错误提示,引导用户前往设置授权
|
||
|
||
---
|
||
|
||
### TC014: 视频时长不足
|
||
|
||
**步骤**: 导入时长小于 0.5 秒的视频
|
||
|
||
**预期结果**: 显示「视频时长不足」错误提示
|
||
|
||
---
|
||
|
||
### TC015: 磁盘空间不足
|
||
|
||
**步骤**: 在磁盘空间极低时尝试生成
|
||
|
||
**预期结果**: 显示存储空间不足错误,建议清理缓存
|
||
|
||
---
|
||
|
||
## 验收标准
|
||
|
||
- [ ] P0 用例全部通过(TC001-TC005)
|
||
- [ ] P1 用例通过率 ≥ 90%(TC006-TC011)
|
||
- [ ] 无崩溃
|
||
- [ ] 生成成功率 ≥ 95%(标准素材)
|
||
- [ ] 相册识别率 100%
|
||
- [ ] AI 增强成功率 ≥ 90%(支持设备)
|
||
|
||
## 测试用例统计
|
||
|
||
| 优先级 | 用例数 | 说明 |
|
||
|--------|--------|------|
|
||
| P0 | 5 | TC001-TC005,核心流程 |
|
||
| P1 | 6 | TC006-TC011,进阶功能 |
|
||
| P2 | 4 | TC012, TC013-TC015,边界场景 |
|
||
| **总计** | **15** | |
|