为什么要建议阅读此文?
原因很简单:你提交的Bug越有效,开发人员就越可能尽快修复它。
如何提交有效的Bug
有效的Bug指最终被开发人员修改的Bug,它通常符合两项标准:
- 可重现。 如果开发人员不能重现你提交的Bug,他/她很可能直接将其状态标为 "WORKSFORME"(不可重现) 或 "INVALID"(无效),然后处理下一个Bug。 所以Bug重现步骤的描述最好详细一点。
- 具体明确。 开发人员越快确定Bug的发生原因, 就可能越快地修复这个Bug。 如果开发人员弄不清Bug的意思,甚至花费时间请提交人员来解释,就会浪费很多时间。
[ 更详细解释 ]举个例子:假设你正在测试一个Web应用程序 foo.com,系统不幸崩溃了,于是你提交如下的Bug:
不好的Bug报告: "本人浏览器崩溃了,可能是在浏览 www.foo.com 的时候吧。 另外,后退 图表也很丑。主页的显示也参差不齐...... "
好的Bug报告: "在浏览 www.foo.com 时每次浏览器每次都会崩溃;测试的Build号为 2002-02-25,操作系统为Windows 2000。使用 Build 2002-02-24 在Linux下也可重现这个问题。
另外,每次在页面顶部显示foo的banner图片时浏览器也会崩溃。 分析页面构成,发现崩溃的原因可能以下链接中的 "border=0" 的attribute无效
<IMG SRC="http://www.foo.com/images/topics/topicfoos.gif" width="34" height="44" border="0" alt="News">
如何有效提交Bug报告?
首先,在提交Bug之前,最好使用Bugzilla的 搜索 功能查询一下已经提交的Bug。 提交重复的Bug会使开发人员厌烦,因而也影响了Bug修改的效率。
其次,确认使用最新的测试版本来重新这个Bug。 因为很可能你报告的Bug在最新版本中已被修复。
在当前版本中发现了一个新Bug时,好的做法是:
- 在Bugzilla系统主页,点击 "新建Bug"。
- 选择Bug所在的产品。
- 输入email用户名和密码,登录系统。
现在开始输入Bug。各字段的含义是:
Bug发生的具体环境
产品
版本号
(如果有的话)模块
操作系统: (例如 Linux, Windows 2000, Mac OS9等.)
如果该Bug发生在所有操作系统上,选择'所有'; 如果不在列出的操作系统中,选择 "其它" 。Bug的重要程度
严重度
Bug的相关人员
责任人
抄送人
可有多个抄送人,以英文逗号隔开。抄送人必须有系统的登录帐号。Bug的描述
摘要描述:
好的摘要描述必须能快速而准确地定位Bug的含义。 注意:Bug的摘要描述非常重要,很多开发人员通常只看Bug的摘要描述;别人在搜索Bug时也通常只搜索摘要描述中的关键词。
好的摘要描述例如: "PCMCIA在Tosh Tecra 780DVD上安全失败;错误代码 3c589C";不好的摘要描述如 "软件失败" 或 "安装问题 " 。
[ 更多解释 ]
详细描述:
Bug的详细描述和重现步骤一般应该包括:总体描述: 摘要描述的扩展。如:
拖动选择任何页面将导致Mac版本在NSGetFactory处崩溃。重现步骤: 详细的重新步骤, 也包括前置条件。如:
1) 浏览任何Web页面; (我使用的是缺省的范例页面 resource:/res/samples/test0.html) 2) 拖动鼠标选择该页面内容;实际结果: 输入程序在执行以上步骤后的实际结果,如:
程序崩溃。 错误信息见附件。预期结果: 程序在执行以上步骤时在正常状况下应当出现的结果。如:
窗口向下滚动,内容被正常选中。版本日期及平台: 初次发现此Bug时的版本号码和平台。如:
版本号为 2002-03-15, 平台为 Mac OS9.0。其它版本号和平台: 可重现此Bug的其它 版本号(或浏览器名称) 及平台。如:
- 此Bug也出现在 Mozilla (2002-03-15 build ,Windows NT 4.0)浏览器上 - 此Bug不出现在以下环境: Mozilla (Red Hat Linux的2002-03-15 build) Internet Explorer 5.0 (Windows NT 4.0自带版本) Netscape Communicator 4.5 (Mac OS 9.0自带版本)附加的调试信息:
- 在Win32下: 附加一些系统的错误日志
- 在Mac下: 如果运行了 MacsBug, 可提供 how 和 sc 结果:
*** MACSBUG STACK CRAWL OF CRASH (Mac OS) Calling chain using A6/R1 links Back chain ISA Caller 00000000 PPC 0BA85E74 03AEFD80 PPC 0B742248 03AEFD30 PPC 0B50FDDC NSGetFactory+027FC PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0Ok,Bug描述完毕。
检查一遍,然后点击 "提交" 按钮,Bug提交工作就完成了。
关于如何提交有效Bug的附加信息
结构清晰,易于浏览;
避免词藻华丽、修饰过多却语意不清的词句;
一份报告只说一个Bug;
哪怕是再细微的Bug也值得提交。
在书写Bug摘要标题前,问一下自己:"别人仅看这个摘要就会得出充分的信息吗? " 经常这样问自己,则不难写出好的摘要描述了。
不要写类似以下的Bug标题:
- "不能安装" - 怎样不能安装?安装时发生了什么问题?
- "严重的性能问题" - 发生的具体情况,何时执行什么操作时?
- "后退 按钮不能工作。" - 何时?怎样?完全不能?
好的Bug标题如:
- "在Mozilla M18 环境下1.0版本升级安装失败" - 说明了问题发生的情况和环境。