软件测试不是一个功能

开发 项目管理
在开发一个功能时TDD可以节省开发的时间,但有时候一个功能需求,要求的是如此的紧急,我们要尽可能快的交付这个功能,软件测试放在以后再说。

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

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

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

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

 

[[68269]]

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

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

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

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

 

英文:Testing is not a Feature

原文链接:http://www.aqee.net/testing-is-not-a-feature/

【编辑推荐】

  1. 软件测试中不需要测试的八件事
  2. 软件测试项目为什么会失败
  3. 浅析软件测试之灰盒测试
  4. 浅谈软件测试过程的改进
  5. 软件测试工具发展展望
责任编辑:林师授 来源: 外刊IT评论
相关推荐

2017-07-11 08:57:07

功能超融合架构

2018-06-19 10:06:16

Linux软件测试Nix包管理器

2009-03-05 09:39:07

工程师软件测试加班经历

2010-09-09 21:34:06

2017-08-08 14:15:24

2009-09-14 09:36:19

Chrome多功能平台谷歌

2010-08-03 22:09:16

2012-09-27 11:09:58

2015-08-03 17:15:49

软件测试

2013-04-22 10:15:27

GoogleGoogle管理

2012-11-29 09:49:17

软件项目项目

2011-08-25 09:03:40

2021-06-08 07:32:01

框架Mock测试

2021-12-29 21:15:08

软件测试软件开发

2010-04-01 09:52:03

云安全

2009-07-21 13:33:18

网络管理员局域网

2020-09-16 11:20:03

流计算基准测试

2012-10-17 09:55:30

软件测试测试工程师主管

2014-08-19 10:35:00

程序员
点赞
收藏

51CTO技术栈公众号