测试不是把游戏再玩一遍
个人开发者发售前最常见的自测方式是“我从头到尾又玩了一遍”。这当然有价值,但远远不够。因为开发者熟悉所有操作,知道哪里可以跳过,知道 Bug 如何绕开,开发机也往往安装了各种运行库和工具。玩家遇到的问题,通常发生在你不会自然触发的地方:第一次启动、低分辨率、手柄断开、系统语言不同、旧存档升级、Steam 客户端离线、显卡驱动过旧。
QA 矩阵的目的不是追求覆盖所有情况,而是用有限时间覆盖最高风险。个人开发者不可能像大团队那样准备几十台机器,但可以把测试从“随便玩”变成“按场景验证”。只要能抓住启动、流程阻塞、存档损坏、输入失效和严重性能问题,就能显著降低首发差评风险。
先列风险,而不是先列设备
测试矩阵应该从风险开始。不同游戏风险不同:动作游戏怕输入延迟和帧率,叙事游戏怕存档和语言,策略游戏怕 UI 缩放,联机游戏怕网络和匹配。先列风险,才能决定需要哪些设备。
示例风险表:
| 风险 | 可能后果 | 测试优先级 |
|---|---|---|
| 首次启动崩溃 | 玩家无法进入游戏,退款和差评 | 最高 |
| 存档损坏 | 玩家进度丢失,信任崩塌 | 最高 |
| 分辨率 UI 溢出 | 无法点击按钮或阅读文本 | 高 |
| 手柄识别错误 | 动作类体验受损 | 高 |
| 低配卡顿 | 影响系统需求可信度 | 高 |
| 语言缺字 | 非中文玩家无法理解 | 中高 |
| 成就不触发 | 影响完成型玩家 | 中 |
| 音量和窗口设置不保存 | 体验问题 | 中 |
列完风险后,再决定测试资源。不要一开始就说“我没有设备所以没法测”。你需要的是风险优先,而不是设备完美。
设备矩阵按玩家下限设计
个人开发者通常会在性能较好的开发机上制作游戏,这会掩盖很多问题。发售前至少要找一台“玩家下限设备”。下限不是市场上最差电脑,而是你系统需求中承诺能运行的水平。
建议矩阵:
| 设备 | 目标 |
|---|---|
| 开发主机 | 快速回归和调试 |
| 干净 Windows 笔记本 | 验证运行库、安装和低配体验 |
| 不同显卡或集显设备 | 验证图形兼容性 |
| 大屏高分辨率设备 | 验证 UI 缩放 |
| 非中文系统或切换系统语言 | 验证路径、字体和本地化 |
如果没有设备,可以借朋友电脑,让测试者录屏,或使用云电脑。重点是不要只在一台开发机上宣布“测试通过”。Steam 玩家环境非常分散,首发版本越小心越好。
必测路径一:Steam 安装版首次启动
很多问题只有 Steam 安装版才会出现。本地编辑器运行通过,不代表 Steam 下载版通过。首次启动测试要从 Steam 客户端开始:
- 清理旧安装和旧存档;
- 从 Steam 下载测试分支;
- 点击客户端里的“开始游戏”;
- 检查窗口、分辨率、音频、语言;
- 进入新游戏;
- 完成教程或前 10 分钟;
- 退出到桌面;
- 再次启动并继续。
记录每一步耗时和异常。首次启动特别要看黑屏时间。很多玩家看到 10 秒黑屏就会以为游戏卡死。如果加载确实需要时间,应该有加载画面或反馈。不要让玩家猜。
必测路径二:存档和版本升级
存档问题是首发后最伤信任的 Bug。即使游戏很短,也要测试保存、读取、删除、云同步和版本升级。个人开发者常常只测“新存档能不能保存”,却忘了旧版本存档升级。
存档测试表:
| 场景 | 检查点 |
|---|---|
| 新游戏保存 | 退出重进后位置和状态正确 |
| 多存档槽 | 不互相覆盖 |
| 设置保存 | 音量、语言、分辨率不丢失 |
| 旧版本升级 | 旧存档能读或给出清楚提示 |
| 存档损坏 | 游戏不应直接崩溃 |
| 云同步 | 多设备状态符合预期 |
如果你不能支持旧存档兼容,要提前说明。测试版、Demo、抢先体验尤其要注意存档继承。玩家可以接受测试存档不继承,但不能接受你没有提前讲。
必测路径三:输入和窗口状态
输入问题非常容易被开发者忽略,因为你总是用自己习惯的设备。发售前至少要测试键鼠、常见手柄、窗口切换和焦点丢失。
检查清单:
- 键盘改键是否保存;
- 鼠标灵敏度是否合理;
- 手柄插入前启动和启动后插入都能识别;
- 手柄断开时游戏是否提示;
- Alt+Tab 后音频和输入是否正常;
- 窗口、全屏、无边框切换是否稳定;
- 低分辨率下按钮是否能点击;
- UI 是否显示当前输入方式。
如果你的游戏不支持手柄,不要在商店页或标签里暗示支持。如果支持不完整,也要在页面和设置里讲清楚。错误预期比缺少功能更容易导致差评。
必测路径四:语言和字体
本地化不仅是翻译文本。Steam 页面上勾选语言后,玩家会期待游戏内相应语言可用。如果游戏支持多语言,必须测试字体、换行、文本溢出、输入法、系统语言和缺字。
个人开发者可以做一张语言风险表:
| 问题 | 测试方法 |
|---|---|
| 文本超框 | 把语言切到最长文本版本 |
| 缺字方块 | 检查菜单、对话、设置、结算 |
| 换行错误 | 测试不同分辨率 |
| 字体授权 | 确认发布权限 |
| 语言切换后不刷新 | 在菜单和游戏内切换 |
| 存档语言混乱 | 切换语言后读取旧存档 |
不要只看主菜单。很多缺字发生在成就说明、物品描述、错误提示和结算界面。玩家一旦在关键剧情看到方块字,会立刻觉得项目不专业。
必测路径五:性能和系统需求
系统需求不是随便填的。它是你对玩家的承诺。个人开发者应该用实际测试结果写最低配置和推荐配置,而不是复制引擎默认模板。
性能测试至少记录:
- 设备配置;
- 分辨率;
- 画质设置;
- 平均帧率;
- 最低帧率场景;
- 加载时间;
- 内存占用;
- 是否有长时间卡顿。
不要只测空场景。找最重的场景:敌人最多、特效最多、UI 最复杂、存档最大、关卡最长。最低配置应该能完成游戏,而不是只进入主菜单。推荐配置则应该代表较稳定体验。
如果性能不足,可以提供画质选项。即使选项很简单,比如阴影、粒子、后处理、分辨率缩放,也比让玩家无处可调更好。
回归测试要短而固定
每次修 Bug 后都从头完整玩一遍不现实。你需要一套 20-40 分钟的固定回归测试,覆盖最关键路径。
示例回归脚本:
- 新安装启动;
- 新建存档;
- 完成教程;
- 进入第二个场景;
- 触发一次战斗或核心玩法;
- 保存退出;
- 重新进入;
- 切换语言;
- 切换窗口模式;
- 退出游戏。
每次上传候选构建都跑一遍。发现问题就记录版本号、复现步骤、截图或日志。不要只写“有时候会卡”,要写“0.9.5,Windows 10,教程第三步点击返回后卡死,可复现 2/3 次”。这样的记录才能指导修复。
日志和崩溃信息要能拿回来
测试矩阵还要考虑“出了问题如何拿到证据”。发售前至少确认日志位置、崩溃文件位置和玩家反馈格式。公告或 FAQ 里可以写清楚:如果遇到崩溃,请附上系统版本、显卡、游戏版本、复现步骤和日志文件。个人开发者没有客服团队,更需要让反馈一次就尽量完整。
日志不要包含敏感本地路径或调试密钥,也不要无限增长。一个能定位启动、加载、存档和场景切换的简洁日志,比大量无意义输出更有用。
发布前 QA 表
发售前可以用这张总表检查:
| 类别 | 是否通过 | 备注 |
|---|---|---|
| Steam 安装版首次启动 | ||
| 新游戏前 30 分钟 | ||
| 存档保存和读取 | ||
| 旧版本存档升级 | ||
| 键鼠输入 | ||
| 手柄输入 | ||
| 分辨率和窗口模式 | ||
| 语言和字体 | ||
| 低配性能 | ||
| 崩溃日志收集 | ||
| 回滚构建可用 | ||
| 已知问题公告 |
这个表不是形式主义。它能让你在发售前做取舍。假如某个中等问题来不及修,你至少知道它存在,并准备说明或规避。最怕的是问题已经在测试中出现过,但没有记录,发售后才被玩家放大。
有限测试也能减少首发事故
个人开发者不可能覆盖所有玩家环境,但可以覆盖最容易造成退款和差评的风险。启动、存档、输入、语言、性能、Steam 安装版,这些都不是高级 QA,而是基本信任。玩家不一定要求小团队零 Bug,但会期待游戏能启动、能保存、能看懂、能正常退出。
把测试矩阵做起来后,你会发现它还能反向帮助开发。每次改动都会被固定脚本验证,构建发布更有底气,商店页系统需求更可信,客服回复也更具体。有限设备并不是借口,混乱测试才是风险。用风险优先的方法,你可以用很小成本把发售质量提升一大截。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。