221 lines
5.3 KiB
Markdown
221 lines
5.3 KiB
Markdown
# 🧪 系统测试指南
|
||
|
||
## 🎯 测试目标
|
||
|
||
确保您的口译服务管理系统完全正常运行,包括:
|
||
- 登录认证功能
|
||
- 订单管理功能
|
||
- 数据库连接
|
||
- 用户界面响应
|
||
|
||
## 📋 测试清单
|
||
|
||
### ✅ 第一阶段:数据库初始化测试
|
||
|
||
#### 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. 增强安全性
|
||
|
||
如果测试过程中遇到任何问题,请参考故障排除部分或查看浏览器控制台的详细错误信息。 |