测试驱动开发的适用性

原文:http://www.infoq.com/cn/news/2009/11/uncle-bob-tdd-applicability


TDD取代架构了吗?

你不能通过TDD 得到一个完整的架构。 TDD 可以告诉你某些架构决定,但是你无法在没有架构设计的情况下启动项目。因此某些预先的架构是必要的。其中最重要的一点是决定哪些架构元素可以延迟哪些不能。

TDD能够替代设计吗?

不,你仍然需要所有的设计技能。你仍然需要了解设计原则和设计模式。你应该了解UML 。并且,你应该创建软件设计的轻量级模型。 

事实上,TDD 也是 一门设计技术,但不是孤独的设计技术。所有的老设计规则和技能仍然适用。TDD 能够影响和增强它们。 

TDD是否应该应用于每一行代码?

有些代码时不适合TDD 的。比如, GUI 等。当然,不仅仅是 GUI ,它只是一个例子,核心是摆弄( fiddling )的想法:

1、  你必须把代码摆弄到位。

2、  你必须摆弄某些方面以满足客户需求。

3、  如果存在一些不确定新,必须通过快速的周期(高度的迭代)来解决。

则几种情况下,是不适合仅TDD 开发的。简单的所,就是如果开发的是针对用户定制性很高的产品(或软件模块),或者产品时一个尝试性产品,需要在尝试的迭代中解决问题,这种情况下不适合使用测试驱动开发。

测试驱动开发可以提高每行代码和每个决定被测试的几率。

高度自动化的测试覆盖会提升你的速度。原因在于:

第一,  你不用在调试上花费太多的时间。

第二,  不会在无意中破坏代码。

第三,  测试用例在某些程度上,反映了系统的功能。

第四,  减少后期的维护成本。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值