美文网首页
TDD开发学习

TDD开发学习

作者: 草样逍遥 | 来源:发表于2019-02-12 15:41 被阅读0次

在接触TDD开发之前,我们在实验室进行平台开发,或者开发软件满足通信协议设计需求时,都是要写很长的需求文档,将所有细节想清楚。然后为了满足各个需求,开始进行程序开发设计。开发完成之后,再进行功能测试,书写测试报告,并对测试结果进行分析。这种开发属于传统“瀑布式”开发,并且时需求驱动开发,而不是测试驱动开发。这种开发方式的缺点比较突出,因此开始学习TDD开发方式。

1. TDD开发学习

传统开发的劣势

  • 在不想清楚细节的情况下,直接开发
  • 需求不明确时,协商讨论花费时间
  • 测试出现问题,调试占据很长时间
  • 代码质量不高,需要进行代码重构等,但是重构难度大,测试工作量大。

TDD开发方式

  • 先分解任务
  • 列Example,用实例化需求,澄清需求细节
  • 写测试,值关注需求,程序的输入输出,不关心中间过程
  • 写实现,不考虑别的需求,用最简单的方式满足当前这个小需求
  • 重构,用手法消除代码里的坏味道
  • 写完,手动测试一下,基本没什么问题,有问题补个用例,修复
  • 转测试,小问题,补用例,修复

含义

  • Task-Driven Development
  • Test First Development
  • Test-Driven Design

好处

  1. 效率:
  • 提前确认需求,减少开发中的中断和等待
  • 小步快走,节省调试时间
  1. 质量:
  • 高测试覆盖率
  • 自动回归测试

2. 如何做TDD

做设计

image
  1. 快速新增一个测试
  2. 运行所有的测试,发现新增的测试时失败的
  3. 做一些小小的改动,尽快使测试可以运行
  4. 运行所有测试,并且全部通过
  5. 重构代码,以消除重复设计等

不做设计

相关文章

  • TDD开发学习

    在接触TDD开发之前,我们在实验室进行平台开发,或者开发软件满足通信协议设计需求时,都是要写很长的需求文档,将所有...

  • 初识TDD

    什么是TDD 本文所说的 TDD 指狭义上的 TDD,也就是「单元测试驱动开发」。 TDD 是敏捷开发中的一项核心...

  • 测试驱动开发(TDD)总结——原理篇

    标签 | TDD Java 测试驱动开发(TDD)总结——原理篇

  • TDD和BDD

    TDD(Test-Driven Development)——测试驱动开发 1.为什么使用TDD: 1)TDD根据客...

  • TDD vs BDD

    TDD vs BDD 什么是TDD?Test-Driven Development,测试驱动开发,是一种开发流程。...

  • TDD

    TDD,测试驱动开发(Test-Driven Development).TDD强调的是"测试先行",而不是在开发周...

  • 轻松TDD之旅

    TDD简介 TDD是什么 TDD一般是Test Driven Development(测试驱动开发)的缩写,它以测...

  • 深度解读 - TDD(测试驱动开发)

    本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有...

  • TDD+Git+Frequency Number

    一、TDD是什么? TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中...

  • iOS 单元测试 - TDD

    TDD 测试驱动开发(Test Driven Development,缩写TDD),它的基本思想就是在开发功能代码...

网友评论

      本文标题:TDD开发学习

      本文链接:https://www.haomeiwen.com/subject/clfkeqtx.html