软件测试的价值

来源:互联网 发布:熊猫网络电视怎么使用 编辑:程序博客网 时间:2024/04/28 04:42
 最近这个话题一直被热论,感觉是个好事情,终于有人开始思考软件测试的价值,而不是盲目的用软件测试来弥补开发资源的稀缺,所以特意说一下自己的想法。


  首先,软件测试存在的必要性。


  关于软件测试的目的各种书上不一致,比较通用的是验证需求和实现的一致性。为什么这些事情开发不能自己做?需要测试来做?原因有以下几点。


  从认知上:自己无法知晓自己的错误。


  开发若是对产品需求理解错误,那么实现必然错误,即使自己测试也无法找出这些沟通理解和认知上的错误,一旦上线必然导致对用户的伤害。但是软件测试的需求来自于产品,所以能够弥补这一缺陷,从而最终保证质量。这里引申出一个新的问题,就是那些没有产品开发自己的需求是否需要测试呢?我认为对应没有产品的需求可以合适的降低开发测试比,在用户能够接受不完善的情况下甚至可以没有测试。


  从心理上:自己不愿意证明自己的错误。


  开发一向视自己的产品如孩子,没有人愿意去说我的**是不好的。一旦有这种想法,他们就很难找出自己产品中的问题了。记得杭杭刚出生几个月的时候我老公曾经问我:“女儿是真的很漂亮还是我们自己觉得很漂亮。”我很肯定的告诉他:“她是我见过最漂亮的宝贝。”然后拿着几个月的照片四处炫耀。现在再看到当时照片,我一般会对杭杭说:“你看看你小时候长得多难看啊。”心理学上有个现象,叫做自我预言的自我实现,一旦你认为你的产品是好的,你所做的事情只是去证明我们的产品是对的,是好的,很难找出产品中潜在的问题。但是测试从一开始就是抱着找出问题的目的,因此在预防缺陷上更加具备目标性,效率和质量都会优于开发。


  从过程上:整体的质量未必是开发的责任。


  发现缺陷的过程本身是单调的,尤其是要全面回归整个链路,这意味着开发不只要发现自己的问题还必须发现其他人的问题。发现问题之后还需要和对方进行全面的沟通,复现缺陷,验证缺陷,对开发来说多数人不愿意承担其他人责任,但是对于测试来说保证质量本身就是自身的责任。


  从特性上:专业的人做专业的事。


  开发和测试本身的特点不一样,开发最应该具备的是深入的思考能力和对技术的热爱,测试最应该具备的确是细心和耐心。如果你不具备这种能力,可能这个岗位并不适合你。当然很多通用的素质是大家都应该具备的,比如对业务的深入,编程的能力和良好的沟通表达能力,但是工作不同,侧重点不同。一个非常优秀的开发未必是一个好的测试,一个好的测试也未必是一个好的开发。


  从角色上:测试代表用户


  开发从角色上代表的供应商,因此他的专著点是提供好的产品,从而吸引更多的用户,产生最大的利益,而测试代表的是用户,因此,他是从用户的角度出发,发现产品的缺陷,促进产品的改进,从而最终提升用户体验。所以,与如果测试的工作是只是保证质量确实是对测试比较狭隘的理解,测试的最终目的应该是保证用户体验,从这个目的出发测试可以做更多的事情,比如发现需求的问题,影响产品的形态,平衡产品质量和上线时间点的矛盾,完善流程,影响产品,开发甚至是客户对待用户体验的态度。但是毫无疑问,一个有缺陷的产品是最影响用户体验的,一个长期的故障能最大击毁用户对产品信任度,是最差的用户体验,从而也使测试要从更本上防止的问题。


  综上,我们详细说明了让开发测试自己产品存在的一些问题,这些问题说明了测试存在的必要性和价值。术业有专攻,分工越细,越能高效,这是社会进化的方向,也是个性化发展的方向。我们不要一个大同的世界。


  但是,最近消灭测试声音越来越多,也是必然有它的原因,从现状来看,部分开发放弃了本身对质量的保证,将本身应该承担的质量责任交付测试来承担,导致测试工作量越来越大,测试本身的招聘降低了门槛,从而造成一些测试工程师的冗余,同时,原有测试的成长缺少专业性,都让外界开始质疑测试的价值。


  所以,接下来,我们需要讨论下开发测试的比例问题,从任何公司的层面,肯定是要追求高效能的,用最少的资源做最多的事情是公司的需求,也应该是每个测试人员的追求,如何高效,高质量的做好测试是测试本身要不断追求的目标。但是,在产品的不同形态,不同阶段开发测试比不可一概而论。可以分为以下几个方面来考虑:


  1:用户:用户量大的产品,毫无疑问对测试的需求会更大一些,一些创业初期的产品,用户量小,影响面小,可以考虑降低测试的成本。


  2:期望:用户付费的产品,必然会有较高期望,希望有较好的体验和服务,所以需要较多的测试来保证用户体验。


  3:产品特性:有产品经理的产品,经过多层次的沟通,错误的概率比较大,需要测试来弥补信息的流失和误传,技术驱动的产品,开发本身就是产品,清楚了解产品的功能特性,可以考虑开发自测,降低沟通的成本。


  最后,感谢所有质疑的声音,正是这些声音让测试可以重新反思,在反思中做得更好,感谢所有人对测试的期许,承担更多的责任,才能激发更多的潜能。希望所有测试朋友正确认识测试的价值,扩大自己的付出和贡献,我们的认可不在于强调自身的重要,而应该来源于我们的贡献和价值。当我们的贡献高于期望的时候,一定可以赢得更多的掌声。


本文转载自51Testing软件测试网,查看更多:http://www.51testing.com/html/news.html