《测试驱动开发》的读书笔记

  • 《测试驱动开发》的读书笔记
  • 测试驱动开发的规则
  • 测试程序开发周期的阶段

      《测试驱动开发》的读书笔记

      学习基础:

      熟悉《设计模式》的基本概念,熟悉《重构》的基本概念,熟悉基本的Java语法,熟悉Eclipse和JUnit的使用,有相对较好的英语基础。

      学习过程:

      • 第1部分,手工输入实例程序,了解TDD的方法和过程。重点是理解TDD的思路,最好的理解方式就是通过实践的方式理解。
      • 第2部分,教你如何用Python实现一个符合xUnit的测试框架。
      • 第3部分,TDD的模式,这些模式展现TDD如何与其他重要思想(例如:设计模式、重构等等)一起工作的。

      学习目的:

      编写正确的代码。

      学习感悟:

      • 道理很简单,操作也很简单,但是我仍然无法明了作者许多重构操作的意图,只是感觉作者可能是从直觉出发写出代码,再通过重构推进测试代码与产品代码之间的解耦。(知其然,不知其所以然)
      • 可以先跳过第2部分,了解xUnit如何实现固然重要,但是为此变成先学Python就有点跑题了
      • 还可以跳过第3部分,这部分都是作者从思想上对TDD的总结,俗话说“不吃亏不涨记性”,等自己在项目中吃够了亏再来回顾别人的经验,才会真正共鸣吧。

      学习代码:

      代码很简单,不需要再提供,反而最重要的是自己一定要手工跟一遍,否则无法领会作者的意图。至少,我在豆瓣上看了几个评论,大部分都是看懂了,没感觉。

      测试驱动开发的规则

      1. (P4)明确设计目标,完善测试代码
        • 消除重复设计即是消除依赖关系(测试代码与产品代码之间的依赖关系);
        • 测试驱动开发不是通过一小步一小步来完成的,而是培养一小步一小步开发软件的能力。因为简单的问题可以走快点,复杂的问题就可以走慢点。
      2. (P12)完善产品代码
        • 完成知道怎么做的产品代码;
        • 补充不知道怎么做的产品伪代码。
      3. (P14)寻找隐含的开发目标,完善测试代码
        • 利用三角法发现产品代码中的问题( 三角法:当例子不止1个的时候才完善代码。可以在没有设计思路的时候,换个角度思考问题)
        • 利用重构解决发现的问题
      4. (P17)通过开发的功能来重构测试代码
      5. (P33)不打断自己已经在做的工作,如果非要打断也不要在新的工作中花太长的时间,并且不能再次打断这个新的工作。(事不过三)
      6. (P34)找到自己的开发节奏。(一开始慢一点,慢慢加快,再调整回慢,直到找到自己最合适的节奏感)
      7. (P42)删除不需要的子类,会发现测试代码中存在的不需要的测试也可以删除(放弃不需要的东西,会帮助你发现你还需要什么)

      测试程序开发周期的阶段

      1. 写一个测试程序;
      2. 让测试程序编译通过;
      3. 运行测试程序,发现不能运行;
      4. 让测试程序可以运行;
      5. 消除重复设计,优化设计结构。
    • posted @ 2019-01-18 23:29  zYx.Tom  阅读(764)  评论(0编辑  收藏  举报