互联网软件测试TDD(测试驱动开发)软件测试

当我谈论TDD的时候,我在谈论什么?

2017-03-18  本文已影响192人  武可

最近机缘巧合,又一次读到好几篇关于争论TDD是否还活着,以及它到底好不好用的问题。似乎在几年前DHH那篇檄文后,过一段时间就会听到一次余响。
这也促使我对反思了一下自己对TDD是什么,TDD与Unit Test的关系,TDD实用么等问题的看法。

TDD是什么

可以从它的名字切入:

另一方面,这也是为什么我不理解TDD必须要xxx,yyy配合才能做成的说法。在我看来TDD是非常基础的实践,是它给其它更高层面的技术和理念提供支持,而非相反。
这就像如果没有Git之类的版本管理工具,敏捷开发是不可想象的。但是绝不是说,只有采用了敏捷方法才能用起来Git。
TDD也是类似,归根结底是一种更高效的写代码的技术。比如我就把TDD看作是一种主动debug的手段。它在这方面起到的作用也就和一个调试器这种工具差不多。
是否使用某种工具,是否花时间来学习工具为将来提高效率,应该是程序员为自己作出的决定。

我的两个标准

当然如果用了工具,有时结果也不理想。
那么有两种可能,要么这个工具不好用,或者至少对要解决的问题不好用。要么,使用者还没有完全掌握用法。

我的两个检验标准,来检验TDD是不是真的发挥了作用。

这时你会情不自禁说出哪句话?

上一篇下一篇

猜你喜欢

热点阅读