测试之美-2

测试员只喜欢有趣的缺陷

 

  所有的测试人员都会告诉你,缺陷是存在的,然后缺陷就真的存在了。一般来说,让事情变得 好玩并非缺陷的数目。比如一个测试人员可以在大的网站应用程序中发现上千个表面错误,就是语句与错别字,给用户看的文本有语法错误,图标上的颜色不对,或 都屏幕上有东西位置放得不对。

  测试人员非常讨厌这样的错误,特别是发现有很多的时候。因为记录这类错误比发现它们所花费的时间更长。而且他们一般属于低优先级,很容易得到解决。对!测试人员就是变态的喜欢让开发员束手无策的问题,这样似乎更能体验他们的能力与价值。

 

不要去预测问题优先级

 

  在IT领 域经验丰富的前辈会告诉你,某个应用程序的最终用户可能会对你觉得微不足道的问题深切关注。这跟人的“烦恼因素”有很大关系,一个错别字或字体用得不恰当 可能不会影响用户的使用,项目组的所有人都认为这是个小问题。但是对于每天要看两千遍的用户来说,“烦恼因素”是非常高的。

  例一个双击鼠标就可以完成的操作,我设计成了三击,只是多点了一个鼠标而已。这也许有趣,但对于每天操作几百遍的用户来说,他会破口大骂地拿起鼠标甩到地上。这太令人讨厌了。这影响的他们的工作效率,也行效率与绩效、奖金挂钩。

  测试人员报告他们发现的一切问题,其中经验丰富的人员会根据其理解来报告严重程度,但一 般来说不要试图预测业务优先级。他们理解中的业务优先级通常就像开发团理解的一样,是不太完整的,并不是基于用户的个人体验做出的。经常有用户愿意“将 就”使用有严重错误的代码,却在最后一刻强迫要求修改或添加看起来并不重要的东西。

测试人员的工作是寻找、发现、报告,而不是用神一样的能力去评判,测试人员应该随心所欲的提供他们的专业意见,事实上,项目组的所有人都应该随心所欲地提供专业意见。

 

报告你发现的所有问题

 

  有一个令人遗憾的现实,那就是测试人员不将他们发现的所有错误报告出来。原因可能有很 多,但最常见的是他们觉得报告某一种或某一类错误没有意义,因为反正都不会被解决的。这是从实践中“学”来的,你通常会发现有这类态度的测试人员不抱幻 想、厌倦、愤世嫉俗、对工作不感兴趣。他们报告缺陷的兴趣和热情已经被工作环境慢慢消磨掉了。另一个原因也许是他们相信从政治上和实际上来说,报告他们发 现的一切东西是不“聪明”的,他们应该只报告那些公司在乎的东西。那么,如果公司看不到整个大局,怎么知道在不在乎呢?每个人都明白很多错误是不能(或者 从财务的角度来说不应该)在产品发布前解决的。成功项目管理的“艺术和工艺”的一个要素是对推迟和解决哪些缺陷做出正确的决策。比如,项目组决定解决1 4 个缺陷,推迟另外3 2 个。但是测试人员选择不报告3 2 4 个缺陷,因为开发团队“从不解决”字段错误,这意味着项目经理和上层的管理者正在根据错误、不全面的信息作决策。在这个例子里,用户界面就不能在万众瞩目的黄金时段隆重登场。

  另外,就算是在一个并不解决某类错误的公司,报告每个错误也可能会最终改变公司的政策(或称之为“一直实行的陈规”)。如果一个测试人员报告了4 0 个错误,一个都没解决,应用程序就发布了,然后用户以紧急的优先级报告同样的错误并要求尽快地解决它们,那么开发团队和项目经理以后就会开始注意这类缺陷

 

测试员一直在想法破坏你的程序

 

  好的测试人员同时是富有创造力和想象力的。测试通常是一个破坏的过程,正因为如此,在正式产品环境下运行测试需要非常谨慎的决策。好的测试人员不必试图证明软件运行正常,他们是来证明软件不能正常运行的。这一态度差异是测试人员能发现如此多缺陷的主要原因,他们就是想发现缺陷。他们分析手上所有的信息,坐下来思考怎么才能破坏应用程序。项目组里没有其他人有这样的使命。开发人员一般甚至没有足够的时间持续写代码,更不要说试图挤出足够的时间来想怎么破坏代码了。最终用户通常只是执行日常工作的操作,如果有东西“坏掉了”,他们可能陷入恐慌和沮丧之中。另一方面,只有测试人员勇敢地参与进来,使出吃奶的劲儿去发现软件中的缺陷,他们却为发现另开发人员痛苦的缺陷而兴奋不已。

  这正好应验了妈妈一直告诉我们的话,要是你只盯人身上坏的一面,那你就只能发现坏的东西。测试人员全面地盯着系统中出错的一面找问题,顺便也就检验了运行正常的部分。但他们关注的焦点总是向着错的东西,而不是对的东西

 

测试角色的本质

 

  很久之前,就有关于测试人员的角色的争论,我们再来总结性的说说测试角色的本质。

  一些人认为测试人员的角色是保证质量,如果有人能决定到底“质量”指什么? 这个似乎很难说清。

  另一些人认为他们的角色是通过训练开发人员的寻找缺陷帮助他们编写出更好的代码----在开始编写的时候就不存在错误的编码;

  还有一些测试专家集中精研究为何以及如何找到缺陷:在不同的环境下寻找缺陷所涉及的策略、技术和术语。

  所有这些说法都很有趣,在某种意义上都是对业界有溢的。但是,从本质上来说,测试的意义 就是发现缺陷。测试人员通过项目组和管理层展示缺陷、问题或瑕疵“保证质量”,进而帮助他们做出更好的决策;他们通过向开发人员展示其代码中的错误,使其 知错就改引以为戒,进而帮助他们改进工作;他们学习新的策略和技术以便发现更多的(或者更重要的)缺陷,他们把工作归类到新的策略里,如游历式,进而帮助 其他人发现缺陷。如果在测试过程中没有发现(或者只发现了很少的)错误,那么这也是重要的信息。

----------------------------------------------------------

注:本文内容取自《测试之美》第1章 “这对你有好处么”,这是一本很好的书,读完第1章收获颇多,但正如不少人说话,作者写得太散了,没有条理。好吧!我把这一部分的精彩抽取出来与各位分享。

posted on 2016-08-12 16:11  竹雨阑珊1  阅读(108)  评论(0编辑  收藏  举报

导航