自测试代码的价值
- 程序员编写代码只占非常小的部分时间, 另一些时间花在设计上,最多的则是用来调试。
- 确保所有测试都完全自动化,让他们检查自己的测试结果
- 一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需的时间
- 撰写测试代码的最佳时机是在开始编程之前,添加特性之前,先写相应测试代码
测试框架
- JUnit
- 单元测试和功能测试
- 单元测试,高度局部化,目的为了提高程序员的生产率。
- 功能测试,专门的QA部门,黑盒测试,从客户的角度保障质量。
- 每当你收到bug报告,请先写一个单元测试来暴露这个bug
添加更多测试
- 测试应该是一种风险驱动的行为,测试的目的是希望找出现在或未来可能出现的错误
- 要诀:测试你最担心出错的部分,不要等待完美测试
- 考虑可能出错的边界条件,把测试火力集中在那儿
- 当事情被认为应该会出错时,别忘了检查是否抛出了预期的异常
- 不要因为测试无法捕捉所有bug就不写测试,因为测试的确可以捕捉到大多数bug