# 万事宜 v1.0.0 用户旅程测试验收报告 > **测试日期**: 2026-08-18 > **测试版本**: v1.0.0(微信小程序交付物) > **测试环境**: macOS (arm64) / Node.js 20+ / Playwright v1.57.0 / Chromium > **报告类型**: 用户旅程测试验收报告(封版依据补充) --- ## 一、执行摘要 本次针对微信小程序交付物,以**真实用户使用流程**为维度补充用户旅程测试,作为封版验收依据。 | 指标 | 结果 | 状态 | |------|------|------| | 用户旅程 | **5 个**(Critical 2 / Common 2 / Edge 1) | ✅ | | 旅程用例 | **31/31 通过**(Chromium) | ✅ | | 稳定性验证 | **3 次连续运行全部通过** | ✅ | | 发现并修复真实缺陷 | **2 个 P1** | ✅ 已修复 | | 单元测试回归 | **692/692 通过** | ✅ | | 微信小程序构建 | **构建成功** | ✅ | | 既有 E2E 回归 | **无回归失败** | ✅ | --- ## 二、用户旅程设计 ### 2.1 旅程清单 | 旅程 ID | 名称 | 优先级 | 用户目标 | 用例数 | |---------|------|--------|----------|--------| | J-ZIWEI | 紫微排盘完整旅程 | Critical | 输入出生信息,生成完整命盘 | 7 | | J-ALMANAC | 黄历吉日搜索旅程 | Critical | 查找适合特定活动的黄道吉日 | 6 | | J-FORTUNE | 运势分析旅程 | Common | 查看指定日期的运势走势 | 6 | | J-SUBSCRIBE | 订阅管理旅程 | Common | 管理每日运势推送 | 6 | | J-NAV | 跨页导航与状态保持 | Edge | 三大功能页顺畅切换、数据跨页保持 | 6 | ### 2.2 旅程覆盖步骤 - **J-ZIWEI**: 进入排盘页 → 选择出生日期 → 确认时辰选择器 → 切换性别 → 输入出生地触发坐标识别 → 排盘 → 验证十二宫位/三方四正/总结 - **J-ALMANAC**: 模板一键搜索 → 手动添加条件(宜→嫁娶)→ 选择天数 → 搜索 → 验证结果卡片(宜/匹配数)→ 错误恢复 - **J-FORTUNE**: 排盘持久化 → 跨页读取 → 日运(总分/四维建议/幸运要素)→ 日期切换 → 月运 - **J-SUBSCRIBE**: 订阅状态 → 时间选择器(30 分钟步长提示)→ 保存流程 → 取消订阅确认弹窗(取消/确认双路径) - **J-NAV**: 底部导航三入口 → 页面切换 → 导航往返 → 排盘数据跨页保持 → hash 路由容错 --- ## 三、测试结果 ### 3.1 旅程测试执行结果 | 运行轮次 | 通过 | 失败 | 结果 | |---------|------|------|------| | 第 1 轮 | 31/31 | 0 | ✅ | | 第 2 轮 | 31/31 | 0 | ✅ | | 第 3 轮 | 31/31 | 0 | ✅ | > 3 次连续运行全部通过,满足稳定性门禁(无 flaky)。 ### 3.2 测试环境说明 - 用户旅程测试以 **Chromium(桌面)为稳定基线**,聚焦用户流程验证 - 跨浏览器兼容性(Chromium / WebKit / Mobile Chrome / Mobile Safari / Firefox)由既有 E2E 测试(160 用例)覆盖 - 移动端浏览器上 uni-app H5 的 picker/输入交互存在框架渲染差异,旅程测试的精确控件操作(日期/时辰/时间选择)在小程序真机端由原生 picker 提供 --- ## 四、发现并修复的真实缺陷(P1) 用户旅程测试基于真实用户路径,发现了 2 个既有测试未覆盖的真实缺陷,均已修复: ### 4.1 缺陷 J-BUG-001:底部导航切换失效 - **文件**: `src/components/BottomNavigation/BottomNavigation.vue` - **现象**: 点击底部导航无法在黄历/排盘/运势页之间切换(URL 不变化) - **根因**: `tabs.find(...)` 直接对 computed ref 调用数组方法,应使用 `tabs.value.find(...)`(computed 未解包) - **影响**: 用户无法通过底部导航切换三大功能页(跨端 H5/小程序共存) - **修复**: `tabs.find` → `tabs.value.find` - **验证**: J-NAV STEP 2/3 通过,无控制台报错 ### 4.2 缺陷 J-BUG-002:运势页排盘数据不刷新 - **文件**: `src/pages/fortune/index.vue` - **现象**: 用户"先看运势(未排盘)→ 去排盘 → 返回运势页"时,排盘数据不加载,仍提示"请先排盘" - **根因**: 仅用 `onMounted` 加载排盘数据;uni-app 页面实例被缓存后再次进入只触发 `onShow` 不触发 `onMounted` - **影响**: 排盘后返回运势页无法看到运势结果(核心用户路径断裂) - **修复**: 提取 `loadChartFromStorage()`,`onMounted`(首次挂载)与 `onShow`(页面复用刷新)均调用 - **验证**: J-FORTUNE STEP 2 通过;单元测试 692/692 无回归 --- ## 五、回归验证 | 验证项 | 结果 | |--------|------| | 单元测试 | 692/692 通过(含 fortune 页测试无回归) | | 既有 E2E(Chromium/WebKit/Mobile Chrome/Mobile Safari) | 无回归失败 | | 微信小程序构建 | 构建成功(DONE Build complete) | --- ## 六、验收结论 ### ✅ 用户旅程测试通过,作为封版依据补充成立。 - **5 个用户旅程、31 个用例全部通过**,覆盖 Critical(排盘/搜索)、Common(运势/订阅)、Edge(导航/恢复)全层级 - **3 次连续运行稳定**,无 flaky - **发现并修复 2 个 P1 真实缺陷**,核心用户路径(跨页导航、排盘→运势数据流)已打通 - 源码修改经单元测试(692/692)、构建、既有 E2E 全量回归验证,无副作用 ### 建议的真机验证项(小程序最终交付环境) 用户旅程的精确控件交互(时辰/时间/月份选择器)在 H5 端为 uni-app 3D 滚轮,真实体验以微信开发者工具/真机的**原生 picker** 为准,建议发布前在真机完成一次全旅程走查。 --- *报告生成时间: 2026-08-18* *测试负责人: AI 自动化测试* *验收结论: ✅ 用户旅程测试通过,封版依据成立*