5.3 KiB
5.3 KiB
🧪 系统测试指南
🎯 测试目标
确保您的口译服务管理系统完全正常运行,包括:
- 登录认证功能
- 订单管理功能
- 数据库连接
- 用户界面响应
📋 测试清单
✅ 第一阶段:数据库初始化测试
1. 运行数据库脚本
-- 在 Supabase SQL 编辑器中运行
-- 1. 先运行 database/create-admin.sql
-- 2. 再运行 database/init.sql
2. 验证数据创建
-- 检查所有表是否创建成功
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. 启动应用
# 在项目根目录执行
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: 登录失败
症状: 输入正确的用户名密码后仍然无法登录
解决方案:
-- 检查管理员账户
SELECT * FROM admin_users WHERE username = 'admin@example.com';
-- 如果没有数据,重新运行创建脚本
-- 复制 database/create-admin.sql 内容并执行
问题 2: 订单列表为空
症状: 登录成功但订单列表不显示数据
解决方案:
-- 检查订单数据
SELECT COUNT(*) FROM orders;
-- 如果没有数据,重新运行初始化脚本
-- 复制 database/init.sql 内容并执行
问题 3: 数据库连接失败
症状: 控制台显示数据库连接错误
解决方案:
- 检查
.env
文件配置 - 确认 Supabase URL 和 API Key 正确
- 检查网络连接
问题 4: 页面样式异常
症状: 页面布局或样式显示不正常
解决方案:
# 清除缓存并重新启动
rm -rf .nuxt
npm run dev
📊 性能测试
1. 页面加载速度
- 首页加载时间应 < 2秒
- 订单列表加载时间应 < 3秒
2. 数据库查询性能
-- 测试查询性能
EXPLAIN ANALYZE SELECT * FROM orders LIMIT 10;
3. 并发测试
- 多个用户同时登录
- 多个用户同时创建订单
🎉 测试完成确认
当所有测试通过后,您的系统应该具备:
- ✅ 稳定的登录认证
- ✅ 完整的订单管理功能
- ✅ 良好的用户体验
- ✅ 可靠的数据库连接
- ✅ 响应式用户界面
📝 测试报告模板
测试日期: ___________
测试人员: ___________
□ 数据库初始化 - 通过/失败
□ 应用启动 - 通过/失败
□ 登录功能 - 通过/失败
□ 订单管理 - 通过/失败
□ 用户界面 - 通过/失败
问题记录:
1. ___________
2. ___________
3. ___________
总体评估: ___________
🚀 下一步
测试完成后,您可以:
- 部署到生产环境
- 添加更多功能
- 优化性能
- 增强安全性
如果测试过程中遇到任何问题,请参考故障排除部分或查看浏览器控制台的详细错误信息。