2026-04-29-21-51-19 - 全栈系统改造:FastAPI后端+SAM2+PostgreSQL+Redis+MinIO+前端Zustand重构
This commit is contained in:
78
工程分析/测试方案-2026-04-29-21-51-19.md
Normal file
78
工程分析/测试方案-2026-04-29-21-51-19.md
Normal 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
|
||||
Reference in New Issue
Block a user