软件测试对于软件有什么样的价值?(转51testing)

2012-03-07  王俊虎 

                                   软件测试对于软件有什么样的价值?

  一个好的软件经过测试,一个不好的软件也经过测试,但是到了市面上还是出现了好与不好的区别;软件测试对于软件有什么样的价值呢?

  讨论这个话题之前,可以先讨论一下什么事好的软件,好的软件有哪些特征;其实总结一下市面上的大家公认好的软件一般来说有以下几个特征:

  1、简单易用,看看Iphone,google的东西,简单易用,你不用去读说明书,就知道如何操作,而且效果完全达到了你的预期,实现了你想要的期望值;

  2、满足需要,比如你想搜索,你知道google可以满足你这个需求,你要方便的用手机同时实现拍照,上网,玩游戏,Iphone可以满足你的需求

  3、性能优越,搜索的时候希望返回结果要快,玩游戏的时候,希望显示效果要好;而且这个不是说刚开始的时候性能好,而是持续使用一段时间以后,性能还能保持,使用过IE都知道,过了一段时间,比如3个月到半年,IE速度明显慢了,有些网页甚至显示不出来,当然这个其中一个解决方式就是隔一段时间就做一次清理,比如现在有些空调隔一段时间就提示你过滤网需要清洗,这个可以延长空调的寿命,同时可以提供性能;这就要求设计软件的时候考虑到sustainablity

  设计出来的软件需要有这些特征才能称之为好软件;最大的contributor应该是开发者,这是毋庸置疑的,再好的测试是测试不出好软件的,那么应该怎么样去衡量测试是好还是不好呢,来自几个方面:

  1、开发人员的反馈,因为测试其实是相当于给开发过程提供服务,确保开发高效的进行;比如bug经常返工,这个效率就比较低下(当然优秀的程序人员可以尽量避免这点);

  2、Teamwork,团队合作精神,除了开发人员之外,其他的角色,比如项目经理,用户体验工程师,界面设计人员,测试人员都是团队的成员,大家一起的团队合作效果和效率也影响到了最终的用户体验,在这点上测试无异于其他角色,都是需要好的沟通能力,合作精神。

  那开发人员的对于好的测试人员会有怎么样的反馈呢?

  1、发现了很有价值的bug,一般用户发现不了的bug,在cornercase发现的,而且用户也会遇到的,(不是说在cornercase发现,但是用户基本上碰不到的)

  2、及早的发现了这些bug,越早越好的原则

  3、性能或者是安全方面的问题,因为这些问题都比较隐蔽,所以如果能够发现,开发人员自然觉得你很不错

  4、review的时候提出很有价值的观点,比如用户在某种使用情景的情况下,设计文档好像没有考虑到;再比如如果和网络相关的应用,是否考虑到离线的情况,是否考虑到带宽低的情况,这个时候资深的测试人员其实是站在开发者的角度,提出自己的设计思路---当然还要开发人员buyin

  5、肯定你的技术能力,如果一个开发人员觉得一个测试人员,“技术很不错”这个是相当大的肯定,也是很好的反馈

  6、Appreciate测试人员的其他帮助,比如你可以帮忙看一些bug,帮忙做诊断,帮助开发人员快速理解这个bug,甚至修复一些bug,帮忙做codereview,提出一些有价值的观点等等。

  其他的更有影响力的情形:

  1、测试团队可以影响到release的进程,比如如果release的时候必须达到某些质量的criteria;

  2、测试团队可以影响到feature的开发,比如可以提出意见,觉得哪些featurepriority更高,应该放到哪个milestone开发;

  3、测试团队可以影响到开发的流程,比如建议checkin之前进行测试,比如什么时候codefreeze,什么时候进入下个milestone等等,通过bug的taxonomy/pattern从而影响开发的一些习惯;

  这些都是衡量一个测试人员在开发人员心目中是否是一个好的测试人员的因素;而团队合作,同理其他成员对你的反馈也是很重要的。

427°/4278 人阅读/0 条评论 发表评论

登录 后发表评论