2e1b58bada
添加游戏设计文档、技术架构文档、数值经济文档等内容 新增Mermaid图表文件描述系统架构和流程 包含README说明文档结构和阅读顺序
156 lines
4.9 KiB
Markdown
156 lines
4.9 KiB
Markdown
# 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 + 操作序列可复现)
|
||
- 关键数据埋点与错误上报可用(如项目需要)
|
||
|