何时使用TDD代替BDD,反之亦然

时间:2015-10-08 10:49:20

标签: java testing tdd bdd

我是测试的新手,我遇到了TDD和BDD方法。但我很困惑。我不知道何时更好的选择使用TDD代替BDD,反之亦然。我发现了一些文章,但他们更多的是差异......

我有一些提示但不确定其有效性。

1) 如果我想我想实现众所周知的java.lang.List那么使用什么方法?在这种情况下,在我看来,TDD是更好的选择......因为它是API /库的一部分,只有程序员可以使用它,而不是用户。虽然我可以想象我也可以使用BDD,如:

故事Programmer adds an element to the list

叙事可能类似于:As a programmer I want to add an element to the list [so that ...]

场景1 Adding null to the list +给定,何时,然后

场景2 Adding valid element to the list +给定,何时,然后

场景3 :...

2) 但是,如果我想我想实现一些GUI,那么在我看来BDD是更好的选择......因为它是用户可以控制的东西(点击按钮,填写字段等等)。在这种情况下,TDD似乎不是一个好的选择......

接下来,我可以将它们混合在一起吗?我实际上读到BDD 包含 TDD,但在这种情况下我的意思是在项目中使用BOTH方法是可以的(例如:用于API的TDD和用于GUI的BDD)或者我应该只选择一种方法

此外,如果您在此处发布一些链接,以帮助您了解更好的测试,我真的很感激...

您可以发布一些指导/线索,用于做出决定......

1 个答案:

答案 0 :(得分:4)

TDD和BDD用于不同目的,因此它们可以一起使用。 BDD确保产品所有者/业务分析师工作和TDD提供的用户故事确保使BDD测试工作所需的代码(可以是众多类)具有高质量。