软件测试不是一个功能

红薯
 红薯
发布于 2012年04月24日
收藏 7

今天在工作中我对一个同事说,PyDev 2.5.0 现在对TDD(测试驱动开发)提供了很酷的支持了。我并不是一个对TDD很痴迷的倡导者,对其它事物也一样,但仍不免激起了一场讨论。这个家伙,让我们暂叫他约翰,说:“在开发一个功能时TDD可以节省开发的时间,但有时候一个功能需求,要求的是如此的紧急,我们要尽可能快的交付这个功能,软件测试放在以后再说。”

诸如这样的话让我欲哭无泪。

我极力解释说,没有测试,发布的代码会存在不可想象的风险。就像这个功能非常的重要一样,你的产品也会因此受到严重的破坏。尤其在使用Python语言时,很少有问题会在编译期显示出来(一个简单的书写错误就会导致运行期的一个AttributeError,甚至更遭)。我认为这种风险过高而不可接受。约翰回复说也许你说的是对的,但是否值得冒这样的风险,这种权利把握在项目经理手里。如果你使用TDD,实际上你是剥夺了他认为可以“放弃软件测试以后在说”的权利。“

说实话,对于这样的逻辑观念,我不知道如何回答。不错,老板有权利决定是否需要测试我的程序,但是…他应该这样吗?一个建筑工人被告知先把砖块码起来,灰泥以后再补,这样合理吗?

软件开发如砌砖墙

在我读过的书本中显示,这种想法是错误的。软件测试并不是一个功能。它不是一个由客户提出来的需求。它不是”最好测一下“。

它是一个软件的任何一段代码的固有组成。

不错,你可以开发出不经测试的软件。它甚至可以运行,就像是摞起来的砖块看起来也是一堵墙。但如果遇到大一点的风,它有可能就会砸到某人的头上。

你会对持这样观点的人做怎样的回复?

[本文英文原文链接:Testing is not a Feature ]

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:软件测试不是一个功能
加载中

最新评论(11

goodluck
goodluck
这年头讲究摸石头,测哪门子试啊?
yangkai_2005
yangkai_2005
测试不用说,当然是保证软件质量必不可少的一个环节。
1 测试由什么人来做?
2 是否预算了测试的工作量?
这将是影响开发成本的一个重要因素。
taojinhuo
taojinhuo
又见砖头
yuzhouliu
yuzhouliu
当然不是功能,只是一个环节而已
冬日暖阳85
冬日暖阳85
领导认为:代码质量应该是程序员的责任心决定的,所以有bug就扣程序员的钱;代码测试是无关紧要的,不能带来效益。

——这就是我离开前一家公司的原因。道不同不相为谋。
蛋疼的淡定哥
蛋疼的淡定哥

引用来自“难易”的评论

引用来自“蛋疼的淡定哥”的评论

这个情况和我遇到的一个很类似,我曾经和领导提出要注重代码开发质量,当时他就很义正言辞的和我说:我们现在只需要注重功能实现就可以了,没有功能哪里来的质量。然后现在一堆乱错杂的代码等着后期完善,头疼啊

因为老板不必为后期完善支付成本,最后成本还是落到你头上。。

虽说不完全是这样的,但是还是或多或少的有点关系,现在他们就以代码质量问题,不断地扣钱
喔喔娜
喔喔娜
我觉得测试很重要,除非你写出来的代码质量很高,用户体验很好。但这样的毕竟少之又少,即使功能实现了,但一点一个错,还不如不实现呢
难易
难易

引用来自“蛋疼的淡定哥”的评论

这个情况和我遇到的一个很类似,我曾经和领导提出要注重代码开发质量,当时他就很义正言辞的和我说:我们现在只需要注重功能实现就可以了,没有功能哪里来的质量。然后现在一堆乱错杂的代码等着后期完善,头疼啊

因为老板不必为后期完善支付成本,最后成本还是落到你头上。。
蛋疼的淡定哥
蛋疼的淡定哥
这个情况和我遇到的一个很类似,我曾经和领导提出要注重代码开发质量,当时他就很义正言辞的和我说:我们现在只需要注重功能实现就可以了,没有功能哪里来的质量。然后现在一堆乱错杂的代码等着后期完善,头疼啊
返回顶部
顶部