测试驱动开发的适用性

前端之家收集整理的这篇文章主要介绍了测试驱动开发的适用性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文: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 开发的。简单的所,就是如果开发的是针对用户定制性很高的产品(或软件模块),或者产品时一个尝试性产品,需要在尝试的迭代中解决问题,这种情况下不适合使用测试驱动开发。

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

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

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

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

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

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

猜你在找的设计模式相关文章