资源描述:
《编写优秀Bug报告的艺术及案例分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、编写优秀Bug报告的艺术及案例分析刖旨在99年的Qualityweek上的一次演讲中,微软的一个测试经理,FtogerSherman指出了由于“不可重现”导致bug关闭的主要原因。这是一个非常可惜的情况,因为这样的bugrepoFt浪费了紧张的开发计划中的宝贵时间,增加了对产品质量完全是无关紧要的事情,同时导致了在开发人员和测试之间的挫败感和差的感觉。有时,bugreport是由于短暂的或随机的事件,测试和开发之间不一致的工具和配置,或者在测试的环境下对正确的行为的模糊定义而产生的,但是许多的由于不
2、可重现而被关闭的测试报告是因为描述不清晰,被误解,或者只是文字的错误。幸运的是,我学习到一些能够引起管理层注意,更清楚的和开发人员沟通并得到修复的编写优秀bugreport的诀窍。这些技巧不仅仅提供了是在被修复的问题的比例方面得到了可靠的回报,而且在同开发人员和管理层的通过中也得到了回报。在我管理的项冃中使用这种方法编写bugreport,8份bugreport屮大约只有一个没有被修复。这篇文章的思想只有当你的报告针对的测试执行过程是专业的质量工作才可以发挥作用。聪明地执行完整的测试包是产生可靠的测
3、试状况信息的基础的其屮一个因素。在许多的测试文献屮广泛地介绍了多种多样的关于如何构建这样的测试包的方法。选择和你质量风险管理需求相…致的技术并且使之适应你的具体情况,敏捷地监督已计划的测试的执行过程,这样你就可以拥有可靠的测试执行过程。另外一个关键的因素一bugreport,却没有得到太多的关注。这是非常令人遗憾的,因为优秀的bugreport对反映测试小组真实的和可理解的工作质量同测试木身一样都是非常重要的。试想一下:如果你不能用开发人员能够理解的术语和能够用于调试的方法给开发人员解释一个错误,他
4、怎么能够修复问题呢?如果你不能够在bugreport屮提出象"保险杆标签”(birnpersticker)一样的错误总结来引起管理层的注意,你又如何让他们关心你们发现的问题呢?Bugreport的核心是对错误的描述。表格1中是一个关于好和差的错误描述的例子。编写好的bugreport是一种好的艺术形式。采用以下的10条技巧可以帮助你的小组提高编写bugreport的质量:L组织Structure测试人员应该采用深思熟虑的,小心谨慎的方法执行测试,并且做详尽的记录。这样可以促使他们对测试下的系统有很好
5、的认识。当错误发生的时候,一个有组织的测试人员能够知道最早出现问题的地方。2重现Reproduce测试人员在编写bugreportZ前必须在检查问题是否可重现。如杲错误不可再重现,仍然应该写下来,但是必须说明问题的偶然性。一个好的处理原则就是在编写bugreport之前反复尝试3次。3隔离Isolate在尝试编写bugreport之前,必须试着隔离错误。可以采用改变一些变量的方法,如系统的配置,它可能可以改变错误的症状。这些信息可以为开发人员着手调试提供思路。4归纳Generalize在测试人员发现
6、了一个已隔离的,可重现的问题后,应该对问题进行归纳。同•个问题是否岀现在其他的模块或其他的地方?同一个故障是否有更加严重的问题?5对比Caiparet如果测试人员以前曾经验证过现在出错的测试用例,那么他就应该检查以前的测试结果以检查和同的条件是否通过以前的测试。如果是的话,那么这个问题就象是一个回归的错误。注意由于同一测试条件有可能出现在多个测试用例中,这个步骤就不仅仅只是检查一个测试用例在以前的多个结果。6总结SuimarizQ在bugreport的第一行写上错误的总结是非常关键的。测试人员要花些
7、时间思考已发现的错误对客户有何影响。这不仅仅要求测试人员编写的报告要能够吸引读者,使和管理层的沟通淸晰,还要能够帮助设置错误修复的优先级别。7・精简Condense在bugreport的初稿完成后,测试人员应该反复阅读它,集中剔除那些没有关系的步骤或词语。隐含的或模糊的说明和那些市丁对没有任何关系的细节或者那些在重现错误过程中不需要的步骤而消磨报告欢迎程度的无穷唠叨都不是bugreport的目标。8消除歧义DisarrbiguatQ测试人员在精简空话的同吋或其之后随即应该再仔细检查报告是否有会产生误
8、解的地方。测试人员应该尽量避免使用模糊的,会产生歧义的和主观的词语。冃标是使用能够表述事实,清楚的,不会产生争执的词语。a中立Neutralize如文中所述,作为坏消息的传递人,和善地提交消息是一个挑战。如同所有的错误总结一样,独立的bugreport在措辞方面应该保持公正。攻击开发人员,指责潜在的错误,企图诙谐或使用挖苦将引起开发人员的憎恶,并且使注意力从“提高产品质量”这个大的目标上转移开了。谨慎的测试人员只用Bugreport来描述事实。1Q检查Review一旦