什么是TDD?(Test Driven Development)

什么是TDD?(Test Driven Development)

测试驱动开发是一种软件开发技术,其要求先写测试用例,然后再编码让测试通过,最后重构代码消除重复及优化设计,使编码得到快速反馈。

优:1.降低开发者负担

2.保护网

3.提前澄清需求

4.快速反馈

TDD的三条规则:

1.除非是为了使一个失败的unit test通过,否则不允许编写任何产品代码

2.在一个单元测试中,只允许编写刚好能够导致失败的内容(编译错误也算失败)

3.只允许编写刚好能够使一个失败的unit test通过的产品代码

如果违反了会怎么样呢?

违反第一条,先编写了产品代码,那这段代码是为了实现什么需求呢?怎么确保它真的实现了呢?

违反第二条,写了多个失败的测试,如果测试长时间不能通过,会增加开发者的压力,另外,测试可能被重构,这时会增加测试的修改成本。

违反第三条,产品代码实现了超出当前测试的功能,那么这部分代码就没有测试的保护,不知道是否正确,需要手工测试。可能这是不存在的需求,那就凭空增加了代码的复杂性。如果是存在的需求,那后面的测试写出来就会直接通过,破坏了TDD的节奏感。

TDD的整体流程:

1.分析需求并思考如何测试,然后写一个测试。

2.运行测试,保证测试用例通过。

3.编写刚刚好使测试通过的代码。

4.运行测试,如果测试失败,需要解决使测试通过。

5.识别代码的坏味道,进行代码重构。

6.再次运行测试验证重构是否引入新的错误。如果没有通过,很可能是在重构时犯了一些错误,需要立即修复并重新运行,直到所有测试通过。

7.重复上述步骤,直到找不到更多驱动编写新代码的测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值