本站文章除标题中注明“原”以外,其他均来自网络或书籍,如果我的引用侵犯了您的权力,请与我联系,我将及时处理;如果任何人想转载这些文章,则请保留原始的出处信息,或者直接与原作者联系。

如何编写更佳的bug report

上一篇 / 下一篇  2007-01-11 16:01:26 / 个人分类:测试理论

我们是否经常看到开发人员针对我们归档的bug report要求提供更多的信息?我们是否经常需要在bug report归档后花更多的时间去研究那个问题?我们是否经常从开发人员那里听到在他们那边难以重现bug并且需要即刻提供“可重现的步骤”?广义上来说,我们与其花更多的时间在这些问题上还不如投资更多的时间来测试系统。问题出在bug report的质量上。这里介绍一些如何改进并达到完美bug report的建议。
9j3Us I8JG0
`T{Fk:LKE*H$p051Testing软件测试网$ES;v;i J
51Testing软件测试网iMS[M%fOX{
   Bug report的目的
0|NEM(Db0
'}.K+Pw gS1s*O0   当我们发现一个缺陷时,我们需要把它告诉给开发人员。Bug report就是这种沟通的媒介物。Bug report的主要目的是让开发人员亲眼看到这个错误。如果你不能和他一起以在他面前制造出那个失败,那么就需要给他们足够多的指引以便他们能够自己制造出那个失败。Bug report就是解释在期望结果和实际结果之间的差距并且详细的说明如何重现那个场景。51Testing软件测试网-KA8J _sar)j5Y
51Testing软件测试网 }#FNKhU1m(L
51Testing软件测试网0K W;Q0q/asu

r9_&MS'B]r,x_0   在发现缺陷之后51Testing软件测试网}2O mb,RSxRO

;r(t(@ mT+H0   ·         只有当你确信你已经发现一个bug的时候开始起草bug report,不要在测试结束或每天结束之后。那样,你可能会遗忘掉一些东西。更糟的情况是,我们可能会忘掉那个bug。
7wZ.^\&yjR051Testing软件测试网FQ-lG/h D+`
   ·         花一些时间去诊断你正在报告的缺陷。想想可能存在的原因。可能到最后你会发现更多的缺陷。在你的bug report中说说你的发现。开发人员将不仅仅对你使他们的工作变得轻松而感到高兴。51Testing软件测试网2_OLu,_ PS
51Testing软件测试网&sc/x/L^
   ·         在开始读你的bug report之前抽出一些时间来。你可能会感觉到象重新编写报告一样。51Testing软件测试网^@k.Tx%YN)z&ou
51Testing软件测试网e$?KNa\
51Testing软件测试网b](qE]~d#]&P
51Testing软件测试网 x1{?/wWQ
   摘要
Y5RWhp/X.J9q)j0
#H/M])kFI0   Bug report的摘要是你bug report给读者的第一印象。你提交的bug的命运很大程度依赖于你的bug report能否吸引读者。原则就是每个bug应该有一个简单有趣的摘要。它可能会听上去象编写一个优秀的勾起注意的广告活动。但是随后,没有什么意外。一个好的摘要应该不超过50到60个字符。而且一个好的摘要不应该承载任何对bug主观的表达。51Testing软件测试网\wb)Q C[gGL
51Testing软件测试网$N8kQ [8E.E{i1wcV:Q!P

7z M t@R!L051Testing软件测试网"VEHZ:] Ns k
   语言
oqe w(U.w$i R`051Testing软件测试网%dq-R$r!E"j
   ·         不要在bug report中夸大缺陷。同样,也不要太轻描淡写了。51Testing软件测试网r#t9A%g(J

$wV9rUp0   ·         不管bug是多么的令人讨厌,别忘了是bug令人讨厌,而不是开发人员。永远不要冒犯开发人员的努力。使用委婉些的说法。“混乱的UI”可以被温和些改为“不正确的UI”。这样开发人员的努力将会得到尊重。
5He%Z$[ D3ap5[;~0
jB)@#{Q;]*M3R(u0   ·         保持简单诚实。你不是在写散文或文章,因此使用简单的语言
.V@pb#Md)Vw0
3c9syJ%w#z0   ·         在编写bug report的时候记住你的目标读者。他们可能是开发人员,其他的测试人员,经理,或者在一些情况下,甚至是客户。Bug report应该可以被所有的人理解。
Llt g%Zd(y k0
/f0d(N3j K1s {K051Testing软件测试网G,j(lKJ.^7x
51Testing软件测试网|J:A/\C#F"M:t
   可重现的步骤51Testing软件测试网@b c%I[*dc
51Testing软件测试网b#mY0Sl` `V(a
   ·         “可重现的步骤”的流程应该是合乎逻辑的。51Testing软件测试网}3d$J"_(B3P

q'@7E4{N0   ·         清楚的列出前提条件
f-j2\'[5e b;mfs051Testing软件测试网4OC^ZbwH
   ·         写下平常的步骤。例如,如果一个步骤要求用户创建文件并且为它命名,不要要求用户命名为“Mihir’s file”。最好命名为好像“Test File”一样的文件名。
-qE,Z)}q;hb-}051Testing软件测试网e1p hX-f
   ·         “可重现的步骤”应该详尽。例如,如果你想用户在Microsoft Word里保存一个文件,你可以要求用户到File菜单并且点击Save子菜单项。你也可以只说“保存文件”。但是记住,并不是所有的人都知道如何在Microsoft Word中保存文件。因此最后遵守第一种方法。
G2zPh&WZ+}051Testing软件测试网lpUr-poNJ#O+z
   ·         在一个干净的系统里测试你的“可重现的步骤”。你可能会发现有些步骤被遗漏或是毫无关系的。51Testing软件测试网'kW3c O yprzdE

C)yPly/B8~0
5o3@o*NB6~S6B.|c051Testing软件测试网lh o@ ad5T
   测试数据
b:LVo7@R|8n051Testing软件测试网0x#FU8@/OP
   尽力编写普通的bug report,开发人员可能没有权限访问你的测试数据。如果bug是和一组特定的测试数据相关,在你的bug report上附带上它。51Testing软件测试网 TS\8}k]SR
51Testing软件测试网9Cz @ u&~jX3s.{

o"w;F,\1x0oJd2c0
/a-t+Mw\y0   截屏
;Ml y-zX1i051Testing软件测试网x3r V\:WA+G{O
   截屏是bug report中一个十分必要的部分。一个图片胜过一千句话。但是不要把在每个bug report里附带没有必要的截屏变成一个习惯。理想的来说,你的bug report应该是足够有效的使开发人员重现问题。截屏应该只是验证的一种方法。
{M.U.U:X ^ Cz051Testing软件测试网V9Z,~h/~ f!`9K~0F
   ·         如果你要在bug report里附带截屏,要确保那些图片不是太大的,使用jpg或gif的格式,而不是bmp格式51Testing软件测试网Z ` C@/A*p/``

-KA,acE t8n/Z0   ·         在截屏上写上注释以指出问题所在。这将帮助开发人员一眼就可以马上定位问题。51Testing软件测试网m2_&C+[Q+r]S+cWa}
51Testing软件测试网 oR9h\$^
51Testing软件测试网~%lBD7KnB

)O$yH3@s0   严重程序/优先级别
e.J*c;^4~0Wk051Testing软件测试网|"Iq+C&r
   ·         在设置bug report的严重程序之前应该全面的分析缺陷的影响程序。如果你认为你的bug具有很高的优先级应该被修复,在bug report中证明这点。应该在bug report的描述部分指出这个理由。51Testing软件测试网&oo\w:` h:C

HI mwKT0   ·         如果bug是来自上个内部小版本或版本回归的结果,那么发出警报。象这种bug的严重程序可能是低的,但是优先级别应该是高。51Testing软件测试网eXog&[$f
51Testing软件测试网JEdRl&x
51Testing软件测试网~s3I{d6{W&kV+n'M

7jt3V"S&Pq gd/Hl0   日志
)T Bi]3q.vJ0
0O(Oz J B%B]0   在bug report里附上日志或日志的摘录片断。这将帮助开发人员轻松地分析且调试系统。多数情况下,如果不附上日志而且在开发人员那边又很难重现问题的话,他们将会把bug report打回给你并要求附带日志文件。51Testing软件测试网"p`Ru g ON5n,b

/X3n#C8pEY5c(u:^!mr0   如果日志文件不太大的话,举个例子,大约20到25行,你就可以把它贴在bug report里。但是如果它比较大的话,把它做为附件贴在bug report里,否则你的bug report会看上去象个日志。51Testing软件测试网d9~]%[ L

$T%ih7Wp0x+C0   51Testing软件测试网h/b7ZP'l;C%M4jU

kR O/H$ao)a$~0   其他信息
2j.`*M&oO&O4S0r:@051Testing软件测试网J)u5OCd C#~7E
   ·         如果你的bug是随机出现的,只需在你的bug report中说一下就可以了。但是不要忘记归档它。你总是能够在你发现它们之后的任何时间里增加准确的步骤。这也将在其他人提交这个问题时解救你,特别是当那个问题比较严重时。
s']Iy2B\ la0
-vPaW|P$TkW"osD0   ·         在bug report中写下错误信息,特别是当错误信息有编号的时候。例如,来自数据库中的错误信息。
9GZM d#Z!z051Testing软件测试网+~5G-hdt9E)E/V]'S
   ·         在bug report中写下版本编号和内部小版本编号51Testing软件测试网3O~-G!{;_ B5A

)e*B8T"^y(@0   ·         写下问题可以被重现的平台。准确的说明问题不可重现的平台。同样也要理解问题在特定平台上不可重现和没有在某个平台上测试之间的分别。这个可能会造成混淆。51Testing软件测试网a#V,R:g$oX*^T\
51Testing软件测试网 J%M.^3g^Gpi
   ·         如果你遇到几个问题却有一样的结果,只需写一个bug report。问题的修复可能只是一个。同样,如果你在不同的地方遇到相似的问题,且要求同一种修复方法,但是在不同的地方,那么就要为每一个问题书写单独的bug report。每个bug report对应一个修复。51Testing软件测试网aQ W.BMA
51Testing软件测试网s\+y hY?
   ·         如果可以重现bug的测试环境是开发人员可以访问的,写下访问这种设置的详情。这将帮助他们节约安装环境的时间以重现你提交的bug。51Testing软件测试网2I5H!N Nt@
51Testing软件测试网?X!ouQB4h${ g
   ·         你决不能坚持关于bug的任何信息。在bug被修复之前由于低效的提交bug而引起的开发人员和测试人员之间不必要的交互只是浪费时间。51Testing软件测试网+M#An8B]h_ M

TAG: 测试理论

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 40498
  • 日志数: 50
  • 建立时间: 2006-12-25
  • 更新时间: 2007-02-06

RSS订阅

Open Toolbar