如何编写更佳的bug report
上一篇 / 下一篇 2007-07-12 12:19:40 / 个人分类:其他
如何编写更佳的bug report
o5`!x-in;pw;MU^2A4y0G-g']&z m7K9a&n0
--- Mihir Kamdar《How To Write Better Bug Reports》
2H*Z7p6Y"@!GQ;w2W0rk2J0---Kiki翻译于2006/6/1851Testing软件测试网4Q#|}(i%vL}{
'ELP#S:M0
3`/nDb lQ4p3|0 51Testing软件测试网{tg,i!yqTB4g我们是否经常看到开发人员针对我们归档的bug report要求提供更多的信息?我们是否经常需要在bug report归档后花更多的时间去研究那个问题?我们是否经常从开发人员那里听到在他们那边难以重现bug并且需要即刻提供“可重现的步骤”?广义上来说,我们与其花更多的时间在这些问题上还不如投资更多的时间来测试系统。问题出在bug report的质量上。这里介绍一些如何改进并达到完美bug report的建议。
1w&N&XV#}"Os&DK0 51Testing软件测试网Q/Mh/h`+OCczd%r6V8TW0
|rS/{v?,xJ0Bug report的目的51Testing软件测试网;dfM/I"uK/J&Y2D+n-D
)tB*E_+N-` p0当我们发现一个缺陷时,我们需要把它告诉给开发人员。Bug report就是这种沟通的媒介物。Bug report的主要目的是让开发人员亲眼看到这个错误。如果你不能和他一起以在他面前制造出那个失败,那么就需要给他们足够多的指引以便他们能够自己制造出那个失败。Bug report就是解释在期望结果和实际结果之间的差距并且详细的说明如何重现那个场景。51Testing软件测试网;K*{/RXDfqzJ Z
Dy{;sXG+s[0 51Testing软件测试网;IC}*rY&\ O-I7?O
*m/W:U3sU\0在发现缺陷之后
*d?4]DM'^RCH0 51Testing软件测试网 _ k u9LuF"r· 只有当你确信你已经发现一个bug的时候开始起草bug report,不要在测试结束或每天结束之后。那样,你可能会遗忘掉一些东西。更糟的情况是,我们可能会忘掉那个bug。51Testing软件测试网N DS$Qec
51Testing软件测试网5mnry'Sv9Dc#e m· 花一些时间去诊断你正在报告的缺陷。想想可能存在的原因。可能到最后你会发现更多的缺陷。在你的bug report中说说你的发现。开发人员将不仅仅对你使他们的工作变得轻松而感到高兴。
9f*^0w$pB&?i0$H+E!yB)R/`L yL(kI0· 在开始读你的bug report之前抽出一些时间来。你可能会感觉到象重新编写报告一样。
9L2| F4l5vu"gC_0Y4w&S} {Y:Fy"r:V0
%Jc@_:} W"d/il:T8O0 51Testing软件测试网In!K:`"l?摘要51Testing软件测试网5bG'x @@4x*j"YX
51Testing软件测试网V/S"I1k K!|.[`9LvBug report的摘要是你bug report给读者的第一印象。你提交的bug的命运很大程度依赖于你的bug report能否吸引读者。原则就是每个bug应该有一个简单有趣的摘要。它可能会听上去象编写一个优秀的勾起注意的广告活动。但是随后,没有什么意外。一个好的摘要应该不超过50到60个字符。而且一个好的摘要不应该承载任何对bug主观的表达。51Testing软件测试网-p\C nQ~uM
51Testing软件测试网 k]1|k3Ft51Testing软件测试网^&?Fc*tr1z+w.A
51Testing软件测试网 l9\])?Lq$t `*G&{语言51Testing软件测试网!V C VU'[3|"K4S.R
Yg VSL#V6Y \&a7B&G0· 不要在bug report中夸大缺陷。同样,也不要太轻描淡写了。
9{6CHI p0$Ir/GCwcO0· 不管bug是多么的令人讨厌,别忘了是bug令人讨厌,而不是开发人员。永远不要冒犯开发人员的努力。使用委婉些的说法。“混乱的UI”可以被温和些改为“不正确的UI”。这样开发人员的努力将会得到尊重。51Testing软件测试网HvWNYQ9c
51Testing软件测试网'r5X#C,^8K(lt· 保持简单诚实。你不是在写散文或文章,因此使用简单的语言
6ao7UBI$]-r6^0[NOX{9iy0l @w0· 在编写bug report的时候记住你的目标读者。他们可能是开发人员,其他的测试人员,经理,或者在一些情况下,甚至是客户。Bug report应该可以被所有的人理解。51Testing软件测试网 ['C ^K!|"tig W/c)B\
51Testing软件测试网z|4m a8ZG3n2o]6\,G(UC~(IeR [0 51Testing软件测试网d5`DKp8h*Z
可重现的步骤
8nr&r]C${:f&nBq0 51Testing软件测试网&f(Xm4Y7`${2l4{· “可重现的步骤”的流程应该是合乎逻辑的。
5o A7F'` })O)uG0 51Testing软件测试网!`CuUd9xqJ"w· 清楚的列出前提条件
Fi*E)lK%i1@,|0I#PUW2Y0· 写下平常的步骤。例如,如果一个步骤要求用户创建文件并且为它命名,不要要求用户命名为“Mihir’s file”。最好命名为好像“Test File”一样的文件名。51Testing软件测试网M.|z2DPL@6tWB
51Testing软件测试网-|-Kn4a)p9C4BxA[· “可重现的步骤”应该详尽。例如,如果你想用户在Microsoft Word里保存一个文件,你可以要求用户到File菜单并且点击Save子菜单项。你也可以只说“保存文件”。但是记住,并不是所有的人都知道如何在Microsoft Word中保存文件。因此最后遵守第一种方法。51Testing软件测试网H#g?j(T?
51Testing软件测试网'PhV0]BPV· 在一个干净的系统里测试你的“可重现的步骤”。你可能会发现有些步骤被遗漏或是毫无关系的。51Testing软件测试网VO ["};^'wt
51Testing软件测试网8f7Q6y/X5u [8?,rQF Hh }Z3L0s9I0 51Testing软件测试网m7~n'A3Z3~-r7x
测试数据51Testing软件测试网Od#OP}tn.f|
c!os(Q4q.^y0尽力编写普通的bug report,开发人员可能没有权限访问你的测试数据。如果bug是和一组特定的测试数据相关,在你的bug report上附带上它。