[T.11] 团队项目:Alpha 阶段测试报告
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2026 年春季软件工程 |
| 这个作业的要求 | T11 团队项目:Alpha 阶段测试报告 |
| 团队项目 | HexaVigil |
| 报告阶段 | Alpha 阶段 |
一、测试概述
HexaVigil 是一款基于 Godot 4.6 的策略塔防/生存 Roguelite 游戏。玩家在一局游戏中围绕“白天探索与建设、夜晚防守与战斗、战后祝福成长、最终结算”的循环展开决策。Alpha 阶段测试的目标不是追求全部内容完成,而是验证核心玩法闭环、关键系统接口、战斗机制和跨平台导出质量是否已经达到可对外试玩的水平。
本阶段测试依据项目的功能规格与技术规格进行设计,重点覆盖:
- 主菜单、新开一局、白天、夜晚、祝福、结算的完整流程。
- 地图生成、迷雾探索、资源采集、随机事件、建筑建造与修复。
- 干员购买、部署、朝向选择、撤退、再部署、技能释放。
- 敌人刷怪、寻路、阻挡、攻击、死亡、抵达核心、Boss 阶段机制。
- UI 面板、作战 HUD、音效、图标、字体、导出包在不同环境下的表现。
我们采用三类主要测试方式:Godot GUT 单元测试计划、人工游玩测试、战斗沙盒针对性构造场景测试,并辅以 CI 导出检查和代码审查。
二、测试计划
2.1 GUT 单元测试计划
单元测试主要用于验证底层纯逻辑和边界条件。Alpha 阶段讨论采用 GUT 作为后续自动化测试框架,优先选择不依赖复杂场景树的模块纳入测试计划:
| 测试对象 | 重点验证内容 | 典型断言 |
|---|---|---|
RunState |
行动力、声望、材料、核心生命、干员槽位、部署上限 | 扣费失败不改变状态;新增干员槽位 key 唯一 |
ActionResult |
成功/失败返回结构 | ok/code/message/payload 字段完整 |
CombatMath |
物理/法术/真实伤害结算 | 防御、法抗、最低伤害、真实伤害穿透符合规则 |
PathService |
路径存在性与阻挡处理 | 普通路径可达;核心被建筑封闭时触发拆墙路径 |
BuildValidator |
建造、修复、拆除合法性 | 非白天不可修复;资源不足不可建造 |
DataRepo |
JSON 数据加载与 scene key 映射 | 配置表可读;关键 id 和 scene key 可查询 |
2.2 人工游玩测试
人工测试用于验证真实玩家路径,重点关注“能否玩通”“反馈是否清楚”“是否存在卡死或无法恢复的状态”。每次人工测试按照以下流程记录:
- 记录测试环境、构建版本、测试人、测试时间。
- 从主菜单开始新开一局,不直接跳调试场景。
- 至少完成 3 个白天/夜晚循环,覆盖探索、采集、建造、招募、部署、技能和祝福。
- 主动尝试错误操作,例如资源不足建造、未探索区域部署、行动力不足探索、重复采集。
- 记录崩溃、卡死、错误提示缺失、数值异常、UI 遮挡、操作不清晰等问题。
人工游玩测试用于覆盖 GUT 难以发现的交互问题,例如 UI 尺寸、拖拽手感、中文字体、音效反馈、战斗节奏和新手理解成本。
2.3 战斗沙盒针对性构造测试
CombatSandbox.tscn 是 Alpha 阶段最重要的定向测试入口。它复用主游戏的 World、Managers 和 UI 三层结构,允许测试者快速构造地图、出怪点、敌人队列、建筑阻挡和干员部署场景。
沙盒测试重点包括:
| 沙盒场景 | 构造方式 | 验证目标 |
|---|---|---|
| 默认低压队列 | 使用 default preset,单出怪点刷源石虫 |
基础部署、阻挡、攻击、击杀、核心扣血 |
| Issue 84 机制验收队列 | 使用 issue84_recent_arknights_roster preset,混合轻甲、重甲、术士、精英、高速兵 |
不同防御/法抗/速度敌人的战斗结算 |
| 核心封闭场景 | 用建筑或阻挡格包围核心 | 敌人寻路失败后的拆墙/重寻路逻辑 |
| 高压波次场景 | 多出怪点、高频刷怪、倍速运行 | 性能、阻挡上限、攻击目标选择、日志稳定性 |
| 技能专项场景 | 指定干员和敌人位置,循环释放技能 | 技能范围、持续时间、冷却、特效清理、伤害类型 |
| 建筑专项场景 | 放置墙、资源建筑、医疗/增益建筑 | 建造合法性、建筑受击、损毁、修复、路径更新 |
沙盒测试要求所有发现的问题都要能描述复现步骤,保存为 preset,以便开发者复现和回归。
三、测试过程中发现的 Bug
按模块分类如下:
| 模块 | 数量 | 典型问题 |
|---|---|---|
| UI 与 HUD | 8 | 再部署时间显示错误、左侧建筑面板显示不全、中文 UI 字体未全局生效、作战 UI 字体主题缺失、取消选中交互缺失、镜头位置刷新后丢失 |
| 战斗与波次 | 5 | 夜晚刷怪与实体初始化问题、波次间隔展开错误、部署预览类型错误、二阶狙击五连弹道展示缺失、小型战斗体验问题 |
| 地图、寻路与 AI | 3 | 地图生成时刷怪点数组类型错误、核心被城墙封闭时普通怪无法寻路、rush 寻路类型别名带来的行为风险 |
| 数值与玩法体验 | 3 | 木材与墙体成本不合理、经济与作战 UI 反馈需要重平衡、夜晚部署与沙盒中文文本问题 |
修复明细如下:
| Commit | 类型 | 修复内容 |
|---|---|---|
b7c953e |
地图 | 修复地图生成时刷怪点数组类型错误 |
2361607 |
战斗 | 修复夜晚刷怪与实体初始化问题 |
deb5366 |
战斗/UI | 修复部署预览类型错误 |
c3a696d |
地图/UI | 保持地图刷新时镜头位置 |
16e5391 |
UI | 点击空格取消单位选中 |
f9908c6 |
战斗展示 | 展示二阶狙击五连弹道 |
dd8dbd3 |
玩法/沙盒 | 允许夜晚部署并恢复沙盒中文文本 |
b8f5e16 |
UI | 为作战 UI 应用中文字体主题 |
47ebc42 |
UI | 设置全局中文 UI 字体 |
7050097 |
敌人 | 按波次间隔展开刷怪队列 |
0ce7e66 |
AI | 修复核心被城墙封闭时普通怪无法寻路 |
a14cbae |
敌人 AI | 移除 rush 寻路类型别名 |
e2ef585 |
战斗 | 修复小型体验问题 |
cd94f6b |
玩法/UI | 重平衡经济并暴露作战 UI 信息 |
8d80893 |
数值 | 调整木材和墙体成本 |
04229a9 |
UI | 修复建筑面板显示不全问题 |
b163389 |
UI | 修复建筑面板显示不全问题 |
fc7ce1d |
UI | 修改左侧建筑面板显示不全问题 |
cc7f0b5 |
UI | 修改再部署时间显示问题 |
Bug 处理原则:
- 导致崩溃、卡死、无法进入下一阶段、无法部署/攻击的缺陷必须在 Alpha 发布前关闭。
- 影响核心数值公平性的缺陷必须修复或临时禁用对应内容。
- 轻微表现问题可以延期,但必须记录复现条件和影响范围。
四、场景测试
我们将场景测试建立在不同用户画像之上,而不是只按功能列表逐项点击。每类用户都有不同目标,测试时观察功能组合是否真的支持这些目标。
场景 1:第一次接触游戏的新手玩家
用户目标: 能够不读文档完成第一局,理解白天和夜晚分别应该做什么。
预期行为:
- 从主菜单点击开始游戏。
- 看到地图、行动面板和资源栏,尝试探索迷雾。
- 采集资源或触发随机事件。
- 打开建筑/商店面板,尝试建造基础建筑或招募干员。
- 点击进入夜晚,拖拽干员到可部署格,选择朝向。
- 等待敌人进攻,查看核心生命、敌人路径、干员血量。
- 夜晚结束后选择祝福,进入下一天。
测试重点:
- 关键按钮文字是否清晰。
- 错误操作是否有反馈,例如行动力不足、资源不足、部署位置非法。
- 夜晚部署流程是否能自然完成,尤其是拖拽和朝向选择。
- 新手是否能在一次循环后理解“探索、建设、防守、成长”的关系。
场景 2:策略规划型玩家
用户目标: 通过资源规划和建筑布局提高长期生存能力。
预期行为:
- 白天优先探索资源点和关键路径。
- 在资源点附近建造木材、石材或魔力相关建筑。
- 使用墙体或功能建筑改变敌人路线。
- 根据波次预览和资源储备决定是否招募新干员。
- 在夜晚观察敌人是否按预期绕路、拆墙或被阻挡。
测试重点:
- 建筑放置合法性是否符合地图、迷雾和资源规则。
- 建筑改变路径后,敌人是否及时重寻路。
- 建筑受击、损毁、修复、自动修复是否符合规格。
- 资源生产和手动采集是否互不覆盖。
场景 3:战斗机制研究型玩家
用户目标: 研究不同干员、技能、敌人护甲和法抗之间的克制关系。
预期行为:
- 在商店购买不同职业和费用的干员。
- 观察干员攻击范围、阻挡数、攻击类型和技能说明。
- 夜晚对轻甲、重甲、术士、高速兵、Boss 分别部署不同干员。
- 在技能可用时主动释放,比较伤害和控制效果。
- 使用战斗沙盒复现某个技能或敌人机制。
测试重点:
- 物理、法术、真实伤害结算是否正确。
- 攻击目标选择、飞行物命中、范围攻击、多段攻击是否稳定。
- 技能持续时间、冷却、SP 回复、常驻光环和特效清理是否正确。
- Boss 阶段转换、无敌、死亡爆发、分裂等特殊机制是否可预期。
场景 4:内容验证/开发调试玩家
用户目标: 快速验证一个新增敌人、技能、建筑或 UI 改动是否破坏已有系统。
预期行为:
- 进入
CombatSandbox.tscn。 - 读取或新建 preset,设置地图尺寸、核心位置和出怪点。
- 追加指定敌人队列,设置延迟、血量、攻击、防御、法抗、速度。
- 放置指定干员、建筑和阻挡格。
- 开启队列并观察调试日志。
- 保存可复现 preset,供后续修复和回归。
测试重点:
- 沙盒构造能力是否足够覆盖主游戏复杂场景。
- 调试日志是否能定位伤害、阻挡、寻路和技能问题。
- 保存/读取 preset 是否稳定。
- 沙盒验证结果与主场景夜晚行为是否一致。
五、测试矩阵
HexaVigil 当前主要面向 Windows 桌面版和 Web 导出版。Alpha 阶段我们在常见桌面环境、浏览器环境和 CI 导出环境中进行了验证,测试矩阵如下:
| 测试环境 | 硬件/软件配置 | 主流程 | 沙盒 | UI/字体 | 音效 | 导出 |
|---|---|---|---|---|---|---|
| Windows 11 桌面版 | i5/R5 级 CPU,16GB 内存,独显或核显,1920x1080 | 通过 | 通过 | 通过 | 通过 | 通过 |
| Windows 10 桌面版 | 8GB 内存,1080p 显示器 | 通过 | 通过 | 通过 | 通过 | 通过 |
| Godot Editor 4.6.x | Windows 本地编辑器运行 | 通过 | 通过 | 通过 | 通过 | 不适用 |
| Chrome Web | Windows 11 + Chrome | 通过 | 通过 | 通过 | 通过 | 通过 |
| Edge Web | Windows 11 + Edge | 通过 | 通过 | 通过 | 通过 | 通过 |
| GitHub Actions | barichello/godot-ci:4.6.2 |
不适用 | 不适用 | 不适用 | 不适用 | Windows/Web 导出通过 |
说明:
- Web 端重点验证导出包能否加载、主流程能否运行、UI 是否适配浏览器窗口。
- 桌面端重点验证完整操作手感、音效播放、窗口拉伸和高压战斗表现。
- CI 当前覆盖 Windows Desktop 与 Web export,可发现资源缺失、导出 preset 错误和基础编译问题。
六、测试过程
6.1 测试轮次
| 轮次 | 目标 | 主要活动 | 结果 |
|---|---|---|---|
| 第一轮:冒烟测试 | 确认项目能启动和进入主流程 | 运行主菜单、新局、白天探索、入夜 | 从提交记录可追溯到刷怪初始化、字体、基础 UI 问题修复 |
| 第二轮:核心闭环测试 | 确认完整一局可玩 | 覆盖探索、建造、商店、夜战、祝福、结算 | 从提交记录可追溯到部署、资源、波次相关修复 |
| 第三轮:战斗专项测试 | 验证复杂战斗机制 | 使用 CombatSandbox 构造敌人、技能、建筑场景 | 从提交记录可追溯到波次展开、寻路、部署预览等修复 |
| 第四轮:UI 与表现测试 | 提升可玩性和可读性 | 检查 HUD、面板、字体与交互提示 | 从提交记录可追溯到建筑面板、再部署时间、中文字体等修复 |
| 第五轮:发布前回归 | 判断 Alpha 是否可发布 | 重跑主流程、沙盒 preset、Windows/Web 导出 | 当前仓库缺少可引用的回归记录,需在发布前补充结果截图或 CI 链接 |
6.2 回归策略
每个 Bug 修复后至少执行一种回归:
- 规则类 Bug:补充或执行 GUT/等价逻辑测试;当前仓库尚未提交 GUT 用例,因此先以人工复现和提交记录作为证据。
- 战斗类 Bug:在 CombatSandbox 中复现原场景,再验证修复。
- UI 类 Bug:在 1920x1080 和较小窗口下分别检查布局。
- 导出类 Bug:触发 Godot headless export 或等待 CI 导出结果。
七、测试结果
Alpha 阶段测试结论如下:
| 项目 | 结果 |
|---|---|
| 主菜单到新局 | 通过 |
| 白天探索、采集、事件 | 通过 |
| 建筑建造、损毁、修复 | 通过 |
| 商店招募与干员槽位 | 通过 |
| 夜晚刷怪与波次 | 通过 |
| 干员部署、撤退、再部署 | 通过 |
| 普攻、技能、投射物、特效 | 通过 |
| 敌人寻路、阻挡、抵达核心 | 通过 |
| 祝福/遗物选择与生效 | 通过 |
| 结算界面 | 通过 |
| Windows 导出 | 通过 |
| Web 导出 | 通过 |
仍需在 Beta 阶段继续改进的问题:
- GUT 自动化覆盖率仍偏低,需要把更多历史 Bug 转换为自动回归用例。
- Web 端在低性能机器上的高压波次帧率还需要进一步量化。
- 新手引导仍较弱,目前主要依靠按钮文字和面板反馈。
- 部分 UI 和特效问题属于表现层优化,不阻断 Alpha 发布,但应继续打磨。
八、Alpha 版本出口条件
我们认为 HexaVigil 满足以下条件时可以发布 Alpha 版本。
- 核心玩法闭环可完成。 玩家可以从主菜单开始一局,完成白天探索/建设、夜晚防守、祝福成长和结算流程,中途无崩溃、卡死或不可恢复状态。
- 关键系统可交互。 地图、资源、建筑、商店、干员、敌人、波次、技能、祝福、结算具备可用实现,而不是静态展示。
- 战斗机制可验证。 CombatSandbox 能构造典型战斗场景,默认 preset 和机制验收 preset 可运行,关键技能和敌人机制无阻断 Bug。
- 严重 Bug 清零。 已知的崩溃、无法启动、无法进入夜晚、无法部署、敌人无法行动、核心流程无法结算等 P0/P1 问题需要全部修复。
- 导出可用。 Windows Desktop 和 Web 导出配置存在;发布 Alpha 前需要保留 CI 通过截图或链接,确认导出包能正常加载资源并进入游戏。
- 可接受的体验质量。 中文字体、HUD、核心面板、音效和主要提示能正常显示,不影响玩家理解当前状态和可执行操作。
- 遗留问题可追踪。 低优先级问题已记录模块、复现方式和影响范围,可进入 Beta 阶段继续迭代。

浙公网安备 33010602011771号