测试驱动开发的简单理解

TDD
Test Driven Development 测试驱动开发

大致思想是:在编码之前,先写测试代码,测试代码就绪后,编写代码,再去用测试代码去验证编写代码,及时修改完善逻辑。

具体实施过程中,可以看作两个层次:

  • UTDD
    Unit Test Driven Development 即单元测试驱动开发
    编码之前写测试单元,然后再去写产品代码。产品代码通过单元测试后,再进入下一环节
    好处:开发人员不会过于懒散,不会随意的去写代码,提高了代码质量。并且因为先写测试单元,有利于解决一些思维上的Bug
  • ATDD
    Acceptance Test Driven Development 验收测试驱动开发
    在编写产品代码之前,明确需求的验收标准。这样开发人员会比较明确如何写代码。同时不会造成开发出来的需求和产品或者测试理解的不一致
    从ATDD演化出来的一种具体开发模式是BDD(Behavior Driven Development 行为驱动开发),BDD将验收标准等更加细致的列出来。

个人对TDD的一些理解:

好处:

  • 测试在前,编码在后,有利于提高编码效率
  • 在相对较早阶段将开发,产品,测试对需求的理解进行了统一,降低了沟通成本。
  • 减少了开发的思维障碍,有利于提高代码质量
    -为测试提供了一些标准,提高工作效率
  • 减少了重构代码的成本

不好处:

  • UTDD 落实起来相对较难。开发工作量会倍增,学习成本也需要一些
  • 无法真正做到测试在前,对于验收测试驱动,可能在快到开发提测阶段测试才完成验收标准。

你可能感兴趣的:(测试驱动开发的简单理解)