测试驱动开发1
1.在刚上手的时候,你需要首先写出一个个毫无意义的测试程序,甚至为方法设置成“直接返回你所想要的结果”,来扭转你的思维方式:要知道,我们不是以分析建立对象开始,不是以将基本的测试程序的逻辑性写正确开始,而是以测试开始。为了扭转这个逻辑,甚至允许你写出你明明知道是错误的程序(或一个空程序)。
2.流程/步骤:
(1)新增一个测试
(2)运行所有的测试程序并且使之失败
(3)做一些小改动
(4)运行所有的测试程序并使之全部通过
(5)重构代码以消除重复设计
3.测试程序与代码所存在的问题在于两者之间的依赖关系,即你不可能只改动其中的一个而不改动另外一个。
4.消除程序中的重复设计就是消除消除依赖关系。
5.与体系结构驱动不同:TDD首先解决目标中的“可用”问题,其次解决“代码整洁”问题。
6.不是一直要求你使用伪实现来使你的测试程序可运行,你仍可以使用显明实现来书写你的测试代码,不过,这要求你知道你该怎么实现你的测试代码。
7.除第6点中描述的伪实现和显明实现外,还可以使用三角法。它提供给你测试方案的设计思路。通过再提出另外一个(普通的)测试实例来一般化你的测试代码的设计思路。
8.5个阶段中的前三个阶段需要很快完成,为此,你可以不择手段地达到这个目标,因为,就在此短暂的一刻尽快地让测试程序通过比如何设计更重要。让设计的事情放在第5步操作吧!
blog comments powered by Disqus