测试驱动开发随笔------测试驱动还是测试辅助

这篇随笔本不在计划之中,由我和寒风天伤的一个小争论引起。

我们从争论的起点出发。

测试代码在类外部还是内部。

这是一个看上去很简单的问题,似乎无足轻重。以至于,我一开始也没太把它当一回事。
然而它却体现了TDD的一个根本问题。

测试先行还是代码先行??!!

测试驱动开发的一个很重要的观点就是测试先行,如果测试代码出现在类的内部就显然成为了代码先行。
你认为这样有些教条,但是这才是真正的测试驱动开发!!!

测试驱动开发是软件开发的方法学!extreme program 是软件开发方法学吗?是的。 而TDD就是其中的重要组成部分,它直接导致了代码的产生。其余的pair work,continue integration,work flesh等等这些技术和TDD构成了xp的整体。那么TDD在其中的地位可想而知,是它直接产生了我们的源代码。

测试驱动开发不是写完源代码再去写测试代码。
而是先写测试代码,然后为了使测试通过再写源代码,所以一切的代码都是由测试所产生的,这难道还不是软件开发的方法学?

如果你把测试驱动开发当作插件,那么是你误解了测试驱动开发的本意,这里的驱动可不是帮助的意思,而是完全的依靠于它。当然你可以把编写测试代码当作帮助你开发的手段,这在我们的编程经历中可能都发生过。
然而记住仅仅这样可不是测试驱动开发!我起个名字这应该叫测试辅助开发。

可能有些人会怀疑测试驱动的能力,这也是在接下来的随笔中,我将尽力向大家解释的。

测试驱动是如何驱动开发的,甚至如何在测试的指引下产生了模式(还是你心中早就有了模式的概念),这些也是我对TDD所持有的问题,希望在大家的指导下我们可以加深对测试驱动开发的理解。

你可能感兴趣的:(编程,软件测试,XP,TDD)