追求极致的软件测试

 

我对产品的质量要求很高,这么多年来,一直坚持一点“从我团队出去的产品不要有明显的功能漏洞或重大问题”,并不是说一定要发布完美的产品,有一些功能上的小瑕疵或只有在现场特定场景下才出现的问题是可以接受的,但是不能出现明显的功能漏洞或重大的故障。

 

因由这样的一个原则,从测试的设计到执行,都力求极致。在测试设计的阶段,除了基本功能的测试外,还会设计各种异常的测试场景,而这些异常的测试,是我在目前公司中的其它项目中很少涉及的部分。有同事和 PM 不止一次地质疑我:“有必要做这么多的测试吗?”而我的回复是:“你有信心确保这些功能都没问题并且都能正常处理异常吗?如果没有的话,就有必要。”即便是测试设计考虑问题非常全面,仍然是无可避免地出现遗漏,因此,在测试阶段补充上探索性测试,经常会在这个阶段发现一些意想不到的问题,进而丰富测试用例库。但是,探索性测试是非常耗时,不光需要有丰富的经验、敏锐的缺陷发现感,还需要时间和耐心。这一点,通常是项目比较难控制的。同事问我:“你为什么要加班呀?”我说:“我在做异常测试,有些问题很难定位。”同事批评我说:“我做的计划和你做的计划完全不一样,我是给多少资源多少时间就做多少事情,而你是追求完美把所有可能要做的都做。”“但是,如果不做,到客户那边有问题了,我们不是更被动吗?”“但是,这样你得多花多少自己的时间在公司?”

 

同事的这句话敲了我一下,是啊,不光是我自己,连我的团队,都因为我增加的这些测试用例要加班。更要命的是,他们也受到了我的影响,当我对他们说:“不要加班了,赶紧走吧。”他们这样对我说:“还是有些问题,我做完再走。”当我们问他们:“你觉得我们是否有必要花那么多的时间和精力在异常测试上?”他们这样回答:“这些是很有价值的,该测试的不能少。”这些从校园走出来的年轻人,在我的熏陶下,已被我同化,我既欣慰又愧疚。如果我们降低一点要求,如果我们也像以往产品线那样测试,我们的工作将会非常轻松,可是,因为我对产品的追求完美,让本来可以轻松的工作不那么轻松。

 

我反思自己,如何去平衡软件的质量、时间和资源,我知道,没有东西是完美的,要保证高品质就需要有足够的时间和资源,但很多的时候时间和资源都是有限的,那么只能是软件的质量妥协。什么该测、什么不该测,测了会花多少的资源带来怎样的好处,而不测又会隐藏怎样的后果,这些后果在当前是否会显现。如何更 Smart 地保证产品的质量?

 

熟悉我的人都知道我对尚未测试过的任何功能都持怀疑的态度,了解我的人都知道那是因为我对产品的质量追求极致并且不希望在现场出现故障。朋友曾经批评我很多次,又不是你自己的东西,工作而已,为什么要那么较真呢?为什么不让自己、让别人好过一些?原则值得几何?

 

可是,没了原则,尺度该在哪里?

 

            

       Written by smilings in GuangZhou, November 26, 2010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值