BDD还是TDD?你喜欢哪个?为什么?

时间:2009-08-26 12:12:51

标签: testing tdd bdd

我看到许多开发人员不同意在开始新项目时使用哪种测试方式。我想知道为什么你选择这种特殊风格而不是另一种风格。

4 个答案:

答案 0 :(得分:5)

BDD和TDD不相互排斥。我认为,从需求分析开始,BDD从整体上解决了软件开发的问题。 TDD与实现完全相关,实际上是开发人员的个人工作技术。

答案 1 :(得分:4)

我通常使用 out-in 原则。你是否会称之为TDD或BDD对我来说不那么重要。

这意味着我从我想要实现的功能的最重要的部分开始,并从那里开始工作。这通常是用户界面,但并非必须如此。有时最重要的区域是服务操作或后台进程,然后我从那里开始。

我使用Test Doubles来定义我定义的类如何与其环境交互,然后在实现该功能时实现这些Test Doubles定义的越来越多的抽象。

所以我猜你可以说我是从BDD心态开始的,然后随着我在调用堆栈中的工作方式越来越多地转向TDD,可以这么说。

答案 2 :(得分:3)

TDD v BDD真的是一种心态。我认为它的方式是,在TDD中,很多重点在于此时该值应该是什么,我在哪里看到BDD,它也会测试当然的价值以及我们如何得到它们,更多的是,当这个在这种状态下,我应用程序的这部分应该做什么。

答案 3 :(得分:2)

我学会了用BDD风格做TDD。这完全是你如何思考的问题 很多人都认为TDD是关于测试的。因此,创建BDD是为了通过强调行为而不是测试来最小化混淆。