# 测试方案 - 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