态度决定高度、企图决定版图、格局决定结局

导航

关于TDD体会

     上一周心情糟透了,这周到是过的不错,第一感觉就是特别特别的快!还清晰的记得向Ed报告50percent的紧张,现在却有结束了一周,当然也可以说没有结束,毕竟还有周末2天!

    刚把代码上传了,也标志着又一个N-percent结束了:) 看着一个个测试的顺利通过,感觉好舒服.暂不管这个项目如何,简单描述下对TDD的感受.

    昨天又花了点时间小小结合自己的TDD实践和Kent Beck大师的<<Test Driver Development>>理论总结了下,可以肯定收获还是有的!

为啥前期的很多测试再回归的时候有问题出现?因为之前写测试的时候没有完全能够认识到测试解耦的重要性.所以当回归,把所有的测试通通跑一次的时候出现了顺序上的不一致,造成数据准备不充分,或者数据违反某些约束,从而造成可怕的红色进度出现!

      切记啊!----测试间一定要完全解耦,形成独立的测试!只有

当你写出没有耦合的测试时候,你才能体会到啥叫松散耦合和高内聚!

     如何让测试驱动你写代码? TDD要求我们先写出测试代码,然后再写实现!对于这点的理解,之前我和很多人一样不能理解:没有代码如何写测试呢?但事实上,其中2个重要的原因,一是我们没有真正的去做;二是太依赖于IDE. 第一点,似乎没有啥需要说,你干了你就知道这是可以的.  第二点,我们习惯于用开发环境的智能感知或者就是提示功能.但是写测试的时候,你会在一定程度上没有这些"舒服"的享受.因为代码还没有形成,它不能给你的测试提供支持!

遵循TDD的一些原则,会使自己对程序更加有信心,这点我开始有体会了:) 我会让所有的问题交个测试来告诉我,当出现红色进度的时候,我就知道了,这里有问题,如果全是绿色,我就特别塌实:)压力上小了很多!如果能够结合ToDoList来完成任务,真是感觉好极了!

在TDD书中有关于测试和压力之间的关系:

1.不用TDD方式,压力大的时候,你会越来越少的运行测试,因为你需要赶上进度.如果采用TDD,那么测试,压力越大的时候,你就越会运行测试,因为只有测试通过了,你的工作才算完成.

可以说,压力正作用于测试.越来越多次的运行测试,你就会越来越有信心.因为目前测试代码运行时间很短,所以,我基本隔10多分钟就跑一次测试,看到绿色通过,心情好多了!

TDD有要求,"小步快跑",把大功能一次次的拆分成小规模的测试,让它通过之后在进行更大规模的测试或者重构.每次重构以后,都要让测试来说明你重构是否造成了破坏!虽然目前代码重构不是很多,主要是参数和方法级别的重构(我的定义),但是让重构后,测试通过,我就非常放心刚才的动作!

最后,写下几个问题点:

1.我违反了一个非常重要的原则:不要注释掉测试代码,而让测试通过.我干了,后悔ing!

2.测试优先,一定要在做任何改动,或者重构之前,先写好测试 .由于这个有点不符合自己的习惯,所以犯了错!改正ing !

3.没有学会如何使用Mock来测试.因为目前测试的开销不大,所以MOCK没有用,也许不是一个问题,但是得记录下来!

4.没有一个真正意义上的ToDoList.这个是一个习惯问题,培养ing !-----它能增加信心!

这么一周,大部分时间都用来写测试和让测试通过了!也终于感觉到了它的魅力和强大!对了,任何情况下调试总是非常非常的痛苦!

最近胃口不好,该吃药还是怎么地呢?

附上今天发现的一个超级"魅女"照片(朱利叶-比诺什愈)

欢迎访问:http://hi.baidu.com/flyingchen

posted on 2006-12-15 21:02  flyingchen  阅读(337)  评论(2编辑  收藏  举报