为什么你要读这份指南?
简单地说,如果你报告Bug越有效, 工程师完全修复它的可能性就越大。
这份Bug写作指南是针对新手在书写有效的Bug报告方面进行指导的常规指南,并非每个建议都正好适用于你的软件项目。
如何写一份有用的Bug报告?
有用的Bug报告是用于正确修复Bug的。因此一份有用的Bug报告通常地有两个特征:
可复现:
如果工程师不能发现或最终证明这一Bug存在,工程师或许会将它标记为 "WORKSFORME( 所有要重新产生这个bug的企图是无效的)"或 " INVALID(描述的问题不是一个bug ) ",并且继续进行下一个Bug的修复工作。任何你能提供的详尽描述将为工程师修复Bug提供帮助。
详细精确:
如果工程师能越早隔离、定位问题,就越可能方便地修复。
让我们举一个例子:你正在测试一个Web阅览器,在访问foo.com网站时崩溃了,因此你想写一个Bug报告:
糟糕的Bug报告:“我的浏览器崩溃了。我正在访问foo.com。我的计算机使用 Windows系统。这真是个大问题,你们应该马上修复它。顺便说一下,你们的图标真恶心,如果你们保留那些丑陋的图标,没有人将再使用你们的软件。还有我的祖母的主页看上去外观也不正确,或者,它们全被搞乱了。祝好运。”
有用的Bug报告:“每当我访问foo.com时应用程序就崩溃了,我使用的是在Win NT 4.0 (Service Pack 5) 系统上的 10.28.99版本。 我也曾重新引导进入 Linux,使用10.28.99 Linux版本,这个问题也出现了。我发现每次崩溃都发生在绘制这个页面位于上端的 Foo横幅的时候。我分析了页面,发现除非你删除 " border =0"属性,否则下列图片链接将导致应用程序崩溃 :(附图片)
如何在Bugzilla中输入你有用的Bug报告?
在你输入你发现的Bug前,应使用 Bugzilla查询页检查是否你发现的是已知并被报告的Bug。(如果你发现的Bug同第37条已经知道的结果相同,你报告的话,就可能骚扰工程师,从而影响工程师修复Bug的效率。)
下一步,确认你发现的Bug是在最新的版本中所发生的。(工程师更倾向于对那些他们正在编写的代码中的严重问题感兴趣,而不是对以前那些废弃代码中数以百计的Bug进行修复。)
如果你已经在当前版本中发现了一个新的Bug,请在Bugzilla中报告:
从你的Bugzilla主页中,选择“Enter a new bug”。
选择你发现Bug的产品。