错误报告指南
本文档介绍了如何编写一份良好的 WebKit 错误报告。好的错误报告有助于开发人员和质量保证 (QA) 人员决定错误的适当优先级和严重性,并增加错误被快速修复的机会。您提供的信息越具体越好。
- 版本
请选择发生错误时您正在使用的 WebKit 版本,或最接近的版本。
非 Safari 发布版本一部分的 WebKit 版本在版本号后带有一个
+
,其版本号通常高于最新发布的 WebKit 版本。例如,528+
是一个非官方的 WebKit 构建版本,它比作为 Safari 3.1.2 的一部分发布的525.x
版本更新。 - 组件
如果您知道错误的精确原因(即,您已将其简化为失败的测试用例并知道原因),那么您可以将错误分配给特定的组件,例如
CSS
或HTML 编辑
。但是,如果您对错误的原因有任何疑问,请将其归入
新错误
。此组件用于存放尚未确定原因的所有错误。一旦有人简化了错误并知道了原因,它将从新错误
组件移动到适当的位置。 - 平台和操作系统
请选择发生错误的平台和操作系统版本。如果您在 OS X 上运行,通常平台为
Macintosh
,操作系统为Mac OS X 10.5
(Leopard)。如果您在 Windows 或 Linux 上运行,请为平台选择PC
,并从操作系统字段中选择相应的条目。如果您的确切系统未列出,请选择最接近的条目并在错误报告的描述中提供更多详细信息。 - 优先级
通常由 QA 人员或开发人员设置此项,因此错误提交者可以保留默认值。设置优先级涉及一些指南和一些个人判断。如果您知道该错误是回归问题(即,在 WebKit 以前版本中没有问题而现在出现的问题),您可以将其设置为 P1。
- 严重性
在大多数情况下,您应该将其保留为
normal
(正常),但如果您确信您的错误是trivial
(微不足道的)或enhancement
(增强功能),则指定该值会很有帮助。如果合适,QA 人员或开发人员会将其设置为其他值。 - URL
如果可能,请在此字段中填写显示该错误的页面 URL。如果您已经为该错误创建了测试用例精简版,请将其作为附件添加到错误报告中,而不是将其放在 Web 服务器上并在此处列出其 URL。这样做可以使错误处理更容易,并且可以是将测试用例与错误修复一起提交的第一步。
- 摘要
一份好的摘要用清晰具体的语言解释问题,但通常足够简洁,可以适应 Bugzilla 中的默认摘要空间。仅仅通过阅读摘要,就应该能够准确了解错误的内容。
撰写良好摘要的技巧
- 包括显示错误的页面域名(尤其是如果它是一个重要网站)
- 如果错误是崩溃,请注明这一点并注明崩溃是否可重现
- 如果您已测试并验证这是 WebKit 以前版本的回归问题,请在摘要前加上“回归:”
- 如果您知道回归发生的修订版本范围,请在“回归”之后将其添加到摘要中(即,“回归(r31201-r31211):”)
- 描述
在此字段中,写下对问题的更详细解释。
描述的技巧
- 一个错误报告中不要包含多个错误。
- 如果您是自行构建 WebKit 或使用了 WebKit 构建归档,请提供 SVN 修订号以及您是否将 WebKit 与 Qt、GTK+、wxWidgets 等配合使用的信息。
- 如果仅加载一个 URL 不足以显示错误(例如,您必须点击多个页面才能出现错误),那么请描述到达发生错误页面的确切导航步骤。不要只说“去论坛”;请使用详细步骤。
- 查看系统控制台,并在错误报告中包含任何可能相关的消息。
- 如果发生崩溃,请尽可能包含回溯日志。先提交错误,然后将回溯日志作为附件添加。
- 对于视觉错误,请包含屏幕截图。如果问题不是很明显,请包含一张显示正确和不正确渲染的屏幕截图,例如 Safari 和另一个浏览器(如 Firefox 或 Internet Explorer)。在 Mac 上,您可以使用 Grab.app 或 Cmd-Shift-4 捕捉一张能演示问题的快照。然后您可以将屏幕截图附加到错误报告中。
- 尽可能具体。例如,如果您正在描述一个在滚动时发生的问题,请在错误报告中注明您是使用方向键、方向按钮、滚动条滑块、点击滑块上方或下方、滚轮鼠标等方式进行滚动。
- 关键词
如果错误是 WebKit 的一个或多个移植版(Mac、iOS、GTK、EFL、Windows)特有的,请使用任何有效关键词来相应地标记错误报告。
- 依赖于
如果此错误的修复依赖于另一个错误修复,请在此处填写另一个错误的编号。否则,请留空。
- 阻塞
如果此错误阻碍了另一个错误的修复,请在此处填写另一个错误的编号。否则,请留空。