畅享博客 > 协同软件 > [分享]如何编写有效的缺陷报告 (入选推荐日志,加10币)
2010/9/25 11:23:33

[分享]如何编写有效的缺陷报告 (入选推荐日志,加10币)

一、什么是软件缺陷
   软件缺陷(Defect),常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

二、软件设计过程中的交接单——缺陷报告
   缺陷报告把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。
协同公司在项目中采用的缺陷处理过程如下


   在软件测试过程中,缺陷报告起到了一个交接单的作用,它帮助开发人员和测试人员之间更有效的交流,提高了缺陷的解决速度和质量。同时也可以通过统计bug数来对被测的软件进行质量评估,比如根据以往项目中每千行bug数的平均值来制定测试计划,同类的产品,尤其是同一个开发流程的产品,这些数值不应该相差太多,如果相差一个数量级以上,我们几乎可以说,要么是QA出问题了,要么是开发出问题了。另外,降级bug的多少对于软件质量评估也是一个重要参考标准,降级bug也就是由于修正一个bug,又产生了一个新bug,降级bug数目过多意味着现在的产品在越修越坏。
   缺陷报告是测试过程中可以提交的最重要的东西。编写缺陷报告的目的是为了方便程序员找到程序出现的问题,从而有利于分析错误产生的原因,定位错误,修改问题。它的重要性丝毫不亚于测试计划,并且比其他的在测试过程中的产出文档对产品的质量的影响更大。因此,缺陷报告编写的基本要求是简洁、准确、完整、规范。有效的缺陷报告将能够:减少开发部门的二次缺陷率、提高开发修改缺陷的速度、提高测试部门的信用度、增强测试和开发部门的协作。那么在提交缺陷报告时,我们需要提交的就是一份简单明了、便于理解和查找问题的缺陷报告。
三、各个测试阶段中的测试点
   在不同的测试阶段,我们测试点也不相同。
   单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标。
   集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。
   确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。
   系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。
   验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也应有一定程度的参与。
   验收测试可以分成Alpha测试和Beta测试。Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试。
四、缺陷报告的组成
   分类:该问题所属的模块。
   出现频率:包括“经常”、“有时”、“随机”、“无法重复”等。
   严重度:包括“新特性”、“微不足道”、“文字错误”、“不合理或别扭”、“次要错误”、“严重错误”、“系统崩溃”、“系统死锁”。
   优先权:“低”、“中”、“高”、“加急”、“特急”。需要根据该bug对后续程序测试的影响来选择。
   选择平台:Bug的产生有时跟平台有关,有的bug并不是在所有平台下都会出现,所以需要记录下该测试环境的平台、操作系统、版本号等信息。
   版本:本次测试产品的版本。
   产品构建号:本次测试产品的产品构建号。
   摘要:需要简单明了的说明在什么位置出现了什么样的错误信息。
   说明:描述BUG的出处和BUG不合理的地方,需要准确反映错误的本质内容,要足够详细。
   问题重现步骤说明:按照详细操作步骤可以重现BUG,以方便开发人员快速解决bug,或以后翻查起来更方便理解。注意,每一个步骤尽量只记录一个操作。
   附加信息:对于该问题的一些补充,比如错误日志、期望结果或者期望什么时候完成修改等。
   附件:针对文字难以表达的或界面方面的问题,可以使用截图补充,也可以在截图上搭配简单的文字加以说明。
五、衡量缺陷报告的标准
 用中性语言来陈述事实,不用幽默或情绪化的语言。
 对bug的描述要准确、清晰。
 bug的位置描述清晰。
 bug易于重现。在提交bug时,应当尽量找到bug重现规律,当问题可重现时,才会便于开发人员更快速的查找和解决该问题。面对一些比较不易重现或者不易描述的缺陷时,可以现场演示给开发人员。如果无法找到重现规律,也应该记录下该bug,并描述清楚上次出现的具体场景,同时指明偶然性。
 环境步骤等条件描述清晰。
 具备充分证据(比如截图、日志等)来证明这个bug的存在。
 摘要应该包含该缺陷的关键字以及清晰的描述了该缺陷的重要信息,并且便于从bug跟踪系统中查找和定位该缺陷。
 每个缺陷报告仅报告一个错误,以便日后查找、修改、统计该缺陷。

   缺陷报告作为测试人员和开发人员的交接说明,对修改软件缺陷的工作起到了描述和指示的作用,是软件可靠性提高的有力保障。内容简洁、科学、明确的缺陷报告,是沟通测试人员和开发人员的桥梁,所以,能否编写出高效的缺陷报告是衡量一个测试人员水平的条件,更是体现一个软件项目质量的可靠依据。

 

 



评论


发布者 leemgong
2010/9/26 9:39:53


您还未登录,不能对文章发表评论!请先登录