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