测试方法论Bug报告流程2020/1/28JayceeTestBug报告流程Bug管理系统为什么说bugs很重要?Bugs的准则BugsBug的生命周期–详细Bug的解决办法Bug是什么及由来Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug”,这是怎么回事呢?原来,第一代的计算机是由许多庞大且昂贵的真空管组成,并利用大量的电力来使真空管发光。可能正是由于计算机运行产Bug钻进了一支真空管内,导致整个计算机无法工作。研究人员费了半天时间,总算发现原因所在,把这只小虫子从真空管中取出后,计算机又恢复正常。后来,Bug这个名词就沿用下来,表示电脑系统或程序中隐藏的错误、缺陷、漏洞或问题。Bug管理系统Bug始终是被跟踪的Bug可以被测试人员、开发人员、PM(ProgramManager)和任何对产品感到不满的人打开。如果该Bug已经被关闭,但在之后再次发现有问题的时候以上人员都可以再次打开。做为一个测试人员,每天的首要任务就是去跟踪自己打开的bug,并且在24小时内发送反馈。及时的反馈更有助于bug有效、快速的解决。为什么说bugs很重要?规范的跟踪可以确保不错过在开发周期中出现的缺陷(规范的跟踪就是指上面所述的,每天要跟踪自己打开的bugs,并在24小时内发送反馈,以及在收到开发人员的回复后第一时间对bug的重新测试)在文档中已描述的缺陷可以更容易的去评估修复(或不修复)它的成本(如果修复一个bug,会造成对很多其他单元的影响,引起不可预计的风险,则暂时不处理,会在今后的版本中加以改进)。分析bug发现的情况,解决办法和回归比率可以提供关于项目状态的重要信息Bug历史的重要◦有助于将来的开发工作◦有助于理解代码Bugs的准则Bug:期待结果不等于实际结果(期待结果是应该的结果、正确的结果,即文档描述的结果;实际结果是在测试后得到的结果,此结果未必是正确的结果。)而且:一个缺陷会在软件或测试中发现。发现一个问题可能是软件自身的问题,也可能是在测试过程中由于环境等问题造成的。Bugs的准则报告一个bug必须:◦重现步骤,即你发现该bug之前所进行的每一步操作或执行的每一个命令,及输入的数据等重要的数据。◦期待结果,即文档描述的,要求的正确结果。◦实际结果,即在测试后得到的,未必是正确的结果一个bug例子Search:UnabletosearchforAlbumartist.重现bug的步骤(一定要写的十分详细,不能落下任何一个细节,以便按照这个步骤可以再次重现bug)StepstoRepro:======1.LaunchMCE;2.ChooseMyMusic:3.CreataalbumartistnameinAlbum'smetadata;4.OpenSearch;5.Searchforthealbumartistyoujustcreated.ExpectResult:============Thealbumartistshouldappearinthesearchresults.ActualResult:============Unabletosearchforalbumartist.Bug的生命周期–详细Bug生命周期–一般情况下•ActivatedbyTest被测试人员激活•ResolvedbyDev,PM被开发人员或PM确认如何解决的•ClosedbyTest被测试人员关闭Bug的解决办法以后会再做更详细的讲解已修复Fixed◦重现步骤说明bug;已经修复。◦为处理这个问题代码已更改。◦解决办法详细指出修改的内容,如果测试步骤不明确,还应指出应该如何测试。不会被修复Won’tFix◦重现步骤说明bug;将不会被修复◦没有代码上的更改◦解决办法应详细指出为什么不用修复Bug的解决办法推迟处理Postponed◦重现步骤说明bug;将在以后修复◦没有代码上的更改◦解决办法应详细指出什么时候将安排修复有设计而来ByDesign◦重现步骤显示,有些因素并不是bug◦没有代码上的更改◦解决办法应详细指出哪里可以找到设计文档(指出发现的不是bug的文档)Bug的解决办法重复Duplicate◦重现步骤说明bug已经报告过了◦没有代码上的更改◦解决办法应详细指出原始的bug编号无法再现NotRepro◦重现步骤重现这个bug◦没有代码上的更改◦解决办法应详细指出曾经在那个版本上尝试重现Bug的解决办法外部的External◦重现步骤说明bug已经发给其它人或工作组去解决。◦没有代码上的更改。◦解决办法应详细指出链接到bug的新目录并为获得更多的信息保持这个链接可以使用。EndtodayQuestion?