[T.11] 团队项目:Alpha 阶段测试文档

类目详情内容
所属课程 2026年春季软件工程
作业要求 [T.11] 团队项目:Alpha 阶段测试报告
课程目标 团队合作经过两轮迭代完成软件开发实践
作业价值 对alpha阶段发布的版本进行测试

Bug 详细介绍

前端

前端共计 26 个 Bug。

编号 Bug 描述 严重程度
FE-01 Boss 阶段攻击伤害动画存在延迟,玩家感知不到正确时机 P1
FE-02 动画播放逻辑存在问题,缺少动画编排 P1
FE-03 Thunder 事件动画播放异常 P2
FE-04 witch_green 角色 hurt 动画缺失/错误 P2
FE-05 事件抽取时弹窗错误弹出 P2
FE-06 Buff 添加/移除动画、道具动画及 Popup 事件动画混乱 P1
FE-07 ForestBoardScene 出现动画合并冲突导致重复播放 P2
FE-08 多种动作(move/damage/heal/teleport)缺少平滑过渡动画 P2
FE-09 反向 move 操作时动画播放错误 P2
FE-10 Buff frame 风格样式错误 P2
FE-11 未经使用的动画资源残留 P3
FE-12 阵营技能描述文字错误 P3
FE-13 HP/LP 数值不及时更新,界面与实际状态不一致 P1
FE-14 HP/LP 没有上限限制,数值可超出最大值 P1
FE-15 玩家阵营状态同步错误,开局时显示错误阵营信息 P1
FE-16 道具/技能使用时找不到目标 P1
FE-17 Buff 持续时间显示为 0 P2
FE-18 重生动画播放时未立即更新玩家 hp/lp/pos P2
FE-19 经过检查点时人物位置反复变化(位置抖动) P2
FE-20 Boss buff 缺少 logo 显示 P3
FE-21 摄像机错误跟随 boss,视角挂在 boss 身上 P1
FE-22 逻辑格子尺寸过小,难以辨认 P2
FE-23 格子上缺少数字标识 P2
FE-24 玩家名称高亮显示错误 P2
FE-25 LinuxDeploy GTK plugin exit 127(AppImage 运行时依赖缺失) P1
FE-26 macOS 应用名称构建错误 P2

后端

后端共计 22 个 Bug。

编号 Bug 描述 严重程度
BE-01 MatchInit 时错误调用了 GenerateLinearMap,未使用标准游戏地图 P1
BE-02 WaitForHost 阶段过早初始化玩家,导致状态不一致 P1
BE-03 HSM turn states 中存在 nil handling 问题 P1
BE-04 MatchInit 时阵营状态同步错误 P1
BE-05 DisplayName 被错误覆写到 UUID 字段,导致玩家身份混乱 P1
BE-06 MatchLeave 未处理所有玩家断线的情况,房主退出后房间不正确结束 P1
BE-07 MiniGameStart 重复广播,骰子分配未同步 P1
BE-08 MatchLoop 空指针崩溃 P0
BE-09 并发发送消息缺少保护,可能导致竞态条件 P1
BE-10 AnyDoor 传送处理逻辑错误,缺少 IsFaction 分类判断 P1
BE-11 teleport 逻辑存在错误 P1
BE-12 ZhuQue Fire buff 直接修改人物属性,未使用 Action 系统 P2
BE-13 添加相同 Buff 到玩家时意外重置 tick eligible 状态 P1
BE-14 Buff tick 错误:监听非 pre turn phase 的 buff 触发时机错误 P1
BE-15 添加 Buff action 中缺少 duration 字段 P2
BE-16 everyNTurns 计数器持久化位置错误,无法正常维持多少周期触发 P2
BE-17 隐匿只能隐藏负面 buff,应隐藏所有类型 buff P1
BE-18 所有道具错误订阅了 phase item used,使用道具将触发所有道具的效果 P1
BE-19 state log entry 不应发送给前端,应从 log 中移除 P2
BE-20 CLI 仅向 host 显示 start prompt,WaitingSync 中逻辑错误 P2
BE-21 MatchDataHandler 空指针问题 P1
BE-22 小游戏排名提交逻辑错误 P2

场景测试

为了模拟真实使用场景,我们设计了多类典型用户角色,并以其行为路径为依据构建测试场景。每个场景包含正常流程与异常边界流程,覆盖联机同步、游戏机制、UI 交互等。

新手

用户类型: 首次接触游戏

测试路径:

  1. 进入主界面 → 查看房间列表 → 创建 2/4 人房间 → 选择阵营
  2. 其他玩家通过房间 ID / 房间名等加入房间 → 等待页面显示所有玩家
  3. 房主点击开始游戏 → 进入主地图 → 玩小游戏 → 掷骰子移动 → 触发地图事件
  4. 经过检查点 → 获得道具/触发 Buff → 回合结束轮转至下一玩家
  5. Boss 战触发 → 玩家协作对抗 Boss → Boss 被击败或玩家被击败
  6. 游戏结束 → 查看结算数据 → 返回大厅 → 尝试二次对局

测试目标:

  • 验证首局引导流程是否清晰,玩家是否能顺利完成从建房到结算的完整闭环
  • 测试房间创建/加入是否正常,等待界面信息是否完整显示
  • 确保阵营选择功能可用,选择后阵营状态同步是否正确
  • 检查地图事件、道具使用、Buff 显示的 UI 元素是否清晰可读
  • 验证小游戏触发与结算是否正常,排名数据是否正确回传
  • 确认游戏结算界面数据(玩家统计、DisplayName 等)是否正确显示

房主

用户类型: 房主

测试路径:

  1. 房主创建房间 → 等待 3 名玩家依次加入 → 等待页面实时更新玩家列表
  2. 房主踢出某名玩家 → 被踢玩家收到提示并回到主界面 → 等待页面更新剩余玩家
  3. 房主开始游戏前退出游戏 → 房间直接解散
  4. 房主开始游戏后退出游戏 → 标记该玩家为掉线,其他玩家正常进行游戏
  5. 房主在所有玩家未准备时强制开始游戏 → 验证是否被阻止或允许

测试目标:

  • 验证踢人功能是否正常工作,被踢玩家是否正确收到通知
  • 测试房主退出后房间生命周期处理逻辑
  • 检查等待页面玩家列表实时更新的准确性
  • 验证 DisplayName 是否在各场景中正确展示而非 UUID

“策略构筑”爱好者

用户类型: 策略构筑爱好者

测试路径:

  1. 青龙阵营玩家触发阵营技能 → 验证技能效果是否正确翻倍
  2. 白虎阵营玩家使用技能指定目标玩家 → 验证 TargetID 是否正确传递
  3. 朱雀阵营玩家触发 Fire buff → 验证 LP 修改是否通过 Action 系统
  4. 玄武阵营玩家触发防御 buff → 验证与其他 buff 的叠加逻辑
  5. 同一玩家被叠加相同 Buff → 验证 tick eligible 状态不会被意外重置
  6. Hidden Buff 触发 → 验证是否能隐藏所有类型 Buff(非仅负面)
  7. Hidden Buff 在玩家受伤害时 → 验证是否能阻止伤害生效
  8. everyNTurns 类型 Buff → 验证计数器是否正确持久化存储

测试目标:

  • 验证 4 个阵营技能是否全部正确触发,效果数值是否与设计一致
  • 测试 Buff 添加/移除/叠加/持续时间显示是否正确
  • 验证 Buff tick 机制在不同 phase 下触发时序是否正确

快节奏玩家

用户类型: 快节奏操作玩家

测试路径:

  1. 玩家连续使用道具 → 验证玩家信息是否正确
  2. 玩家在道具使用动画播放期间尝试使用另一个道具 → 验证动画队列是否正确排队
  3. 玩家使用道具/技能时目标不存在 → 验证是否优雅处理而非崩溃
  4. 同一时刻进行多个操作(投骰子 + 使用技能 + 使用道具)
  5. 测试边缘按钮点击区域、技能弹窗多次快速开启关闭

测试目标:

  • 检查极端操作下是否会引发崩溃、空指针异常或 UI 错乱
  • 验证 UI 是否存在误触、弹窗不收回、卡顿等问题
  • UI 动态交互流程是否对用户输入做了容错

多人

用户类型: 3 或 4 名玩家同时联机游玩

测试路径:

  1. 4 名玩家全满房间 → 房主开始游戏
  2. 4 名玩家分别选择青龙/白虎/朱雀/玄武 → 验证阵营选择无冲突,每人阵营状态正确同步
  3. 进入主地图 → 验证 4 个玩家角色在地图上的位置标识、名称高亮是否正确
  4. 回合轮转:玩家 A → 玩家 B → 玩家 C → 玩家 D → 验证 4 人回合顺序正确循环
  5. 验证摄像机视角是否正确绑定当前行动玩家 → 切换回合时摄像机平滑跟随下一玩家
  6. 4 人同时参与小游戏 → 验证排名数据中 4 名玩家信息完整
  7. Boss 战中 4 名玩家协作 → 验证所有玩家同步看到 Boss 伤害动画、Boss HP 变化
  8. 摄像机错误跟随 Boss → 验证 Boss 战回合中摄像机是否跟随当前行动玩家而非挂在 Boss
  9. 摄像机在玩家移动过程中是否平滑过渡 → 验证经过检查点时无位置抖动
  10. 4 人场景下玩家名称高亮是否正确区分 → 验证当前行动玩家名称高亮,非行动玩家不高亮

测试目标:

  • 验证 3 人和 4 人场景下回合轮转、阵营选择、地图显示的正确性
  • 确认摄像机视角始终绑定当前行动玩家,不会挂在 Boss 或其他玩家身上
  • 测试摄像机在回合切换时的平滑跟随效果,无拉扯或抖动
  • 验证多人场景下玩家名称高亮正确标识当前回合玩家
  • 确认多人小游戏排名数据完整性,3 人和 4 人场景均无数据缺失

测试矩阵

游戏功能 Apple macOS M4 16GB Apple macOS M1 8GB AMD Ryzen 7895H Ubuntu Linux 24.04 Intel i13 Windows 11
主界面渲染与房间列表 Pass Pass Pass Pass
房间创建/加入/踢人 Pass Pass Pass Pass
阵营选择与状态同步 Pass Pass Pass Pass
BoardScene 地图渲染 Pass Pass Pass Pass
掷骰子与回合轮转 Pass Pass Pass Pass
地图事件触发与动画 Error: macOS WebGL 存在渲染精度问题,迷途等事件渲染存在问题 Error: macOS WebGL 存在渲染精度问题,迷途等事件渲染存在问题 Pass Pass
Buff/道具显示与交互 Pass Pass Pass Pass
小游戏(5 种)触发与结算 Pass Pass Pass Pass
Boss 战完整流程 Pass Pass Pass Pass
GameOver 结算界面 Pass Pass Pass Pass
桌面版打包构建 Pass Pass Pass Pass

出口条件

在 Alpha 阶段,我们设定了一系列出口条件,作为判断项目是否达到“对外公测可用”状态的标准。这些条件涵盖了功能实现、系统稳定性、用户体验和文档支持等关键维度,确保项目在发布前具备足够质量保障。在公测前,我们安排了小范围的内测,保证先前提到的测试环节能较为完整地涵盖。

功能完成度

  • 核心玩法(房间创建、阵营选择、掷骰子移动、地图事件触发、道具使用、Buff 交互)全部实现,并可在 2~4 人房间中完整体验
  • 房间创建与游戏启动机制运行稳定,支持房主踢人、玩家主动离开、3~4 人自由组局并完成完整对局
  • 5 种小游戏(数算、彩虹记忆、游标卡尺、骰子赛跑、数秒)均可正常触发、完成并回传排名数据
  • Boss 战系统完整实现,4 阵营技能与 15+ 种 Buff 的触发、叠加、移除机制基本正确,效果符合设计预期
  • 所有功能均通过测试流程验证,在连续 10 局完整对局(建房 → 阵营选择 → 地图游玩 → 小游戏 → Boss 战 → GameOver → 返回大厅)中无业务逻辑中断

系统稳定性

  • 游戏在主流测试平台(macOS、Ubuntu Linux、Windows)中均可成功构建并运行,桌面版打包流程无启动失败或闪退
  • 已知的致命和严重级别 Bug 全部修复:1 个 P0(Nakama MatchLoop 空指针崩溃)和 30 个 P1 已 100% 修复,无中断用户体验的关键缺陷遗留
  • 联机同步机制可支持至少 4 人房间内稳定运行,玩家之间 HP/LP、阵营、回合轮转、Boss 状态保持一致

Bug 问题闭环

  • Alpha 阶段共计发现并记录 48 个 Bug(前端 26 个、后端 22 个),全部完成处理
  • 测试过程中发现的代表性问题(MatchLoop 空指针崩溃、HP/LP 数值超限与不及时更新、摄像机挂在 Boss、DisplayName 覆写 UUID 等)均已整理入 GitHub issue,具备可追踪性
  • 所有 Bug 修复均通过复测确认有效

文档与可用性支持

  • 项目配有完整的后端协议文档,涵盖 StateSync/OpCode/Player 接口、Buff/Event/Item 元数据契约等,已同步更新至增量 entries 模式
  • Docker 部署文档完整,docker compose up 可一键启动 Nakama + CockroachDB,在全新机器上 100% 可复现运行
  • CI/CD 流程配置完成,所有代码合入必须通过 lint + build + test 检查
  • 首次使用者可在不借助开发人员帮助的情况下,独立完成下载安装、进入游戏、完成一次完整对局流程
posted @ 2026-05-13 15:24  BitAction  阅读(16)  评论(0)    收藏  举报