# 11 QA 测试用例与验收清单 本文档面向 QA 与开发,覆盖核心链路的测试用例、回归点与验收清单。该项目是系统驱动游戏,测试重点是“时间推进与状态结算一致性”“配置驱动内容正确性”“随机可重放”。 ## 11.1 测试范围 - 核心循环:基地→准备→移动→探索/事件→战斗→回收→发展 - 系统:时间推进、状态、Buff、资源刷新、制作、事件、战斗、任务、灾害、交易、存档 - 非功能:性能、可用性、异常恢复、兼容性(PC/Mobile) ## 11.2 通用测试要求 - 随机可重放: - 每个测试用例记录 seed - 复现 bug 必须能通过 replay 或 seed+操作序列重放 - 日志可观测: - 每次状态变化、事件结果、战斗结算都可在日志中看到结构化信息 - 配置校验: - 引用完整性(itemId/placeId/eventId) - 权重表合法(权重>0、总权重合理、不会空抽) - 条件表达式合法(不会运行时报错) ## 11.3 Smoke(冒烟)用例(每次发布必测) ### 11.3.1 启动与基础交互 - 启动进入主界面,显示时间/地点/状态条/行动入口 - 打开背包与详情,无崩溃 - 打开地图与任务面板,无崩溃 - 暂停/继续功能正常 ### 11.3.2 核心循环可闭环 - 从基地移动到一个邻近地点 - 执行一次采集或翻找,时间推进与状态消耗正确 - 触发一次事件并选择选项,结果生效 - 回基地,自动存档触发 ## 11.4 系统测试用例(详细) ### 11.4.1 时间推进管线 - 用例:执行 `advanceTime(10min)` - 期望:饥饿/口渴/精力按配置曲线变化 - 期望:Buff tick 按 interval 结算 - 期望:资源节点按刷新规则增长且不超过上限 - 期望:灾害倒计时/持续时间正确更新 边界: - Δt = 0(不应产生变化) - 超大 Δt(例如 24h)仍应按相同规则分段/累计结算,避免溢出 ### 11.4.2 状态阈值与 Buff - 触发阈值(例如口渴<阈值)应自动添加 debuff - 从阈值恢复应自动移除 debuff - Buff 堆叠规则: - 刷新时长 vs 增加层数 - 到期移除是否正确 ### 11.4.3 背包与容量 - 堆叠上限:超过上限应拆分或拒绝 - 容量上限:超过容量应拒绝拾取或强制丢弃(按设计) - 装备槽互斥:同槽位只能装备一件 - 耐久为 0:装备失效逻辑正确 ### 11.4.4 制作与科技 - 缺材料:按钮置灰并提示缺少项 - 缺条件:提示缺科技/缺设施/缺工具 - 制作完成: - 扣除输入 - 增加产出 - 推进时间与消耗正确 - 科技解锁: - 新配方可见 - 新地点服务解锁 - 永久修正生效 ### 11.4.5 事件系统 - 事件抽取: - 事件池为空时降级到全局池或给出提示(按设计) - 条件过滤正确 - 权重抽取符合统计(抽样 1000 次) - 选项: - 不满足条件应置灰并说明原因 - 检定成功/失败结果正确执行 - 效果链: - 顺序正确(先扣资源后给奖励等) - 任一效果失败时的处理符合设计(允许部分成功或事务回滚) ### 11.4.6 战斗系统 - 初始化: - 双方属性正确 - 距离与射程正确 - 回合动作: - 攻击:命中率受距离/状态影响 - 防御:降低被命中或降低伤害 - 前进/后退:距离变化正确 - 逃跑:概率正确,逃跑后果正确(掉落/受伤/时间损失) - 结束: - 胜利掉落正确 - 失败进入死亡/失败流程 - 战斗日志完整可读 ### 11.4.7 任务系统 - 任务触发:满足条件应进入 Active - 任务步骤推进:到达地点/交付物品/击败敌人等正确推进 - 完成奖励:效果链正确执行 - 失败(如有):失败条件触发后状态正确 ### 11.4.8 灾害系统 - 预警期提示与倒计时正确 - 爆发期规则改变正确(消耗倍率、遭遇权重、资源刷新) - 结束后恢复默认规则 - 灾害与事件/任务交互不冲突(优先级一致) ### 11.4.9 存档 - 自动存档触发点:回基地/战斗结束/重要事件后 - 快速保存:不阻塞主线程,保存成功提示 - 读档: - 所有状态恢复一致 - 地点资源存量一致 - 任务进度一致 - 内容版本不一致时提示并迁移 ## 11.5 兼容性测试 - PC: - Chrome/Edge/Safari(macOS) - Mobile: - iOS Safari - Android Chrome ## 11.6 性能与稳定性 - 长时间运行(模拟 3 小时游戏内循环)不出现内存持续增长 - 连续时间加速不出现卡死 - 大背包(200+物品条目)滚动与操作流畅 ## 11.7 发布验收清单(Gate) - 核心循环可闭环(可从基地出发并持续发展) - 主要系统无阻塞性 bug(卡死/坏档/无法推进) - 内容校验全通过(Schema + 引用) - 随机可重放(seed + 操作序列可复现) - 关键数据埋点与错误上报可用(如项目需要)