如果认真观察程序员把最多的时间耗在哪里,你就会发现,编写代码其实只占非常小的一部分。有些时间用来决定下一步干什么,另一些时间花在设计上,最多的时间则是用来调试;修复错误通常是比较快的,但找出错误却是噩梦一场;当你修复一个bug的时候,还会扯上另一个bug出现。
1、确保所有测试都完全自动化,让他们检查自己的测试结果;
2、一套测试就是一个强大的bug侦测器,能够大大减少查找bug所需要的时间;
3、撰写测试最有用的时机是在编程之前,编写测试其实是在问自己:这个功能到底需要做些什么,是聚焦于接口而并非实现,而且能为你的工作明确一个结束标志:一旦代码正确运行,工作就结束了;
4、测试是一种风险驱动的行为;所以不是针对public进行测试;
计算机是一个黑盒子:
计算机是一个黑盒子,你永远不会知道它会给你输出什么;