2026-04-29-21-51-19 - 全栈系统改造:FastAPI后端+SAM2+PostgreSQL+Redis+MinIO+前端Zustand重构

This commit is contained in:
2026-04-29 22:17:25 +08:00
parent c8f8686097
commit fd4b5e5b3d
39 changed files with 3816 additions and 211 deletions

View File

@@ -0,0 +1,78 @@
# 测试方案 - 2026-04-29-21-51-19
## 对应实现方案
- 实现方案文档: `实现方案-2026-04-29-21-51-19.md`
## 测试范围
- 基础设施服务可达性
- FastAPI 后端启动与 API 响应
- 前端构建与后端联调
- SAM 3 模型加载与 GPU 可用性
- 文件上传与解析流程
## 测试用例
### 用例 1: 基础设施服务验证
- **前置条件**: 执行 start_services.sh
- **操作步骤**:
1. `curl http://localhost:9000/minio/health/live` → MinIO
2. `redis-cli ping` → Redis
3. `sudo -u postgres psql -c "\\l"` → PostgreSQL
- **预期结果**: 全部返回正常响应
- **通过标准**: MinIO 200, Redis PONG, PostgreSQL 显示数据库列表
### 用例 2: Conda 环境 + GPU 验证
- **前置条件**: conda 环境已创建
- **操作步骤**:
1. `conda activate seg_server`
2. `python -c "import torch; print(torch.cuda.is_available())"`
- **预期结果**: 输出 True
- **通过标准**: PyTorch 识别到 CUDA
### 用例 3: SAM 3 权重下载验证
- **前置条件**: 运行 download_sam3.py
- **操作步骤**: 检查权重文件存在且大小合理
- **预期结果**: .pt/.pth 文件存在于 models/ 目录
- **通过标准**: 文件大小 > 100MB
### 用例 4: FastAPI 启动验证
- **前置条件**: 依赖安装完成
- **操作步骤**:
1. `cd backend && uvicorn main:app --host 0.0.0.0 --port 8000`
2. 访问 `http://localhost:8000/docs`
- **预期结果**: Swagger UI 正常显示,包含所有 API 路由
- **通过标准**: HTTP 200路由列表完整
### 用例 5: 前端构建验证
- **前置条件**: 前端代码已改造
- **操作步骤**: `npm run lint && npm run build`
- **预期结果**: 无类型错误,构建成功
- **通过标准**: exit code 0
### 用例 6: 前后端联调验证
- **前置条件**: 前后端均运行中
- **操作步骤**:
1. 前端访问 `http://localhost:3000`
2. 打开浏览器 DevTools Network 面板
3. 触发项目列表加载
- **预期结果**: 可见对 `http://localhost:8000/api/projects` 的请求,且返回 200
- **通过标准**: API 数据正确渲染到界面
### 用例 7: 文件上传验证
- **前置条件**: 媒体解析模块就绪
- **操作步骤**: 上传 @Data_MyVideo_1.mp4
- **预期结果**: 后端接收文件,存入 MinIO触发解析任务
- **通过标准**: MinIO bucket 中出现文件,返回 job_id
## 回归测试
- [ ] 现有 React 组件无运行时错误
- [ ] 深色主题样式未被破坏
- [ ] Konva Canvas 可正常交互
- [ ] 构建产物体积未异常膨胀
## 测试环境
- OS: Ubuntu 22.04
- GPU: NVIDIA RTX 4090 24GB
- CUDA: 13.2
- Python: 3.11 (conda)
- Node.js: 22.x