软件测试不是一个特性
上一篇 /
下一篇 2012-04-27 09:38:49
/ 个人分类:杂谈
今天在
工作中我对一个同事说,PyDev 2.5.0 现在对 TDD(
测试驱
动开发)提供了很酷的支持了。我并不是一个对 TDD
很痴迷的倡导者,对其它事物也一样,但仍不免激起了一场讨论。这个家伙,让我们暂叫他约翰,说:“在开发一个功能时 TDD
可以节省开发的时间,但有时候一个功能需求,要求的是如此的紧急,我们要尽可能快的交付这个功能,
软件测试放在以后再说。”
Q&E}:EW!S4k"TB(u0 诸如这样的话让我欲哭无泪。51Testing软件测试网0f(?$N'I-Fl k+T
P%{H Qn{w0
我极力解释说,没有测试,发布的代码会存在不可想象的风险。就像这个功能非常的重要一样,你的产品也会因此受到严重的破坏。尤其在使用 Python
语言时,很少有问题会在编译期显示出来(一个简单的书写错误就会导致运行期的一个AttributeError,甚至更遭)。我认为这种风险过高而不可接
受。约翰回复说:“也许你说的是对的,但是否值得冒这样的风险,这种权利把握在项目经理手里。如果你使用
TDD,实际上你是剥夺了他认为可以“放弃软件测试以后在说”的权利。”51Testing软件测试网2KEnG6T
s1A9DS4dYi
tw0 说实话,对于这样的逻辑观念,我不知道如何回答。不错,老板有权利决定是否需要测试我的程序,但是…他应该这样吗?一个建筑工人被告知先把砖块码起来,灰泥以后再补,这样合理吗?
P~5L8c5j1]0
R0h2w9eE
{0 在我读过的书本中显示,这种想法是错误的。软件测试并不是一个功能。它不是一个由客户提出来的需求。它不是“最好测一下”。
+f7A1TW(q1{1Fx0 它是一个软件的任何一段代码的固有组成。
\,N4S4G5}w0 不错,你可以开发出不经测试的软件。它甚至可以运行,就像是摞起来的砖块看起来也是一堵墙。但如果遇到大一点的风,它有可能就会砸到某人的头上。
@-J
}H$qz._&yZ0 你会对持这样观点的人做怎样的回复?
"LZ%]%\#hQe'}0
收藏
举报
TAG: