interpreter-admin/TESTING_GUIDE.md
Mars Developer 51f8d95bf9 first commit
2025-06-26 11:24:11 +08:00

221 lines
5.3 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. 运行数据库脚本
```sql
-- 在 Supabase SQL 编辑器中运行
-- 1. 先运行 database/create-admin.sql
-- 2. 再运行 database/init.sql
```
#### 2. 验证数据创建
```sql
-- 检查所有表是否创建成功
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name IN ('admin_users', 'profiles', 'users', 'orders', 'interpreters', 'service_rates');
-- 检查测试数据
SELECT 'admin_users' as table_name, COUNT(*) as count FROM admin_users
UNION ALL
SELECT 'users' as table_name, COUNT(*) as count FROM users
UNION ALL
SELECT 'orders' as table_name, COUNT(*) as count FROM orders
UNION ALL
SELECT 'interpreters' as table_name, COUNT(*) as count FROM interpreters
UNION ALL
SELECT 'service_rates' as table_name, COUNT(*) as count FROM service_rates;
```
**期望结果:**
- 所有表都应该存在
- 每个表都应该有测试数据count > 0
### ✅ 第二阶段:应用启动测试
#### 1. 启动应用
```bash
# 在项目根目录执行
npm install
npm run dev
```
#### 2. 检查启动状态
- 应用应该在 `http://localhost:3000` 启动
- 控制台不应该有严重错误
- 页面应该自动跳转到登录页面
### ✅ 第三阶段:登录功能测试
#### 测试用例 1管理员登录
- **用户名**: `admin@example.com`
- **密码**: `admin123`
- **期望结果**: 成功登录并跳转到仪表板
#### 测试用例 2错误密码
- **用户名**: `admin@example.com`
- **密码**: `wrongpassword`
- **期望结果**: 显示"用户名或密码错误"
#### 测试用例 3不存在的用户
- **用户名**: `nonexistent@example.com`
- **密码**: `anypassword`
- **期望结果**: 显示"用户名或密码错误"
### ✅ 第四阶段:订单管理功能测试
#### 1. 订单列表显示
- 登录后导航到"订单管理"页面
- **期望结果**: 显示订单列表,包含测试数据
#### 2. 订单筛选功能
- 测试状态筛选:选择"待确认"、"进行中"、"已完成"
- 测试服务类型筛选:选择"同声传译"、"交替传译"、"陪同翻译"
- **期望结果**: 列表根据筛选条件正确更新
#### 3. 创建新订单
- 点击"创建订单"按钮
- 填写所有必填字段
- 点击"提交"
- **期望结果**:
- 订单成功创建
- 显示成功提示
- 订单列表更新
- 统计数据更新
#### 4. 订单详情查看
- 点击任意订单的"查看"按钮
- **期望结果**: 显示订单详细信息
#### 5. 订单状态更新
- 点击任意订单的"编辑"按钮
- 修改订单状态
- 保存更改
- **期望结果**: 状态更新成功
### ✅ 第五阶段:用户界面测试
#### 1. 响应式设计
- 在不同屏幕尺寸下测试(桌面、平板、手机)
- **期望结果**: 界面自适应不同屏幕尺寸
#### 2. 导航功能
- 测试侧边栏导航
- 测试面包屑导航
- **期望结果**: 导航正常工作
#### 3. 提示消息
- 测试成功/错误提示
- **期望结果**: 提示消息正确显示并自动消失
## 🐛 常见问题及解决方案
### 问题 1: 登录失败
**症状**: 输入正确的用户名密码后仍然无法登录
**解决方案**:
```sql
-- 检查管理员账户
SELECT * FROM admin_users WHERE username = 'admin@example.com';
-- 如果没有数据,重新运行创建脚本
-- 复制 database/create-admin.sql 内容并执行
```
### 问题 2: 订单列表为空
**症状**: 登录成功但订单列表不显示数据
**解决方案**:
```sql
-- 检查订单数据
SELECT COUNT(*) FROM orders;
-- 如果没有数据,重新运行初始化脚本
-- 复制 database/init.sql 内容并执行
```
### 问题 3: 数据库连接失败
**症状**: 控制台显示数据库连接错误
**解决方案**:
1. 检查 `.env` 文件配置
2. 确认 Supabase URL 和 API Key 正确
3. 检查网络连接
### 问题 4: 页面样式异常
**症状**: 页面布局或样式显示不正常
**解决方案**:
```bash
# 清除缓存并重新启动
rm -rf .nuxt
npm run dev
```
## 📊 性能测试
### 1. 页面加载速度
- 首页加载时间应 < 2秒
- 订单列表加载时间应 < 3秒
### 2. 数据库查询性能
```sql
-- 测试查询性能
EXPLAIN ANALYZE SELECT * FROM orders LIMIT 10;
```
### 3. 并发测试
- 多个用户同时登录
- 多个用户同时创建订单
## 🎉 测试完成确认
当所有测试通过后您的系统应该具备
- 稳定的登录认证
- 完整的订单管理功能
- 良好的用户体验
- 可靠的数据库连接
- 响应式用户界面
## 📝 测试报告模板
```
测试日期: ___________
测试人员: ___________
□ 数据库初始化 - 通过/失败
□ 应用启动 - 通过/失败
□ 登录功能 - 通过/失败
□ 订单管理 - 通过/失败
□ 用户界面 - 通过/失败
问题记录:
1. ___________
2. ___________
3. ___________
总体评估: ___________
```
## 🚀 下一步
测试完成后您可以
1. 部署到生产环境
2. 添加更多功能
3. 优化性能
4. 增强安全性
如果测试过程中遇到任何问题请参考故障排除部分或查看浏览器控制台的详细错误信息