Agitar Software 的 Alberto Savoia 找到了一篇堪称珍品的“远古文章”,并在 Artima Blog 上贴了出来,名为“Testivus 之路——软件开发初期的单元测试名言”。该文为开发者提供了关于单元测试的一些建议,并戏称其为“可与古老东方名言相提并论的十二条”。
副标题为“单元测试,教条越少,效果越好"。该文讲述了喜玛拉雅远征队的一个故事,据说他们找到了史前文字:
他们遇到所有令人称奇的事情中最为神奇的事:在山洞里发现了一个程序员留下的一张字条,上面写道: > “我们又一次比预期时间提前完成了软件发布。所有的测试都通过了,我们正享受着剩余的时间,正要远航。”
这些老程序员的秘密何在?远征队搜索了每一个角落。除了各种各样的 Dilbert 日历, 他们还发现了“Testivus 之路”。是谁写了这本神奇手册? 手册中的内容是否就是那些老程序员可以提供的完成任务的秘诀呢?
该文收录了《Testivus 之路》的所有内容,还包括对 12 信条的诠释。12 个信条如下: > 1. 写代码,就一定要写测试
- 不要受单元测试的教条所限
- 相信单元测试将会带来的成果
- 统一考虑编码和测试
- 测试比单元代码重要
- 测试的最佳时机是代码刚写完之时
- 测试不会白费
- 当天有瑕疵的测试也比后补的完美测试好
- 不好的测试也比没有测试强
- 测试有时可以验证意图
- 只有傻瓜不用工具
- 用好的去测试不好的
这里有一个“ Testivus 之路”的例子: > 一个学生问编程大师:
“我什么时候能不写测试了?” 大师回答说:
“当你不写代码的时候。”学生又问道:
“那我什么时候能不写代码了?”大师回答说:
“当你成为一个管理者时。”学生小心翼翼地问:
“那我什么时候成为一个管理者呢?”大师回答道:
“当你不写测试的时候。”学生头也不回
冲过去就开始写测试了。如果要写某段代码,
那么,必定是要有测试代码的。
查看英文原文: Archeology: Testing Sacred Text Found - - - - - -
译者简介:乔梁, BJUG 成员,在 IT 领域工作多年,先后从事过软件开发、架构设计、技术管理等工作,目前从事项目管理工作。关心软件技术领域发展,对软件生命周期管理及过程改进方面的内容很感兴趣,对敏捷方法论亦有所了解。他的个人 Blog 为: http://blog.csdn.net/tony1130 。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com 。
评论