通知系统测试场景
📋 测试概述
本文档列出了统一错误处理和通知系统的完整测试场景,用于验证各种情况下的表现。
✅ 成功场景测试
1. 创建知识库成功
操作步骤:
- 点击"创建知识库"按钮
- 填写表单(名称、描述等)
- 点击"创建"
预期结果:
- ✅ 显示成功通知:"创建成功 - 知识库「XXX」已创建"
- ✅ 通知从右侧滑入,绿色背景
- ✅ 3秒后自动关闭(带进度条)
- ✅ 创建模态框自动关闭
- ✅ 知识库列表自动刷新
- ✅ 新创建的知识库出现在列表中
验证点:
- 通知UI正确显示
- 通知自动关闭
- 模态框关闭
- 列表刷新
2. 上传文件成功
操作步骤:
- 打开知识库详情
- 拖放或选择文件上传
- 等待上传完成
预期结果:
- ✅ 显示成功通知:"上传成功 - 文件「XXX.pdf」已上传并处理"
- ✅ 通知显示文件名称
- ✅ 知识库详情自动刷新
- ✅ 文件信息更新(页数、字符数等)
验证点:
- 通知包含文件名
- 详情页刷新
- 文件信息更新
3. URL导入成功
操作步骤:
- 打开知识库详情
- 在URL导入区域输入网页URL或YouTube链接
- 点击"导入"
预期结果:
- ✅ 显示成功通知:"导入成功 - 已成功导入:XXX"
- ✅ 显示导入的标题或URL
- ✅ 知识库详情刷新
- ✅ 显示导入的内容统计
验证点:
- 通知显示导入信息
- 详情页刷新
- 内容统计更新
4. 批量上传成功
操作步骤:
- 打开知识库详情
- 选择多个文件(支持格式)
- 拖放或选择上传
预期结果:
- ✅ 显示批量上传进度模态框
- ✅ 每个文件显示上传状态
- ✅ 全部完成后显示汇总通知:"批量上传完成:X个成功,Y个处理中,Z个失败"
- ✅ 知识库列表刷新
验证点:
- 进度模态框显示
- 文件状态更新
- 汇总通知显示
❌ 错误场景测试
1. 网络错误
模拟方法:
- 断开网络连接
- 或使用浏览器开发者工具模拟网络错误
操作步骤:
- 断开网络
- 尝试创建知识库
预期结果:
- ✅ 显示错误通知:"网络错误 - 网络连接失败,请检查网络设置"
- ✅ 红色背景,AlertCircle图标
- ✅ 6秒后自动关闭(错误消息显示更久)
- ✅ 可以手动关闭
验证点:
- 错误消息友好
- 显示时长正确
- 可以手动关闭
2. 验证错误(400)
模拟方法:
- 提交无效数据(如空名称)
操作步骤:
- 创建知识库时,名称为空
- 点击创建
预期结果:
- ✅ 显示错误通知:"请求错误 - [后端返回的具体验证错误]"
- ✅ 自动提取FastAPI的detail字段
- ✅ 显示具体的验证错误信息
验证点:
- 错误消息准确
- 提取后端错误信息
3. 认证错误(401)
模拟方法:
- Token过期
- 或手动删除Token
操作步骤:
- 删除localStorage中的token
- 尝试操作
预期结果:
- ✅ 显示错误通知:"认证失败 - 登录已过期,请重新登录"
- ✅ 可能触发自动Token刷新
- ✅ 如果刷新失败,跳转到登录页
验证点:
- 错误消息友好
- Token刷新机制
- 自动跳转登录
4. 权限错误(403)
模拟方法:
- 使用无权限的Token
操作步骤:
- 使用无权限账户
- 尝试删除知识库
预期结果:
- ✅ 显示错误通知:"权限不足 - 没有权限执行此操作"
- ✅ 操作被阻止
验证点:
- 错误消息准确
- 操作被阻止
5. 服务器错误(500)
模拟方法:
- 后端返回500错误
操作步骤:
- 触发服务器错误
预期结果:
- ✅ 显示错误通知:"服务器错误 - 服务器错误,请稍后重试"
- ✅ 提供重试按钮(如果支持)
验证点:
- 错误消息友好
- 重试功能(如果实现)
6. 文件格式错误
操作步骤:
- 选择不支持的文件格式
- 尝试上传
预期结果:
- ✅ 显示警告通知:"文件格式不支持 - 请选择 PDF, TXT, MD, PPT, Excel, DOCX, HTML 格式的文件"
- ✅ 黄色背景,AlertTriangle图标
- ✅ 4秒后自动关闭
验证点:
- 警告消息清晰
- 列出支持的格式
7. 批量上传部分失败
操作步骤:
- 选择多个文件(部分格式不支持)
- 批量上传
预期结果:
- ✅ 显示警告通知:"文件格式不支持"
- ✅ 只上传有效文件
- ✅ 显示上传结果汇总
验证点:
- 部分文件处理
- 汇总信息准确
🔄 重试场景测试
1. 带重试的操作
操作步骤:
- 触发一个可能失败的操作(如上传大文件)
- 如果失败,点击"重试"按钮
预期结果:
- ✅ 错误通知显示"重试"按钮
- ✅ 点击重试后重新执行操作
- ✅ 重试成功显示成功通知
- ✅ 重试失败显示新的错误通知(减少重试次数)
验证点:
- 重试按钮显示
- 重试功能正常
- 重试次数限制
🎨 UI/UX 测试
1. 通知显示
测试点:
- 通知从右侧滑入
- 动画流畅
- 不同类型的通知有不同的颜色和图标
- 通知位置正确(右上角)
- 多个通知垂直排列
2. 通知关闭
测试点:
- 自动关闭(带进度条)
- 手动关闭(点击X按钮)
- 点击通知内容不关闭
- 关闭动画流畅
3. 通知队列
测试点:
- 最多显示50条通知
- 相同通知5秒内不重复
- 高优先级通知优先显示
- 通知按时间顺序排列
4. 通知样式
测试点:
- 成功通知:绿色背景,CheckCircle图标
- 错误通知:红色背景,AlertCircle图标
- 警告通知:黄色背景,AlertTriangle图标
- 信息通知:蓝色背景,Info图标
📊 性能测试
1. 大量通知
测试步骤:
- 快速触发多个操作(成功/失败)
- 观察通知队列表现
预期结果:
- ✅ 通知队列正常工作
- ✅ 不会造成性能问题
- ✅ UI响应流畅
2. 长时间运行
测试步骤:
- 长时间使用应用
- 观察通知系统表现
预期结果:
- ✅ 通知队列不会无限增长
- ✅ 内存使用正常
- ✅ 没有内存泄漏
🧪 边界情况测试
1. 空错误消息
测试步骤:
- 触发一个返回空错误消息的错误
预期结果:
- ✅ 显示默认错误消息:"操作失败"
- ✅ 不会显示空白通知
2. 超长错误消息
测试步骤:
- 触发一个返回超长错误消息的错误
预期结果:
- ✅ 错误消息正确显示
- ✅ 通知UI不会破坏
- ✅ 可以滚动查看(如果需要)
3. 特殊字符
测试步骤:
- 错误消息包含特殊字符(HTML、脚本等)
预期结果:
- ✅ 特殊字符正确转义
- ✅ 不会造成XSS攻击
- ✅ 显示正常
📝 测试检查清单
功能测试
- 成功通知显示
- 错误通知显示
- 警告通知显示
- 信息通知显示
- 通知自动关闭
- 通知手动关闭
- 重试功能
- 操作按钮
UI测试
- 通知样式正确
- 动画流畅
- 响应式设计
- 多通知排列
错误处理测试
- 网络错误
- 验证错误
- 认证错误
- 权限错误
- 服务器错误
- 文件格式错误
性能测试
- 大量通知
- 长时间运行
- 内存使用
边界测试
- 空错误消息
- 超长错误消息
- 特殊字符
🎯 测试结果记录
测试日期: ___________
测试人员: ___________
| 测试场景 | 状态 | 备注 |
|---|---|---|
| 创建知识库成功 | ⬜ | |
| 上传文件成功 | ⬜ | |
| URL导入成功 | ⬜ | |
| 批量上传成功 | ⬜ | |
| 网络错误 | ⬜ | |
| 验证错误 | ⬜ | |
| 认证错误 | ⬜ | |
| 权限错误 | ⬜ | |
| 服务器错误 | ⬜ | |
| 文件格式错误 | ⬜ | |
| 重试功能 | ⬜ | |
| UI显示 | ⬜ | |
| 通知队列 | ⬜ | |
| 性能测试 | ⬜ |
🔧 已知问题
待修复
- 问题1:描述
- 问题2:描述
待优化
- 优化1:描述
- 优化2:描述
📈 测试总结
通过率: ___%
主要问题:
1. 2.
建议改进:
1. 2.