从有到优做测试

上次我们同时就投资方和工程师角度谈了如何开始做测试。这次则是怎样才能做得更好。

怎样才算“更好”,投资方的看法跟绝大多数工程师的完全不一样。我们继续从投入回报的角度看看。

更好的回报:

l  杜绝延迟发布,甚至提早发布以获得商业先机

l  发现更多的产品缺陷

l  提早发现更严重的产品缺陷

更少的投入:

l  更少的人力开支

l  更少的设备场地耗材费用

l  更少的人事管理开支

一句话,要么原本少赚的钱可以赚回来更多,需要投入的资金更少。

工程师又是怎么看的呢?基本上是从技术角度出发:

l  使用了更新颖的技术

l  更多的自动化测试

l  测试代码有更多的软件重用

l  测试程序性能更好

看吧,两者之间并没有直接的联系,勉强的就是更多的自动化测试“可能”减少人力开支,或者测试程序性能改进“可能”减少了设备场地耗材费用。

这不奇怪,投资方更注重回报,工程师更注重自身的职业生涯规划,这两种看法都无可厚非。问题是,双方南辕北辙的想法只会白白浪费金钱和时间。如果双方都为对方着想,向对方靠近的话,事情会大不一样。

所以我们来看看双方可以怎样把测试做得更好。

l  更好的回报

n  杜绝延迟发布,甚至提早发布以获得商业先机

u  投资方:测试工作可以作出的贡献是减少原先大量存在的“路障bug”,例如最简单的功能都无法通过的bug,这些bug能让所有人都不得不停下正常工作,足以损害进度。测试人员需要提供简单快捷的“路障测试”,以便开发人员开发或者修复产品缺陷的时候执行,提早避免“路障bug”。

u  工程师:相应的开发更简单、可靠、快捷的“路障测试”,为了做到这一点,可能会用到更新颖的技术、自动测试、软件重用,并改善性能,但是最初的目标可不能忘记。

n  发现更多的产品缺陷

u  投资方:直观的看是不是bug越多越好呢。要是这样去评价测试工作的业绩的话,往往会得到更多的bug报告,但是产品发布之后的bug还是很多。因为人们会仅仅为报告bug而报告bug。所以以发布之后发现的bug来评价更合适,也更体现回报。相应的为帮助发现更多的bug,投资方可以考虑几个方面:

l  建立不同背景的测试团队,有些是熟悉测试技术的,有些是熟悉产品内部结构的,有些是熟悉用户的,有些是熟悉竞争对手产品的。这样做是因为,产品缺陷本来就是来自于不同方面和角度的,这样能发现更多的bug

l  提早开始测试工作,采用迭代式开发模式,使得可以使用的产品整体尽早出现。产品缺陷在两种情况下更容易发现,一个是底层代码刚完成,这时没有其他代码干扰,分离测试更容易;另一个是产品整体已经完成,从用户的角度更能发现产品各部分不协调造成的bug

u  工程师:相应的尝试多种角度的测试方法,另一方面重视产品相关的知识和技术,以便提早开始测试工作的时候能得以参与。

n  提早发现更严重的产品缺陷

u  投资方:既然是“提早”,“早”字就显得比较重要。提早参与测试的人员贵精不贵多,他们需要了解系统设计甚至重点代码的实现以发现设计和代码上的缺陷。挑合适的人就好了。

u  工程师:既然不可能每个人都能做这样的事,那就得靠个人的技术水平了。经验、系统设计、编程技术都是门槛。

l  更少的投入

n  更少的人力开支

u  投资方:自动化测试是流行的路子,但不是唯一的路子。自动化测试绝大多数的用途是开发人员开发产品或者修复bug的时候来执行,不至于引入新的bug,简称回归测试;小部分用途是有些测试手工没法完成,一定需要程序执行的。第一种用途的性价比是非常不稳定的,回报主要是为了减少“路障bug”以保证准时发布,投入则可以很大,需要具备编程技术的测试人员并付出较多的维护成本,即使在微软这样重视测试的企业也存在自动化测试性价比较低的项目;第二种用途的性价比则比较稳定,回报就是实实在在的产品缺陷,往往是值得投资的。

u  工程师:既然第一种用途性价比不稳定,那么在没有成熟框架和流程的项目里面,还是尽量少尝试回归测试。第二种用途则是发展的重点,更容易与投资方的方向一致,这样发展的空间会大得多。

n  更少的设备场地耗材费用

u  投资方:这些主要是测试所需硬件设备及其运行的费用,一方面是工程师的工作所需的硬件设备,另一方面,如果实施了自动化测试,专门用于自动化测试程序运行的硬件设备以及长期反复运行的开销也属于此类投入。所以,需要比较此类费用与人力开支,看看瓶颈主要在哪一方面。如果单纯减少此类费用,技术上的投入会更有效果。例如手机或嵌入式系统测试中使用虚拟机模拟,可以大大减少手机或嵌入式硬件设备上的投入。或者提供自动化测试程序的性能,也能减少相应的硬件和运行费用。

u  工程师:此类改进通常伴随着技术革新,值得投入。问题是很多人只看到自动化测试的好处,实践中陷入到发现bug不多,开发维护成本高的怪圈,这样是得不偿失的。多考虑一下投资方要达到的目的,往往能找到更多的发展机会。

n  更少的人事管理开支

u  投资方:扁平的人事管理结构会更有效率,事实上如果存在多个不同角度测试团队的话,扁平的人事管理结构会好得多,测试负责人能统筹看待不同团队的贡献,减少内耗。另一方面,培养资深测试工程师,将大大提高提早发现严重bug所带来的回报,而且给测试团队树立了发展的榜样,减少了测试工程师过分流向管理所带来的一线测试力量的结构性流失,有利于测试团队的稳定。

u  工程师:中国人都想当管理人员,程序员也不例外。但是投资方其实只会重视给他们带来回报的员工,无论是管理人员还是工程师。所以,除了技术以外,如何让投资方看到回报也是一门重要学问。在国内,绝大多数情况都是管理人员去展示回报,问题是,投资方并没有拒绝工程师来展示啊?所以,工程师也可以学习如何展示自己工作带来的回报。

 

今天就到这里,下一次我们继续同时就投资方和工程师角度谈谈如何才能使测试工作在商业竞争中发挥作用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值