故意学习,故意生活,故意活的像个人!

Bugs 的有效交流和管理

上一篇 / 下一篇  2006-12-28 11:41:13 / 天气: 冷 / 心情: 平静 / 精华(1) / 不允许评论 / 个人分类:测试方法

  • 转载自51
  • [原创]Bugs 的有效交流和管理[翻译]
    1T?F2j;gg\ Cm051Testing软件测试网3P az}I}{$SJ(ut x
    Communicating and Managing Bugs Efficiently51Testing软件测试网@*CI DR3g-D9]
    By Jitu Borah
    4r J/l;\;`,}0(jborah@adobe.com)51Testing软件测试网B-|.]&|"J~
    3rd September 200351Testing软件测试网!a0BXnJ CWC8m

    ;A;EI6G){C_L!Dg,}0Bugs 的有效交流和管理
    HMGt*_x3x"db051Testing软件测试网B0X lPAy {|5e{!}
    原著:Jitu Borah  翻译:smartbaby51Testing软件测试网&hw*nS1g2N+r/?
    版权归Jitu Borah  所有
    { s/K+r+Ss051Testing软件测试网{+q+mSg]r
    有效的bug报告(enough is good)51Testing软件测试网WF4{,d j#of
    1.好的标题51Testing软件测试网z;P'G#D|
    2.简短而明确的总结
    9k U5{t#tx03.再现的步骤是否足够51Testing软件测试网:b&Nv3^8?A6a%^
    4.观察结果
    +b:[rkw N&g\05.预期结果51Testing软件测试网Tc4}pmI o1uFwI9m
    6.其他信息
    {Z~~\/?jM(u*X07.注释/历史51Testing软件测试网\ue%Ia!]hsR[*d
    8.适当的附件
    e r*]5~IE-^HZ09.集中体现里程碑51Testing软件测试网&N*hG)kc)N
    10.bug严重性和优先级的分析51Testing软件测试网wP2p0b5J

    ;Qk'Ds \,r1ELf$f0质量分析报告(just do)               
    g5}!F'?,v'U wf7[-H {01.简明的bug描述51Testing软件测试网Bo E R"j7Q"Z
    2.bug的隔离51Testing软件测试网t;k9@%Tk,C&|
    3.挑选bug与覆盖bug51Testing软件测试网1o#w4t7Vz
    4.bug的比较分析51Testing软件测试网*C-b-V'p&i0l4grH
    5.区别重要的bug
    *gf[ k/c0
    2k{X)h9wUU z0Q0认真的思考(how much and why)51Testing软件测试网^3~3gFK:D+yjf
    1.重复的bug51Testing软件测试网1h0L3X'~5Ve$c$H&?sD
    2.没有得到修复的bug51Testing软件测试网6?x0q;v N-@ m2HuZ
    3.不是bug而是设计问题
    a]5e%x$LI$jN04.自动修复的bug51Testing软件测试网T#Fuu,R Q
    5.bug往返
    Uq l5k]t06.个人和情感状态
    1V` kURbld07.提出立即的警告51Testing软件测试网db]2~,x ` ` xn
    8.整理所有可测试的bug
    ,U^z(r-F\l t b09.bug搜索51Testing软件测试网)R2g.X,a&s4@2S \#k$Z
    10.学习以前的bug报告51Testing软件测试网-P&N:bmR%}

    s _U;_(O6ao Y0不必要的工作流(why)                 51Testing软件测试网 NG8F s9yG[e
    1.后期的发现51Testing软件测试网0q KL kO6Z/] g D
    2.低bug数
    "w6i!s$@ J$F}03.发现已经修复停止的bug
    )u6w A/h e2a-X3qW04.你漏掉而用户发现了的bug
    51Testing软件测试网S(Cs;|lb E"[ kV
    51Testing软件测试网q5e*V7W*DF#h
    标题
    9[0LlU[V+\m fg0标题的名称顾名思义,很简单,我就不多说了。要注意的是下面两个方面:
    4g Q!R'G0TB01.从标题上知道它所要说的内容。理想状态下,bug标题不应超过50-60个字符51Testing软件测试网&gZ7~V9I~P3X
    2.关于bug另外一个重要的方面是,它不应有任何主观色彩的缺陷描述。51Testing软件测试网 ?QDT*LO
    51Testing软件测试网 [1^n Wq!fS dQz
    总结
    ;V]uwl%g7@i9r4|0总结在于简明扼要的说清楚问题即可。太过冗长的句子,会让人看不懂而心生厌倦。51Testing软件测试网p'f'w'k/e"w
    51Testing软件测试网T-c;u6`_6Q,t[&R
    再现的步骤51Testing软件测试网l/d+[3L2|6L$g
    提供如何再现bug的确切的信息,确切的信息的含义是指, 使用恰当的技术术语和命名约定,清楚的提供信息和有条理的标记相关的步骤。
    wno*G3eb]l,]2j ` s0在提交bug之前,扪心自问,这个bug是否能被其他看了这个bug描述的人再现出来。
    ,ma9V Z a-Y/F)D0
    *TR G,G3]0观察结果
    t;I4M;yb^_5f0所有与软件运作的结果有关的未实现的功能必须被提及,不能有任何遗漏。比如当你在做一些 明确目标时遇到一个错误的对话框的情形,你的任务不是描述错误本身而是提供错误对话的内容。51Testing软件测试网e9T*b|@ q5zB
    51Testing软件测试网/w"h ^ib|~ h
    预期结果
    Z.Is i.T8g%~qb`0无论规格说明书如何有用,它的变更是非常频繁的,在bug描述中写期望结果是非常困难的事情。测试人员必须从有相关知识和经验的开发人员处得到你所要测试的项目指导性的内容。也可以从前面已经发布了的版本中或者可以使用的商业标准应用中获取有用的信息。51Testing软件测试网QH.i`/l n,[

    6@1W+M%fb9r {j0其他信息
    $kAn4[Zr0其他信息就是非常重要的,因为它可能会帮助开发人员建立与真实问题的某些联系。
    :Z!^lLA e051Testing软件测试网D0Y;B~#pmC|
    注释/历史
    K|1~rP U2]M}d0当你需要了解一个已经离开组织的测试人员的工作时,你不得不完全依赖讨论历史,但它是否真的能让你明白如何进行下一阶段的工作吗?
    }'O9d c4[$PC;eMg0当一个已修复问题从开发人员转到你这里,你需要进行验证和关闭,不要忘了在关闭这个问题时写上注释。
    l Wr u;lv0
    o^1aYwT b;Qw0附件51Testing软件测试网E%t`p~6ZPc#Sz
    测试文件应该尽可能的付在bug描述后面。这种方法证明对于问题存在的证据是非常有效的,它同样也节省了开发人员不得不浪费在再现错误上花费的大量宝贵时间。
    }S'F0\6y$B7a:f dP0
    uO7Kh6@7A;k0里程碑51Testing软件测试网8d-YK:N!S4}$K
    应该关注是在哪一个阶段发现的bug。
    $k!W4BA1ZEU3I7T0
    Oy!wD0d8c3c0严重性和优先性
    r2t'ZP `6e Y;U }S0严重性和优先权的客观分配在理论上是可行,而在实际中,大多数情况下,取决于个人主观理解。所以想要避免主观性似乎是行不通的。
    -T#rl`8]lE0成熟的公司对于他们组织明确的活动相应的严重性进行定义。这些公司对于如何分配严重性有他们自己的指导方针,这些方针是提供给测试人员的,同时这些规则、方针在项目需求中是可裁减的。每天结束时,项目组的所有测试人员把所有的缺陷以严重性分类。
    ]@%oX,AY*n8F t0级别有:51Testing软件测试网$op!t,Bb_?v
    .尽快修复
    /c2Tr$}-Q(Z.S}!N0.高51Testing软件测试网6wSyu K8jp1K)R~a
    .普通
    M i-]xX/WvX Im0.低
    |5~j;]q y(_z0严重性和优先级的定义通常取决于所在组织的测试活动的本质。
    qkYe7|0
    I7CS2f\p@J0质量分析报告               51Testing软件测试网` l/A-} LI9z
    简明的bug描述51Testing软件测试网}}4D)h9X@4|9m6d
    不要夸大所发现的任何很小的问题。
    %_OjB7k&i9kr`0一个非常详尽的和象说故事一样长的描述都是不适合于bug描述的。
    KdA5Dl/r0不必要的或不相关的信息都是不应该存在的。51Testing软件测试网ny9j+x'i|}V

    .D;\ E;H)H)l4e3G0bug隔离51Testing软件测试网%`~*a'rd/p7{&q
    测试人员应该能放大潜在的问题或原因,并提供给已经发现的缺陷逻辑理解。51Testing软件测试网#X9k?_6d1u'O
    有时,bug隔离是非常难实现和理解的,因为设计到无数因素,这些因素以一种不确定的方式产生程序的问题。bug隔离需要深入考虑和理解你所要测试的应用。
    \X Ms5\U0A051Testing软件测试网#vX)u2^&Y,z5D
    挑选bug与覆盖bug
    Ju/emSx0要善于将单个的BUG和同一类的BUG区分开来。51Testing软件测试网 szcs+] J
    每次一个bug描述应该只关注一个明确的问题。那些容易造成混淆的相同问题应该汇总在一起,而这些问题也造成重复提交问题的时间浪费。同样,如果在一个应用中有大量的问题,但是所有的解决仅仅是修改一个代码结构的细节就可以解决的,那么采取的方法是将这个bug覆盖而不是记录大量的bug。51Testing软件测试网1U Ac.D8Uv eJ }
    51Testing软件测试网1c.t II }m.Z!u
    比较分析
    TA?HH y0好的比较总是使你的用例更有说服力、更有效、更令人信服。有时,对于测试人员来说,用提供确切的行为来类推支持他的主张是非常必要的。当你有当前正在测试项目的较早版本就会更容易,或竞争者提供的类似产品,这种产品已经占有一定的市场份额或者已经形成一定的标准。51Testing软件测试网/n7u*|*y6HA.R5Dyv

    Z6m&i@My0区别重要的bug51Testing软件测试网0G&Ze/aT
    重要的bug是就算验证基本测试用例或者用例丢失时也可以找到的bug。
    /E Vc A*^2w0
    q Nb2EN?#[ J0认真的思考51Testing软件测试网VutrYf
    重复的bug
    Ql d|[9w!_0产生许多重复的bug导致了在应用条理性方面的低效率和不成熟的思考,这种情况不可能完全避免。注意力应该放在识别重复bug上。
    8l9?4i4gS*d'^Y0将重复的bug减少到最少的一个方法是仅仅使用关键字查询数据和查找是否已经有记录在案的类似bug。
    j?&g^3v4z1A2JX0
    z#Ve1@7T%N M+J0有得到修复的bug
    0mMu#o?m0依靠用户特殊的需要产生的市场,应用程序中严重性高的bug可能被延期,而小的那些bug却得到修复。要记住的是修复一个bug是一种商业决定,测试人员应该尽可能站在组织的角度来理解用户工作流。
    9r,N3a.Y#\^051Testing软件测试网_Y*Tk1l'd
    不是bug而是设计问题
    Y)o5U yu'y D:l~o0当你提交一个bug但开发人员把它退回,并付上“不是bug”或给出它是正确的注释。51Testing软件测试网_MvIi4x K
    测试人员所要做的就是尽可能找到规格说明书提到的功能或者其他的开发文档来支持,甚至是设计的人员的支持。
    J/K3YA%i7F051Testing软件测试网8w)ZI~{ Jx
    自动修复的bug51Testing软件测试网CApnk6|B ]_
    过去存在的bug,没有进行修复就自动的正确修改,开发人员并没有对这些bug验证进行标记,但是这些bug却已经被修改了。51Testing软件测试网N:{0R)dM
    其实如果知道开发人员不可避免的重写他的代码,开发人员修改代码路经,修改相关性等等,结果就产生了这些不可思议的事情。因而已经存在的bug 消失而新的bug又出现了。 测试人员需要认识到并理解这些变化的原因,同时为这些消失的bug做好准备。51Testing软件测试网3u@t6s:Y
    51Testing软件测试网!E"Cff4r0E3h
    bug往返51Testing软件测试网b;c8E q] cx
    由于缺乏足够的信息,有时候在测试人员和开发人员之间一个bug的提交过程需要重复多次。测试人员提交bug描述,开发人员添加一些信息然后返回该bug,测试人员再添加一些信息然后再返回给开发人员,如此循环多次。这样可能会引起bug描述过程的混乱。
    D-r [lUk0如果bug在测试人员和开发人员之间多次往返,会浪费大量的时间和资源。为了避免这样的情形,测试人员应该认真地在提交bug的时候同时提交所有与bug相关的对修复bug有用的信息。测试人员需要保留关于问题的所有版本,并且随时随地的准备提供完整的信息给需要的人。51Testing软件测试网6ly?Q"e/T2K~]
    51Testing软件测试网 i7Q7`&Rz+R7k
    个人和情感状态51Testing软件测试网yd:FFQU9I;f"|
    测试人员要避免唤起激烈的情绪,特别是生气和好斗性的情绪。另外,测试人员永远都不要轻视代码或者发表相关的批评。51Testing软件测试网q)G'e.b3B
    测试人员和开发人员之间有时会存在一些概念上的误会。最好的解决方法是通过口头交流进行解决而不是把这些问题反映到报告中。51Testing软件测试网P'MOg;Z
    51Testing软件测试网6S!g0NG x5r7Y
    提出警告51Testing软件测试网9p&R0` Kw-A
    在一个复杂的应用程序中,由于数据库中存在大量的bug,虽然bug的优先级和严重级在bug描述中不是比较高的。测试范围的易测性和测试范围变的非常困难,需要测试立即与开发人员进行沟通。51Testing软件测试网X1} S x$c2y"?

    i6]EQ/}"q3Y)e0整理所有可测试的bug
    8evs)Z4l:D0测试人员的职责不仅仅是在遇到缺陷的时候提交报告,也需要对每一个bug的修复进行跟踪,并随着有秩序测试活动延续,根据bug的优先级顺序进行验证。给出测试的应用程序修复质量和相应走向的一个清晰的曲线图。报告中需要紧密监控发现的bug和关闭的bug的比率。51Testing软件测试网*D p H5e5n(j*r9C/ds

    kY`,QO0bug搜索51Testing软件测试网Z5[Z+l[6~iq2y
    组织多人参加的bug搜索组能够帮助找到那些隐藏的bug。
    .L;Gt0h5FG'u&x0
    9Z G"y ]2k$wNq?l+to0学习以前的bug报告51Testing软件测试网"K-I9}u)@"l(j|
    如果你的手边有可以用的有经验的测试人员以前写的bug报告,把它们拿来查看和学习是非常好的习惯。51Testing软件测试网9_Kjb e-_l

    yPO \x2y0不必要的工作流                 51Testing软件测试网0uv|t1{/|PA`
    后期的发现51Testing软件测试网0aX'U.oHW z
    后期发现的bug永远也不应该忽略,同时如果它的bug描述是可取的,将立即引起管理层的关注。
    F9|r&|9D3Yw0
    9a$yaXy Ri@ Q*M0低bug数51Testing软件测试网s:c)?+P}|U@
    测试人员需要关注检定缺陷的质量多于简简单单的找到细小的或困难的bug。如果保证了质量,就是低bug数也是可以接受的。
    ]%Z%F:HZO051Testing软件测试网~N!hPM
    发现已经修复停止的bug
    /bX^+s)J"v!a}0许多软件项目中,对于所有关闭的bug来说完整回归,仅仅是确保关闭的bug不在出现。由于时间限制尽管完全回归不能实现的很好,一般地,在项目里程碑发布之前,都必须要特别注意。跟踪关闭所有的bug,如果对早期的bug有疑惑,尽早再次检查它。
    H&LZH6G^'p0
    +T'g5`4al'S0漏掉而用户发现了的bug51Testing软件测试网/w0v4m`zl
    注意力应该放在尽可能以有效的方式来管理你的bug上。不同的方法导致不同的想法和对不同测试环境的挑战。测试人员的目标是正确处理这些问题。

相关阅读:

TAG: 测试方法

 

评分:0

我来说两句

Open Toolbar