# UAT 测试文档 ## 概述 UAT (User Acceptance Testing) 测试是用户验收测试,用于验证系统是否满足业务需求和用户期望。UAT测试从最终用户的角度出发,模拟真实用户的使用场景。 ## 测试框架 UAT测试基于 Playwright 框架,采用 BDD (Behavior-Driven Development) 风格,使用 Given-When-Then 结构描述测试步骤。 ### 核心文件 - `uat-base.ts`: UAT测试基础框架,包含测试夹具、测试步骤和断言工具 - `uat-001-auth.spec.ts`: 用户认证相关测试 - `uat-002-user-management.spec.ts`: 用户管理功能测试 - `uat-003-almanac.spec.ts`: 黄历查询功能测试 - `uat-004-fortune.spec.ts`: 运势分析功能测试 - `uat-005-ziwei.spec.ts`: 紫微斗数功能测试 ## 运行UAT测试 ### 前置条件 1. 确保后端服务已启动 2. 确保前端开发服务器已启动 3. 确保数据库已初始化测试数据 ### 运行所有UAT测试 ```bash npm run test:e2e ``` ### 运行特定UAT测试套件 ```bash # 运行认证测试 npx playwright test e2e/uat/uat-001-auth.spec.ts # 运行用户管理测试 npx playwright test e2e/uat/uat-002-user-management.spec.ts # 运行黄历查询测试 npx playwright test e2e/uat/uat-003-almanac.spec.ts # 运行运势分析测试 npx playwright test e2e/uat/uat-004-fortune.spec.ts # 运行紫微斗数测试 npx playwright test e2e/uat/uat-005-ziwei.spec.ts ``` ### 运行UAT测试(UI模式) ```bash npx playwright test e2e/uat --ui ``` ### 调试UAT测试 ```bash npx playwright test e2e/uat --debug ``` ## 测试用例说明 ### UAT-001: 用户注册和登录流程 | 用例ID | 用例名称 | 描述 | |---------|---------|------| | UAT-001-01 | 用户成功登录系统 | 验证用户使用正确的凭据登录系统 | | UAT-001-02 | 用户登录失败 - 错误密码 | 验证使用错误密码登录时显示错误消息 | | UAT-001-03 | 用户登出系统 | 验证用户成功登出系统 | ### UAT-002: 用户管理功能 | 用例ID | 用例名称 | 描述 | |---------|---------|------| | UAT-002-01 | 查看用户列表 | 验证用户可以查看用户列表 | | UAT-002-02 | 创建新用户 | 验证用户可以创建新用户 | | UAT-002-03 | 编辑用户信息 | 验证用户可以编辑用户信息 | | UAT-002-04 | 删除用户 | 验证用户可以删除用户 | | UAT-002-05 | 搜索用户 | 验证用户可以搜索用户 | ### UAT-003: 黄历查询功能 | 用例ID | 用例名称 | 描述 | |---------|---------|------| | UAT-003-01 | 查询单日黄历 | 验证用户可以查询指定日期的黄历 | | UAT-003-02 | 查看宜忌事项 | 验证黄历显示正确的宜忌事项 | | UAT-003-03 | 查看吉凶方位 | 验证黄历显示正确的吉凶方位 | | UAT-003-04 | 查看冲煞信息 | 验证黄历显示正确的冲煞信息 | | UAT-003-05 | 查看建除十二神 | 验证黄历显示正确的建除十二神 | ### UAT-004: 运势分析功能 | 用例ID | 用例名称 | 描述 | |---------|---------|------| | UAT-004-01 | 查看每日运势 | 验证用户可以查看每日运势 | | UAT-004-02 | 查看每月运势 | 验证用户可以查看每月运势 | | UAT-004-03 | 查看每年运势 | 验证用户可以查看每年运势 | | UAT-004-04 | 查看宫位运势 | 验证运势显示正确的宫位信息 | | UAT-004-05 | 查看幸运信息 | 验证运势显示正确的幸运色、数字、方位 | ### UAT-005: 紫微斗数功能 | 用例ID | 用例名称 | 描述 | |---------|---------|------| | UAT-005-01 | 生成紫微斗数命盘 | 验证用户可以生成紫微斗数命盘 | | UAT-005-02 | 查看十二宫位 | 验证命盘显示正确的十二宫位 | | UAT-005-03 | 查看主星排列 | 验证命盘显示正确的主星排列 | | UAT-005-04 | 查看四化飞星 | 验证命盘显示正确的四化飞星 | | UAT-005-05 | 查看命盘分析 | 验证命盘显示正确的分析结果 | | UAT-005-06 | 保存命盘 | 验证用户可以保存命盘 | ## 测试数据 UAT测试使用以下测试数据: ### 用户认证 - 用户名: `admin` - 密码: `admin123` ### 测试用户创建 - 用户名: `testuser_${timestamp}` - 邮箱: `testuser_${timestamp}@example.com` - 密码: `Test@123456` - 角色: `USER` 或 `ADMIN` - 状态: `ACTIVE` ### 黄历查询 - 测试日期: `2024-01-01` ### 运势分析 - 测试日期: `2024-01-15` ### 紫微斗数 - 出生日期: `1990-05-15` - 出生时间: `08:30` - 性别: `MALE` ## 测试报告 UAT测试执行后会生成以下报告: 1. **HTML报告**: `playwright-report/index.html` 2. **JSON报告**: `test-results/results.json` 3. **截图**: 失败测试的截图保存在 `test-results/` 目录 4. **视频**: 失败测试的视频保存在 `test-results/` 目录 ## 最佳实践 1. **测试独立性**: 每个测试用例应该独立运行,不依赖其他测试用例 2. **测试清理**: 每个测试用例执行后应该清理测试数据 3. **测试覆盖**: UAT测试应该覆盖所有关键业务流程 4. **测试文档**: 每个测试用例应该有清晰的描述和预期结果 5. **测试维护**: 定期更新UAT测试以反映业务需求的变化 ## 故障排查 ### 常见问题 1. **测试超时** - 检查网络连接 - 检查后端服务是否正常运行 - 增加测试超时时间 2. **元素定位失败** - 检查页面是否完全加载 - 检查元素选择器是否正确 - 使用 Playwright 的等待机制 3. **测试数据问题** - 检查数据库是否有正确的测试数据 - 检查测试数据是否被其他测试修改 - 使用唯一的测试数据标识符 ## 联系方式 如有问题,请联系测试团队或查看项目文档。