BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Deborah Hartmann Preuss 关注 0 他的粉丝 ,译者 乔梁 关注 7 他的粉丝 发布于 2007年4月30日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!
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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT