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

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

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

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

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

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

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

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

软件测试不是一个功能相关推荐

  1. android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库

    XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装.还不赶紧点击使用说明文档,体验一下吧! 项目地址 关于我 https://github ...

  2. Android-如何开发一个功能强大的图片选择器

    图片选择器是Android开发中会经常用到的一个功能,特别对于社交类的应用,比如头像设置,比如发图片.自然ImagePicker的轮子很多,今天介绍一个功能强大的轮子SImagePicker 介绍 首 ...

  3. SLP是最近在BCH中引入的一个功能,它允许创建定制令牌。

    据cryptobriefing报道,Bitcoin.com宣布,计划推出一个新的中心化加密货币交易所.承诺的功能包括用户友好的界面,易于导航,高流动性和强大的匹配引擎.该平台定于9月2日开始交易,以B ...

  4. wps中的相交_PPT中最好用的一个功能,非它莫属了~

    来自:利兄日志(ID:lixiongppt)作者:利兄 千呼万唤始出来~ 大家催了好久了,今天就详细和大家聊聊PPT中最好用的一个功能-布尔运算. 之前我在文章中反复提过这个词,但是很多人依然不会用, ...

  5. 二维码QR Code不是一个产品,是一个功能

    2019独角兽企业重金招聘Python工程师标准>>> 台湾有许多公司,开始跨入 QR Code 的相关应用,热度开始逐渐上升.最近有幸跟许多在这方面有兴趣的朋友们聊天,得到了很多的 ...

  6. scanf_s()函数 (是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数)

    scanf()函数是标准C中提供的标准输入函数,scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数.因为scanf()在读取数据时不检查边界,所以可能会造成 ...

  7. VB.NET完成一个功能增强的记事本

    VB.NET完成一个功能增强的记事本 分类: DotNet 2011-07-02 16:05 153人阅读 评论(0)收藏 举报 想必大家都听说过Notepad2,Notepad++一类的记事本增强软 ...

  8. 目测这个APP要火啦,只有一个功能就要干倒小咖秀?

    PMCAFF产品经理社区 更多精彩尽www.pmcaff.com 90.00后已逐渐成长为消费市场的中坚力量,他们的喜好也变成创业者争相迎合的对象,原本只受90后和二次元喜欢的弹幕,早已变成视频播放的 ...

  9. 运营一个网站,新增加一个功能,容易忽视哪些问题就匆匆上线?

    1 数据架构中的索引.新增功能少不了新增表,但是在设计规划阶段,往往思想是做表结构,很少有开发人员能够考虑到后期的性能问题,业务查询量集中度问题.一个资深的开发人员会考虑新增功能的性能瓶颈可能会存在于 ...

最新文章

  1. JDBC连接mysql数据的7个步骤(讲解+源码)
  2. cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
  3. GetOverlappedResult函数详细解答
  4. nn.Conv2d中padding详解【pytorch学习】
  5. 手写简版spring --3--对象实例化策略
  6. 判定两个tensor维度相同_Tensorflow源码解析5 -- 图的边 - Tensor
  7. 【教训】rm -fr ./* 教训
  8. ASP.Net中无刷新执行Session身份验证
  9. 壊小子的学习【日常阅读篇】(三)常规学习类图书
  10. luogu P1220 关路灯
  11. 最快的存储过程分页 50W
  12. Microsoft Windows XP SP3安装测试手记
  13. 树莓派4B Ubuntu20.04 ROS2 DSO realsense d455
  14. 全球主要城市时区时差转换计算表
  15. 【论文翻译】Deep Learning
  16. This experimental syntax requires enabling the parser plugin: ‘optionalChaining‘
  17. Delphi访问网络共享文件夹
  18. Elasticsearch:运用 Go 语言实现 Elasticsearch 搜索
  19. Qt编写自定义控件:彩色渐变圆角按钮之二
  20. C++上机实验三第2题

热门文章

  1. java环境_配置java环境变量
  2. 阿里云服务器被[kthreaddi]挖矿病毒攻击
  3. ajax jsp模糊查询源码,Ajax动态执行模糊查询功能
  4. 【Tyvj - 1305】最大子序和(单调队列优化dp)
  5. 【PAT - 甲级1012】The Best Rank (25分)
  6. 【HDU - 2376】Average distance (树,平均距离,算贡献)
  7. 【POJ - 1696】Space Ant (凸包,最小极角,排序)
  8. php中pregmatch,php中preg_match的isU代表什么意思
  9. java细粒度锁_Java细粒度锁实现的3种方式
  10. 我的世界java版游戏崩溃_我的世界全攻略之-游戏崩溃的解决方法