# 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 + 操作序列可复现）
- 关键数据埋点与错误上报可用（如项目需要）

