Files
YG_FT/测试脚本.md

354 lines
11 KiB
Markdown
Raw Normal View History

2026-08-04 17:18:50 +08:00
# YG_FT 模型微调平台测试脚本
## 环境准备
### 启动顺序
1. **数据库**:远程 PostgreSQL `www.caoxiaozhu.com:5432`(已就绪)
2. **后端**
```cmd
cd /d E:\yg_ft\backend
set COMPUTE_STATUS_SYNC_MODE=off
.\.venv\Scripts\python.exe -m uvicorn app.main:app --reload --port 17861
```
3. **算力服务**Docker
```cmd
cd /d E:\yg_ft\docker\compute
docker compose up -d
```
4. **前端**
```cmd
cd /d E:\yg_ft\frontend
npm run dev
```
### 验证服务可用性
| 服务 | 验证命令 | 期望结果 |
|------|---------|---------|
| 后端 | `curl http://localhost:17861/modelTF/health` | `{"code":0,...,"data":{"cpu_percent":x,...}}` |
| 算力 | `curl http://localhost:19100/health` | `{"status":"ok","compute_host_id":"gpu-node-01"}` |
| 前端 | 浏览器打开 `http://localhost:16801` | 跳转登录页 |
---
## 一、登录与认证
### 1.1 登录
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 打开 `http://localhost:16801` | 显示登录页,不自动登录 |
| 2 | 输入账号 `admin`,密码 `admin123`,点击登录 | 提示"登录成功",跳转看板页 |
| 3 | F12 控制台执行 `localStorage.getItem('sessionId')` | 有值(非 null |
| 4 | 浏览器 Network 查看 `/modelTF/login` 响应 | 返回 `token``user``session_id` |
### 1.2 退出登录
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击侧边栏底部"退出登录"按钮 | 跳转登录页 |
| 2 | F12 控制台执行 `localStorage.getItem('currentUser')` | 返回 null |
| 3 | 浏览器 Network 查看 `/modelTF/logout` 请求 | 状态 200 |
### 1.3 会话超时
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 登录后切到其他软件,等待 5 分钟以上 | — |
| 2 | 切回浏览器 | 提示"登录已过期",跳转登录页 |
---
## 二、看板
### 2.1 服务状态
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 登录后进入看板页 | 显示 7 个服务:模型训练/模型评测/模型推理/模型管理/数据集管理/数据处理/数据类型转换 |
| 2 | 检查每个服务状态 | 全部显示"正常" |
| 3 | 检查实例数 | 模型管理有数量、数据集管理有数量等 |
### 2.2 运行中任务
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 查看顶部"运行中任务"数字 | 显示训练+评测+数据处理中 running 状态的任务总数 |
| 2 | 无运行任务时 | 显示 0 |
### 2.3 用户操作分布
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 查看饼图 | 4 个分类(数据处理/模型训练/模型评测/模型推理)各一色 |
| 2 | 无数据时 | 4 等分(各 25% |
| 3 | 点击侧边栏"模型训练"菜单,回到看板 | 模型训练权重增加 |
| 4 | 点击"模型推理"菜单,回到看板 | 模型推理权重增加 |
| 5 | 浏览器控制台执行 `sessionStorage.clear()` 后重试 | 去重缓存清除,可再次记录 |
### 2.4 登录时长排行
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 查看柱状图 | 显示当前登录用户,时长 > 0 |
| 2 | 条形图上无文字标签 | 只在鼠标悬浮时显示 tooltip |
| 3 | Y 轴用户名清晰可读 | 字体颜色 `#1f2937`,非模糊 |
### 2.5 顶部状态栏
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 查看顶部 CPU/内存/磁盘 | 显示真实数值(非 0 |
| 2 | 等待 30 秒 | 数值自动刷新 |
---
## 三、租户管理
### 3.1 列表
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 平台治理 → 租户管理 | 显示列表(名称/用户ID/状态/创建时间) |
| 2 | 检查列名 | "编码"已改为"用户ID" |
| 3 | 检查操作列 | 有"详情"和"删除"按钮,无"配额"按钮 |
### 3.2 新建租户
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"新建租户" | 弹窗显示名称、用户ID、GPU数量、存储配额、最大项目数 |
| 2 | 填写名称"测试租户"GPU=2存储=100项目=5点击创建 | 提示"租户创建成功",列表新增一行 |
### 3.3 租户详情与配额
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"详情" | 跳转详情页,显示基本信息 + 配额 |
| 2 | 配额显示格式 | `GPU 2 | 存储 100GB | 项目 5` |
| 3 | 修改配额数字,点击"保存配额" | 提示"配额已保存" |
| 4 | 检查详情页无"项目空间"卡片 | 已移除 |
### 3.4 删除租户
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 在列表页点击"删除" | 弹出确认框 |
| 2 | 点击"确定删除" | 提示"租户已删除",列表刷新 |
---
## 四、项目空间
### 4.1 列表
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 项目空间 | 显示列表(项目名/编码ID/状态/描述/创建时间) |
| 2 | 检查列名 | "编码"已改为"编码ID" |
| 3 | 顶部有租户筛选下拉框 | 可按租户过滤 |
### 4.2 新建项目
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"新建项目" | 弹窗显示名称、编码ID下拉、描述 |
| 2 | 编码ID下拉选项 | 显示已有租户的编码 |
| 3 | 选择编码ID后提交 | 提示"项目创建成功" |
### 4.3 项目详情
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"详情" | 显示基本信息 |
| 2 | 查看成员管理区域 | 显示成员列表 + 添加成员按钮 |
| 3 | 点击"资源授权(ACL)" | 弹窗显示 ACL 编辑器 |
### 4.4 ACL 授权
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"添加授权项" | 新增一行 |
| 2 | 主体类型选"用户" | 显示用户下拉框(非文本输入) |
| 3 | 主体类型选"项目角色" | 显示角色下拉框member/admin/viewer |
| 4 | 勾选权限后保存 | 提示"ACL 已保存" |
### 4.5 删除项目
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"删除" | 确认弹窗 |
| 2 | 确认删除 | 提示"项目已删除" |
---
## 五、算力节点
### 5.1 节点列表
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 算力节点 | 显示节点列表 |
| 2 | 检查 gpu-node-01 | 状态为启用 |
### 5.2 测试连接
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击 gpu-node-01 的"测试"按钮 | 提示"连接成功,发现 X 张 GPU延迟 Xms" |
| 2 | 检查 GPU Tab | 显示 GPU 资源列表 |
### 5.3 节点启停
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"停用" | 节点状态变为停用 |
| 2 | 点击"启用" | 节点状态变为启用 |
---
## 六、用户设置
### 6.1 用户列表
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 系统设置 → 用户设置 | 显示用户列表 |
| 2 | admin 用户 | 不可停用、不可删除 |
### 6.2 创建用户
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"创建用户" | 跳转创建页 |
| 2 | 填写账号/显示名/密码/角色/权限 | 表单正常 |
| 3 | 提交 | 提示创建成功,列表新增 |
### 6.3 权限分配
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击某用户"页面权限" | 弹窗显示 12 个权限 checkbox |
| 2 | 取消某权限,保存 | 该用户侧边栏不再显示对应菜单 |
### 6.4 重置密码
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 点击"重置密码" | 弹窗显示默认密码 `Platform@123` |
| 2 | 确认 | 提示重置成功 |
---
## 七、审批管理
### 7.1 审批模板
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 审批模板 | 显示模板列表 |
| 2 | 点击新建 | 弹窗显示名称 + 步骤 JSON |
| 3 | 填写并提交 | 列表新增 |
### 7.2 审批中心
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 审批中心 | 显示实例列表 |
| 2 | 按状态筛选 | 列表过滤正常 |
| 3 | 对 pending 实例点"通过/拒绝" | 弹窗填写意见,提交后状态变更 |
---
## 八、审计日志
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 审计日志 | 显示日志列表 |
| 2 | 填写筛选条件查询 | 列表过滤 |
| 3 | 点击"导出" | 下载 CSV 文件 |
---
## 九、平台性能
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 平台性能 | 显示 CPU/内存/磁盘/GPU 卡片 |
| 2 | 数据非 0 | 与本机实际使用率一致 |
| 3 | 开启自动刷新3秒 | 趋势图实时更新 |
| 4 | 点击 GPU 卡片 | 弹出详情抽屉 |
---
## 十、查看日志
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 侧边栏 → 查看日志 | 显示系统日志 Tab |
| 2 | 选择日期和文件 | 显示日志内容 |
| 3 | 输入关键词搜索 | 高亮匹配 |
| 4 | 切换到训练日志 Tab | 显示训练日志列表 |
---
## 十一、数据流主链路
### 11.1 数据集管理
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 进入数据集管理 | 显示列表 |
| 2 | 新建数据集 | 创建成功 |
| 3 | 上传文件 | 文件上传成功 |
| 4 | 预览文件 | 显示内容 |
### 11.2 数据处理
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 进入数据处理 | 显示任务列表 |
| 2 | 创建数据处理任务 | 创建成功 |
| 3 | 启动任务 | 状态变为 running |
| 4 | 回到看板 | "运行中任务"数字 +1 |
### 11.3 模型训练
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 进入模型训练 | 显示训练任务列表 |
| 2 | 创建训练任务 | 选择数据集 + 模型 + GPU |
| 3 | 启动训练 | 状态变为 running |
| 4 | 查看训练日志 | 显示实时日志 |
| 5 | 训练完成 | 产出模型 |
### 11.4 模型评测
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 进入模型评测 | 显示评测任务列表 |
| 2 | 创建评测任务 | 选择模型 + 数据集 |
| 3 | 启动评测 | 状态变为 running |
| 4 | 评测完成 | 显示指标结果 |
### 11.5 模型推理
| 步骤 | 操作 | 预期结果 |
|------|------|---------|
| 1 | 进入模型推理 | 显示推理会话列表 |
| 2 | 创建推理任务 | 选择模型 + 加载 |
| 3 | 开始对话 | 返回模型回复 |
---
## 十二、异常场景
| 场景 | 操作 | 预期结果 |
|------|------|---------|
| 数据库断开 | 停止远程数据库连接 | 所有接口返回 500 |
| 算力服务停掉 | `docker compose down` | 算力测试返回失败 |
| 未登录访问 | 直接访问 `/dashboard` | 跳转登录页 |
| 权限不足 | 普通用户访问用户设置 | 跳转 403 页面 |
| Token 过期 | 清掉 localStorage 后刷新 | 跳转登录页 |