【发布时间】:2015-10-08 10:49:20
【问题描述】:
我是测试新手,遇到了 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 includes TDD 实际上,但在这种情况下,我的意思是是否可以在项目中使用两种方法(例如:API 的 TDD 和 GUI 的 BDD)或者我应该只选择一种方法.
另外,如果您在此处发布一些有助于您更好地理解一般测试的链接,我真的很感激...
您可以发布一些指南/线索用于做出决定...
【问题讨论】: