如何写出高质量的Bug单
程序员是否经常让你在Bug单上再提供一些更多的信息?当Bug单提交后,你是否经常会再花很多时间来研究如何重现这个Bug?你是否经常听到开发人员说Bug在开发环境下无法重现?问题在于Bug单的质量不高,我们应该花更多的时间在研究如何测试系统上,而不是花更多的时间在Bug单上,本文就如何写出高质量的Bug单提出了一些建议。
为什么要写Bug单
当我们发现Bug后,需要通知开发人员,Bug单是一种沟通的介质,它的主要目的是让开发人员能够亲眼看到这个Bug是什么,如果不提供足够详细的说明来帮助开发人员重现Bug,那么他们就没法确定问题的根源。Bug单是一种用来说明期望结果和实际结果之间的差异以及描述bug如何重现的文档。
发现Bug后应该做什么
·最好是一发现并确认了bug就立即填写Bug单,而不要等到当天测试结束再和其他bug一起填,因为那时就有可能遗漏一些要点,甚至是遗漏某个bug。
·花点时间分析一下造成Bug的根本原因是什么,你可能会因此发现更多的Bug,最好能把你的任何有用的证据都写到Bug单上。
· Bug单提交之前自己再读一遍,可能会有错别字或者什么写错的地方需要重写。
下面将谈到填写Bug单时应注意的几个地方:
摘要(概述)
Bug单的“摘要”部分是一个Bug单带给读者的最初印象,它在浏览大量Bug时起着非常重要的作用,每个Bug单都应该有一个能够突出重点的“摘要”,就好像做广告一样。好的摘要应该控制在50~60个字符以内(一个汉字算两个字符),而且不要夹杂任何主观色彩的文字。
措辞
·要据实反应情况,不要夸大或缩小Bug的影响。
·有时候会发现一些令人不可思议的低级Bug,但还是要尽量使用较为委婉的词语来表述,免得伤害开发人员的自尊心。
·描述越简单直接越好,我们不是在写论文或散文,所以不要把Bug单搞得那么复杂难懂。
·要考虑到目标读者,他们可能是开发人员、测试人员、管理人员或者其他人,甚至是客户,所以要让目标读者都能看得懂Bug描述。
重现的步骤
·每一步以及所有步骤组合起来应该是符合逻辑的。
·清晰地列出所需的前置条件。
·描述一般性的步骤,例如,某一步骤需要用户新建一个文件并给它命名,那就不要写“新建一个名为Mike’s File的文件”,而最好写成“新建一个测试文件TestFile”。
·步骤应尽量详细,例如,我们要描述通过MS WORD保存一个文档,那么有两种方式,一是说得细点儿,即“从[文件]菜单里单击[保存],……”,另一种就是说得简单点,即“保存文档”,但请记住,并非所有人都知道如何从MS WORD保存文档,或者说所有人都会使用同样的方式保存文档,所以描述的时候最好还是采用第一种方式。
·写完之后自己用新的测试数据或者在新的系统上按照步骤亲自执行一遍,或许能够发现Bug单里有一些是遗漏的或多余的步骤。
测试数据
开发人员重现Bug时可能不会访问测试环境,有些Bug可能只能用一定的测试数据才能重现,所以尽量把测试数据附在Bug单上。
屏幕截图
屏幕截图是Bug单里非常重要的组成部分,有时一张图能胜过千言万语,但也不能养成习惯不管有用没用的图都往上贴,或者是只贴图而缺少文字描述。附图能够使开发人员结合你的描述快速地重现Bug是最理想的:
·所附图片的尺寸和占用空间不要太大,尽量用jpg或gif格式,而不要用bmp格式。
·在图中出问题的地方标注一下,更利于开发人员快速定位。
严重级/优先级
·设置Bug的严重级之前,应该全面地分析Bug的影响,如果我们认为这个Bug的优先级很高,那么应该在Bug单里说明优先级高的原因。
·如果Bug是由于程序版本恢复到上一版而产生的,那么不管它的严重级如何,它的优先级应该置成“高”。
日志
如果可以的话一定要把程序报错的日志附上,这会让开发人员比较容易进行分析和调试。很多不能重现的Bug都是因为缺少日志,开发人员就会返回去找测试人员要日志信息。如果日志文件不大的话,比如十几行,那么可以直接把日志信息粘到Bug单里,如果日志很大的话,那么最好单独粘到一个文件里,如txt格式的,然后当作Bug单的附件就可以了。