测试驱动开发不仅仅是测试优先(2)

发表于:2017-05-08来源:未知作者:翻译:雁惊寒点击数: 标签:tdd
测试 相比在开发完整个软件之后测试,在开发过程中对代码片段进行测试要来的更加容易点。但是在某些情况下可能会更难!为什么?因为软件在开发的

  • 测试

相比在开发完整个软件之后测试,在开发过程中对代码片段进行测试要来的更加容易点。但是在某些情况下可能会更难!为什么?因为软件在开发的时候可能还没有考虑到可测性。然而,当你在不断地进行小周期内的测试之后,该问题就会消失。

  • 重构

你是否还记得在你公司某个项目的深处看到过一大堆丑陋的代码?你或许认为你应该重构一下,但是代码实在是太混乱了,你甚至都不知道从哪里开始。但是如果你经常做重构,那么这种庞大的丑陋的代码就不会存在。

另外,别忘了,当你在做TDD时,你会慢慢积累得到一个强大的回归测试案例集。但是在我看来,与这些小周期中获得的好处相比,这只是一个加分项。

关于TDD,你要牢记的事情

TDD有着陡峭的学习曲线。为了有效地学习TDD,需要时间,精力和纪律。所以,如果你打算开始做TDD,不要指望着一开始就能顺顺利利的,也不要指望整个过程能够很自然的完成。你应该不停地关注这个流程,并坚持下去。那么,总有一天,你不会再感觉到不舒服,而你会写出更棒的代码。

不要相信一些人在互联网上所说的TDD会很神奇地设计你的软件。它不会!你,一个程序员,才是那个设计程序的人。因为TDD迫使你在一个个的小周期内工作,所以你将有更多的机会来构思程序设计,仅此而已。

确实,在一开始,项目进行的会比以前慢。但是从长远来看,会更快,因为你会写出更少bug更简洁的代码。你将会成为一个更可靠的程序员,而不是一个更快的程序员。

入门

如果你打算开始学习TDD,那我推荐这本书Test Driven Development:By Example,它是一本很不错的入门书籍。

结论

测试驱动开发不仅仅是简单地优先编写测试案例。它是一个能够帮助你始终做好工作的一个开发过程。TDD让你在一个个的小周期内进行开发,不断地设计、测试和重构代码,从而有助于生产出高质量的软件。TDD有着陡峭的学习曲线,所以如果一开始执行的并不好,不要气馁。只要耐心等待,继续前进,你将会写出更棒的软件。

原文转自:http://geek.csdn.net/news/detail/195645