InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

考古学新发现:代码测试的“神旨”

作者 Deborah Hartmann Preuss 译者 乔梁 发布于 2007年4月29日

领域
过程 & 实践
主题
敏捷技术 ,
测试驱动开发 ,
敏捷 ,
Fun ,
测试
Agitar Software的Alberto Savoia找到了一篇堪称珍品的“远古文章”,并在Artima Blog上贴了出来,名为“Testivus之路——软件开发初期的单元测试名言”。该文为开发者提供了关于单元测试的一些建议,并戏称其为“可与古老东方名言相提并论的十二条”。

副标题为“单元测试,教条越少,效果越好"。该文讲述了喜玛拉雅远征队的一个故事,据说他们找到了史前文字:
他们遇到所有令人称奇的事情中最为神奇的事:在山洞里发现了一个程序员留下的一张字条,上面写道:
“我们又一次比预期时间提前完成了软件发布。所有的测试都通过了,我们正享受着剩余的时间,正要远航。”
这些老程序员的秘密何在?远征队搜索了每一个角落。除了各种各样的Dilbert日历,他们还发现了“Testivus之路”。是谁写了这本神奇手册?

手册中的内容是否就是那些老程序员可以提供的完成任务的秘诀呢?
该文收录了《Testivus之路》的所有内容,还包括对12信条的诠释。12个信条如下:
  1. 写代码,就一定要写测试
  2. 不要受单元测试的教条所限
  3. 相信单元测试将会带来的成果
  4. 统一考虑编码和测试
  5. 测试比单元代码重要
  6. 测试的最佳时机是代码刚写完之时
  7. 测试不会白费
  8. 当天有瑕疵的测试也比后补的完美测试好
  9. 不好的测试也比没有测试强
  10. 测试有时可以验证意图
  11. 只有傻瓜不用工具
  12. 用好的去测试不好的
这里有一个“Testivus之路”的例子:
一个学生问编程大师:
“我什么时候能不写测试了?”

大师回答说:
“当你不写代码的时候。”

学生又问道:
“那我什么时候能不写代码了?”

大师回答说:
“当你成为一个管理者时。”

学生小心翼翼地问:
“那我什么时候成为一个管理者呢?”

大师回答道:
“当你不写测试的时候。”

学生头也不回
冲过去就开始写测试了。

如果要写某段代码,
那么,必定是要有测试代码的。
查看英文原文:Archeology: Testing Sacred Text Found
译者简介:乔梁,BJUG成员,在IT领域工作多年,先后从事过软件开发、架构设计、技术管理等工作,目前从事项目管理工作。关心软件技术领域发展,对软件生命周期管理及过程改进方面的内容很感兴趣,对敏捷方法论亦有所了解。他的个人Blog为:http://blog.csdn.net/tony1130。为InfoQ中文站贡献内容,请邮件至china-editorial@infoq.com

译者 乔梁 有十多年软件开发及项目管理经验,专注于提高软件企业提高交付能力。现任百度项目管理部高级架构师。