在要求项目要尽量快地实现的时候,质量与开发进度上会出现一定的矛盾,突出的是单元测试代码与逻辑实现代码。
  TDD(测试驱动开发)必然没错,但是使用不当会造成开发效率的下降。在敏捷开发实践中,结合前辈经验与自己的经验,如下几点是要关心的:
  1.为主要的、关键的逻辑组件,关键的逻辑方法进行测试驱动开发
  这样对设计、设计演化很有帮助
  2.逻辑类似的组件如果存在多个,优先编写其中一种逻辑组件的测试代码
  实践中可能会出现一些组件在逻辑上可能完成差不多的功能(例如类型转换帮助类),可以先只编写其中一种组件的测试代码以节省时间
  3.发现Bug时一定先编写测试代码进行Debug
  在测试和调试之间众说纷纭,我的观点是应该先编写测试代码找出这个Bug
  4.关键Utility、Infrastucture类型的组件请编写测试代码
  不要忽视了这些帮助类、基础类的正确性和运行效率
  5.保持测试代码与逻辑代码同步
  这里说的“同步”主要包括了测试方法和实现方法的同步;测试代码注释和逻辑代码注释的同步
  6.保证测试用例的独立性
  让测试用例独立的可执行,尽量不要依赖其他的测试用例。这样才能让TDD与设计保持良好的协作
  7.Mock是必不可少的
  使用Mock可以让接口的设计得到快速验证与反馈,也对团队的平行开发提供便利