我们在想一个好的 bug 报告模板
一份好的游戏错误报告应该包含哪些必备内容?本文面向开发者和测试人员。
作者 原文: 来自波兰的开发者莱瑟克·戈尔尼亚克(Leszek Górniak)。他是Teyon的游戏设计师,Bob Games的Unity开发者,以及Gamasutra的专栏作家。

莱瑟克·戈尔尼亚克
“某些武器对洞穴巨魔没有造成伤害。” “指示器显示的弹药数量不正确。” “在第三关的纹理出现了问题。”
以上每个句子看似都像是错误报告,但没有一个提供足够的信息来帮助开发者解决问题。虽然这些例子有些夸张,但我确实见过不少模糊、不完整或难以理解的投诉。无论我在IT行业担任测试员,在成为游戏设计师的过程中也遇到过这些问题。
在这篇文章中,我想展示一份好的错误报告模板应是什么样子,以便提供完整、清晰和有效的反馈。我的模板包含十个要点:
- 标题;
- 类别;
- 重要性/优先级;
- 重现问题的步骤;
- 实际发生的情况;
- 预期发生的情况;
- 程序版本;
- 问题是否可重现;
- 平台;
- 附加文件。
在继续之前,我想澄清几点。首先,错误报告中只应包含能帮助解决问题的信息,避免包含无关细节。我的模板中只包含这些要点,尽管在特定游戏中可以省掉某些不相关的部分。
其次,我极力推荐使用某种错误追踪系统。对于小型项目,Google Docs就足够了。但是如果你有一个较大的项目,选择一个合适的工具,以便将错误进行分类、设置过滤和优先级。我个人推荐Mantis用于小型项目(10-30人)和JIRA用于大型项目。首先你需要解决错误报告的整理问题。

JIRA界面
现在让我们逐一看看模板的具体要点。
标题
请用户写一个简短的标题,清楚地描述问题。“在第三关的纹理出现了问题” — 虽然简短,但不够描述性。而“第三关的摩天大楼上的材料纹理出现了问题” — 那就好得多。仅从标题中就能清楚地得知修复问题所需的信息(当然,前提是问题并非发生在所有摩天大楼上,那就需要进一步说明)。
类别
每个问题都可以归类到一个具体的类别中,例如:界面、音频、对话、AI等。将这些类别包含在模板中,将有助于过滤报告和分配解决问题的任务给不同的员工。
重要性/优先级
重要性指的是错误的严重程度。如果界面中一个按钮覆盖了另一个按钮 — 这是轻微问题;而执行主要任务时崩溃 — 那就是通关障碍。
优先级通常与问题的重要性直接相关。尽管有些错误追踪系统为重要性(轻微问题、严重问题、致命问题、通关障碍)和优先级(低、中、高、紧急)提供了不同的过滤选项。
重现问题的步骤
这是报告中最重要的部分!没有详细的重现步骤,程序员要么找不到问题,要么会花费过多的时间和精力去重现它。描述应该既详细又简单。下面我将给出一些例子。
实际发生的情况
这应该是对“在完成前述所有步骤后会发生什么”的回答。请记住,有时一张截图或日志的效果胜过千言万语(这就是附加文件项的重要性)。
预期发生的情况
这是可选项。虽然在某些情况下,没有它报告会显得不完整。需要明确如果没有错误,究竟应该发生什么。
程序版本
错误可能出现在特定的程序版本中,因此需要在报告中包含版本号。
问题是否可重现
每次按照重现步骤操作时,错误是否每次都会发生,还是偶尔出现。理想情况下,错误应始终可重现,但有时重现它可能非常困难——例如,问题可能与低性能硬件相关。
平台
这也是可选项,但在某些情况下非常重要。例如,如果:
- 游戏是为多个平台开发的,而错误只发生在其中一个平台;
- 错误与性能低下有关,因此我们需要知道特定设备的规格;
- 游戏是为不同的浏览器开发的,而错误再次只在一个浏览器中发生。
附加文件
可能包括:
- 截图(在报告涉及环境或用户界面时非常有用);
- 视频(例如,可以用来展示AI的异常行为);
- 日志(例如,在崩溃时需要)。

但是,我已经玩了一个半小时了!..
好了,关于要点我们已经澄清了。现在我来给你们展示如何在之前提到的例子中应用这份模板。
例子1. 某些武器对洞穴巨魔没有造成伤害
标题: 斧头对洞穴巨魔没有造成伤害。
类别: 游戏玩法。
重要性/优先级: 致命/高。
重现问题的步骤:
- 进入第二幕。
- 进入矮人王国。
- 与戈特雷克交谈以激活“洞穴巨魔”任务。
- 前往巨魔的巢穴。
- 装备任意“斧头”类型的武器。
- 攻击巨魔并尝试造成伤害。
实际发生的情况: 洞穴巨魔没有受到伤害。
预期发生的情况: <显而易见,可以省略>
程序版本: 0.3.1。
问题是否可重现: 是的,始终。
平台: 任何。
附加文件: 无。
例子2. 指示器显示的弹药数量不正确
标题: 在重装后,指示器显示的弹药数量过多。
类别: 界面(UI/HUD)。
重要性/优先级: 严重/高。
重现问题的步骤:
- 拿起一把30发子弹的火器。
- 射击五次。
- 进行重新装填。
实际发生的情况: 指示器显示55发子弹(重装前25发+弹匣容量)。
预期发生的情况: 指示器应显示30发子弹(重装前25发+重装后5发)。
程序版本: 0.3.1
问题是否可重现: 是的,始终。
平台: 任何。
附加文件: 显示指示器上不正确弹药数量的截图。
例子3. 第三关的纹理出现了问题
标题: 第三关摩天大楼上的材料纹理出现了问题。
类别: 环境。
重要性/优先级: 轻微/正常。
重现问题的步骤: <显而易见,可以省略>
实际发生的情况: 请参见截图。
预期发生的情况: <显而易见,可以省略>
程序版本: 0.5b。
问题是否可重现: 始终。
平台: PS4。
附加文件: 有摩天大楼的截图。
有序和稳定地解决错误对游戏质量有显著影响。使用清晰和统一的错误报告模板将改善您团队的工作和互动,最终帮助您制作出更高质量的游戏。
相关主题:
来源: Gamasutra