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

5.3 KiB
Raw Permalink Blame History

🧪 系统测试指南

🎯 测试目标

确保您的口译服务管理系统完全正常运行,包括:

  • 登录认证功能
  • 订单管理功能
  • 数据库连接
  • 用户界面响应

📋 测试清单

第一阶段:数据库初始化测试

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: 数据库连接失败

症状: 控制台显示数据库连接错误

解决方案:

  1. 检查 .env 文件配置
  2. 确认 Supabase URL 和 API Key 正确
  3. 检查网络连接

问题 4: 页面样式异常

症状: 页面布局或样式显示不正常

解决方案:

# 清除缓存并重新启动
rm -rf .nuxt
npm run dev

📊 性能测试

1. 页面加载速度

  • 首页加载时间应 < 2秒
  • 订单列表加载时间应 < 3秒

2. 数据库查询性能

-- 测试查询性能
EXPLAIN ANALYZE SELECT * FROM orders LIMIT 10;

3. 并发测试

  • 多个用户同时登录
  • 多个用户同时创建订单

🎉 测试完成确认

当所有测试通过后,您的系统应该具备:

  • 稳定的登录认证
  • 完整的订单管理功能
  • 良好的用户体验
  • 可靠的数据库连接
  • 响应式用户界面

📝 测试报告模板

测试日期: ___________
测试人员: ___________

□ 数据库初始化 - 通过/失败
□ 应用启动 - 通过/失败
□ 登录功能 - 通过/失败
□ 订单管理 - 通过/失败
□ 用户界面 - 通过/失败

问题记录:
1. ___________
2. ___________
3. ___________

总体评估: ___________

🚀 下一步

测试完成后,您可以:

  1. 部署到生产环境
  2. 添加更多功能
  3. 优化性能
  4. 增强安全性

如果测试过程中遇到任何问题,请参考故障排除部分或查看浏览器控制台的详细错误信息。