Files
Pre_Seg_Server/工程分析/测试方案-2026-04-29-21-51-19.md

79 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试方案 - 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