编写优秀 Bug 报告的艺术及案例分析
关键词: 测试
前言
在
99
年的
Quality week
上的一次演讲中,微软的一个测试经理,
Roger Sherman
指出了由于
“不可重现”导致
bug
关闭的主要原因。这是一个非常可惜的情况,因为这样的
bug report
浪
费了紧张的开发计划中的宝贵时间,增加了对产品质量完全是无关紧要的事情,同时导致
了在开发人员和测试之间的挫败感和差的感觉。有时,
bug report
是由于短暂的或随机的
事件,测试和开发之间不一致的工具和配置,或者在测试的环境下对正确的行为的模糊定
义而产生的,但是许多的由于不可重现而被关闭的测试报告是因为描述不清晰,被误解,
或者只是文字的错误。
幸运的是,我学习到一些能够引起管理层注意,更清楚的和开发人员沟通并得到修复的编
写优秀 bug report 的诀窍。这些技巧不仅仅提供了是在被修复的问题的比例方面得到了可靠
的回报,而且在同开发人员和管理层的通过中也得到了回报。在我管理的项目中使用这种
方法编写 bug report,8 份 bug report 中大约只有一个没有被修复。
这篇文章的思想只有当你的报告针对的测试执行过程是专业的质量工作才可以发挥作用。
聪明地执行完整的测试包是产生可靠的测试状况信息的基础的其中一个因素。在许多的测
试文献中广泛地介绍了多种多样的关于如何构建这样的测试包的方法。选择和你质量风险
管理需求相一致的技术并且使之适应你的具体情况,敏捷地监督已计划的测试的执行过程
这样你就可以拥有可靠的测试执行过程。
另外一个关键的因素-bug report,却没有得到太多的关注。这是非常令人遗憾的,因为优
秀的 bug report 对反映测试小组真实的和可理解的工作质量同测试本身一样都是非常重要的。
试想一下:如果你不能用开发人员能够理解的术语和能够用于调试的方法给开发人员解释
一个错误,他怎么能够修复问题呢?如果你不能够在 bug report 中提出象“保险杆标签”
(bumper sticker)一样的错误总结来引起管理层的注意,你又如何让他们关心你们发现的
问题呢?
Bug report 的核心是对错误的描述。表格 1 中是一个关于好和差的错误描述的例子。编写好
的 bug report 是一种好的艺术形式。采用以下的 10 条技巧可以帮助你的小组提高编写 bug
report 的质量:
1. 组织 Structure:测试人员应该采用深思熟虑的,小心谨慎的方法执行测试,并且
做详尽的记录。这样可以促使他们对测试下的系统有很好的认识。当错误发生的时
候,一个有组织的测试人员能够知道最早出现问题的地方。
2. 重现 Reproduce:测试人员在编写 bug report 之前必须在检查问题是否可重现。如
果错误不可再重现,仍然应该写下来,但是必须说明问题的偶然性。一个好的处理
原则就是在编写 bug report 之前反复尝试 3 次。
3. 隔离 Isolate:在尝试编写 bug report 之前,必须试着隔离错误。可以采用改变一些
变量的方法,如系统的配置,它可能可以改变错误的症状。这些信息可以为开发人
员着手调试提供思路。
4. 归纳 Generalize:在测试人员发现了一个已隔离的,可重现的问题后,应该对问题