TraceStudio-dev/docs/web1.0/TESTING_PHASE2.md
2026-01-07 19:34:45 +08:00

314 lines
6.6 KiB
Markdown
Raw 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.

# 🧪 第二阶段功能验证指南
## 🚀 快速启动
### 1. 启动后端服务
```powershell
cd server
python main.py
```
应该看到:
```
🚀 启动 TraceStudio 服务器...
📡 访问 http://127.0.0.1:8000/docs 查看 API 文档
INFO: Started server process
INFO: Uvicorn running on http://127.0.0.1:8000
```
### 2. 启动前端服务
新开一个终端:
```powershell
cd web
npm run dev
```
应该看到:
```
VITE v7.x.x ready in xxx ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
```
### 3. 打开浏览器
访问 http://localhost:5173
---
## ✅ 功能验证清单
### 测试 1: 算子动态加载 ✅
**步骤:**
1. 打开浏览器开发者工具F12
2. 切换到 Console 标签
3. 刷新页面
**期望结果:**
- ✅ Console 显示:`✅ 成功加载 8 个算子`
- ✅ 左侧显示 8 种算子(分类折叠)
- ✅ 搜索 "CSV" 能过滤显示相关算子
**截图位置:**
- 左侧算子面板
- Console 日志
---
### 测试 2: 节点预览功能 ✅
**步骤:**
1. 从左侧拖拽 "📂 CSV 数据加载器" 到画布
2. 点击画布中的节点(节点边框高亮)
3. 右侧属性面板应显示节点信息
4. 点击 "▶ 运行预览" 按钮
**期望结果:**
- ✅ 按钮变为 "⏳ 运行中..."(禁用状态)
- ✅ 1 秒后显示数据表格
- ✅ 表格头部:`timestamp | frame_time | cpu_usage | memory_mb`
- ✅ 表格内容5 行模拟数据
- ✅ 右上角显示:`5 列 × 5 行`
- ✅ Console 显示:`✅ 预览成功: {...}`
**截图位置:**
- 右侧 Inspector 面板
- 预览表格
- Console 日志
---
### 测试 3: 执行状态反馈 ✅
**步骤:**
1. 确保画布有至少 1 个节点
2. 点击 Header 的 "▶ 运行" 按钮
**期望结果(执行开始):**
- ✅ 按钮文字变为 "⏳ 执行中..."
- ✅ 按钮背景变为橙色渐变
- ✅ 状态指示灯变为橙色(呼吸动画)
- ✅ 状态文字变为 "执行中"
- ✅ 所有连线开始橙色流动动画
- ✅ 连线宽度增加(更明显)
- ✅ 按钮禁用,无法再次点击
**期望结果(执行完成,约 1 秒后):**
- ✅ 按钮恢复蓝色渐变
- ✅ 按钮文字变为 "▶ 运行"
- ✅ 状态灯变为绿色
- ✅ 状态文字变为 "完成"
- ✅ 连线停止动画,变为绿色
- ✅ 按钮下方显示悬浮提示:`✅ 成功执行了包含 X 个节点和 Y 条连接的计算图`
- ✅ Console 显示:`✅ 执行成功: {...}`
**期望结果3 秒后):**
- ✅ 悬浮提示自动消失
- ✅ 状态灯变为灰色
- ✅ 状态文字变为 "空闲"
**截图位置:**
- Header 状态指示区
- Run 按钮及提示
- 画布连线动画
- Console 日志
---
### 测试 4: 错误处理 ✅
**步骤:**
1. 关闭后端服务Ctrl+C
2. 刷新前端页面
**期望结果:**
- ✅ 左侧显示红色错误提示框
- ✅ 提示内容:`⚠️ 连接失败` + 错误信息
- ✅ 提示底部:`请确保后端服务已启动http://127.0.0.1:8000`
- ✅ Console 显示:`❌ 无法加载算子列表: ...`
**步骤(执行错误):**
1. 重启后端服务
2. 点击 Run 按钮
3. 后端返回错误(模拟场景)
**期望结果:**
- ✅ 状态灯变为红色
- ✅ 状态文字变为 "失败"
- ✅ 显示错误提示(红色)
- ✅ Console 显示:`❌ 执行失败: ...`
**截图位置:**
- 左侧错误提示
- Header 状态灯(红色)
- 错误提示消息
---
### 测试 5: 搜索过滤 ✅
**步骤:**
1. 在左侧搜索框输入 "CSV"
2. 输入 "Filter"
3. 输入 "不存在的算子"
4. 清空搜索框
**期望结果:**
- ✅ 输入 "CSV":只显示 CSVLoader 相关
- ✅ 输入 "Filter":显示 FilterRows 和 TimeRangeFilter
- ✅ 输入不存在的:显示 `未找到包含 "xxx" 的算子`
- ✅ 清空:恢复显示所有算子
- ✅ 搜索框右侧显示 "×" 清除按钮
**截图位置:**
- 搜索框
- 过滤结果
---
### 测试 6: 响应式布局 ✅
**步骤:**
1. 点击 Header 的 📦 按钮(隐藏左侧面板)
2. 点击 ⚙️ 按钮(隐藏右侧面板)
3. 再次点击恢复
**期望结果:**
- ✅ 隐藏左侧:画布向左扩展,平滑动画
- ✅ 隐藏右侧:画布向右扩展,平滑动画
- ✅ 按钮状态高亮(蓝色边框)
- ✅ 恢复后画布自动调整
**截图位置:**
- 隐藏前
- 隐藏后
- 恢复后
---
### 测试 7: 表格渲染细节 ✅
**步骤:**
1. 拖拽 "⚙️ 行过滤器" 到画布
2. 点击节点
3. 点击 "运行预览"
**期望结果:**
- ✅ 表格头部背景色为蓝色渐变
- ✅ 列名文字为蓝色
- ✅ 数值显示两位小数16.70
- ✅ 行与行之间有分隔线
- ✅ 表格可滚动(如果数据多)
- ✅ 表格字体为 monospace
**截图位置:**
- 预览表格
---
## 🎨 视觉验证要点
### 颜色主题一致性
- **主色调**:深蓝黑(#0b1220
- **强调色**:蓝色渐变(#3b82f6 → #2563eb
- **成功色**:绿色(#22c55e
- **警告色**:橙色(#f59e0b
- **错误色**:红色(#ef4444
### 动画流畅性
- **过渡动画**0.15-0.3s ease
- **呼吸动画**2s ease-in-out infinite
- **滑动动画**0.3s ease
- **连线流动**React Flow 默认速度
### 间距一致性
- **小间距**4-8px
- **中间距**12-16px
- **大间距**20-24px
---
## 📊 性能检查
### 加载时间
- ✅ 页面首次加载:< 2s
- 算子列表加载< 500ms
- 预览请求响应< 1s
- 执行请求响应< 1s
### 内存占用
- 空画布< 100MB
- 10 个节点< 150MB
- 50 个节点< 300MB
### 动画帧率
- 连线动画> 30 FPS
- ✅ 状态灯呼吸:> 60 FPS
---
## 🐛 常见问题
### Q: 左侧显示"连接失败"
**A:** 检查后端是否启动
```powershell
curl http://127.0.0.1:8000
# 应返回 JSON 数据
```
### Q: 点击预览无反应
**A:** 打开 Console 查看错误
- 如果是网络错误:检查后端
- 如果是 CORS 错误:检查后端 CORS 配置
### Q: Run 按钮一直禁用
**A:** 确保画布有至少 1 个节点
### Q: 连线动画不流畅
**A:** 减少节点数量或关闭开发者工具
---
## 📸 截图清单
建议截图记录以下场景:
1. ✅ 算子列表加载成功
2. ✅ 预览表格显示
3. ✅ 执行中状态(橙色)
4. ✅ 执行完成状态(绿色)
5. ✅ 错误提示(红色)
6. ✅ 搜索过滤结果
7. ✅ 响应式布局(隐藏侧边栏)
---
## 🎯 下一步
完成所有测试后:
1. ✅ 记录任何发现的问题
2. ✅ 提交测试报告
3. ✅ 开始第三阶段开发
---
**验证状态**: ⏳ 待验证
**预计时间**: 15-20 分钟
**测试环境**: Windows 10/11, Chrome/Edge