TDD(测试驱动)调研

一、认识TDD

1.概念

测试驱动开发(Test Driven Development, 简称TDD)是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写测试用例代码,测试代码确定需要编写什么产品代码。
TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。可以帮助我们增量式的构建系统,也能保证代码在任何时刻都不会错的离谱。

2.问题背景

1.糟糕的代码质量

1.缺陷带来额外的开销,软件的不稳定。
测试阶段修复一个问题通常是开发阶段修复这个缺陷的成本的两倍或者更多。
2.维护困难,开发缓慢
糟糕的代码,阅读困难,维护性差,扩展困难。

2.不能满足需求

开发出的功能和需求有差异,交付时才发现,费时费力。

3.TDD优点

1702534487774.jpg

1.不再长时间调试代码

TDD的方式写代码,把开发过程分解为小的、集中的测试,遇到的问题很快定位,几乎不需要调试定位问题。

2.对完成的工作很有信心

使用TDD不能保证一个BUG都没有;但是可以让人对自己开发的代码有足够了解,取决于测试代码书写的规范程度。
测试越好,代码质量越高,对代码改动越有信心。

3.有更多时间做其他事情

TDD和ADD并不会提高我们敲键盘的速度,但能缩短由于低效开发方式(例如调试代码,理解可读性不高的代码,或因为误解需求返工)所浪费的时间。
总体来讲:TDD是设计和开发方法,它能帮我们从项目开始就构建出可运行的软件,以增量的方式添加新的功能,使软件在整个开发过程中都能工作良好。通过演进式设计,并且应用重构优化每一步的设计,我们可以防止代码质量随着时间的推移而下降。

二、TDD的组成

1.TDD周期

测试->编码->重构

TDD周期.png

  • 在代码层次,在编码之前写测试脚本[红、绿、重构]。
  • 操作流程:
    • 写一个测试用例
    • 运行测试
    • 写刚好能让测试通过的实现。
    • 运行测试。
    • 识别坏味道,重构。
    • 运行测试。

2.增量式开发

增量式演化设计是指在系统不断添加更多的功能和行为的过程中,不断地微调代码结构。在代码生命周期的任何时刻,代码所展示的都是开发人员为完成现有功能所做的最好的设计。我们只为完成当前功能而设计,而不会试图事先做完所有设计。按照开发过程中获取到的信息调整当前设计,而不是在项目一开始的所谓设计阶段企图预见到所有应用场景,然后基于这些或实或虚的假设做设计。
1.小步增量
在迭代、增量式的开发过程中 ,我们需要不断地在“实现新功能”和为支持新功能而“调整设计乃至架构”两项任间切换。
image.png
将大的开发任务,拆分成小的具体的任务。对应的到代码就是一个个测试。完成每一个测试就是完成每一个阶段性的目标。
2.演进式的设计
恰如其分的满足需求。
image.png
image.png
3.时刻保证软件可用
image.png

3.小步重构

  1. 先做容易的功能。
  2. 消除测试中的重复。
  3. 安全的替换实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哼哼牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值