Testing BDD可以完成吗;“之后?”;?

Testing BDD可以完成吗;“之后?”;?,testing,tdd,bdd,Testing,Tdd,Bdd,单元测试是编写代码测试的一种实践。TDD是在“之前”写它们的实践。BDD是编写行为/规范驱动测试的实践。我可以在“之后”写BDD,还是必须总是在“之前”写 如果您在“之后”编写BDD,而它不是BDD,那么它被称为什么?根据行为驱动开发的定义,您不能在代码之后编写行为测试,但是这并不意味着这样做没有用处。首先编写规范测试可能会让您受益匪浅,但它们仍然可以作为应用程序的回归系统测试。因此,虽然您在技术上没有练习BDD,但编写这些测试是一个好主意。BDD的一大好处是,它指导特定行为的发展,因此,如果以

单元测试是编写代码测试的一种实践。TDD是在“之前”写它们的实践。BDD是编写行为/规范驱动测试的实践。我可以在“之后”写BDD,还是必须总是在“之前”写


如果您在“之后”编写BDD,而它不是BDD,那么它被称为什么?

根据行为驱动开发的定义,您不能在代码之后编写行为测试,但是这并不意味着这样做没有用处。首先编写规范测试可能会让您受益匪浅,但它们仍然可以作为应用程序的回归系统测试。因此,虽然您在技术上没有练习BDD,但编写这些测试是一个好主意。BDD的一大好处是,它指导特定行为的发展,因此,如果以后添加它们,您将失去很多价值,但它们仍然有一些用途


这与在TDD中的代码之后编写单元测试相同。从技术上讲,它不是TDD,但拥有测试显然仍然很有用。

行为驱动开发(BDD)是测试驱动开发(TDD)的一种变体,与TDD一样,您应该先编写测试


有些人把BDD称为TDD,因为TDD做得对,或者说是它的本意。另外,您可以说BDD是域驱动开发(DDD)和TDD的混合体。

开发后的BDD不是BDD,它是验证而不是规范的情况

然而,正如其他人提到的,这并不意味着在事实发生后添加验收测试套件没有任何价值。在继续进一步开发(大型重构作业或添加新功能)之前,您将构建一套验证行为的回归验收测试


根据经验,我想说,如果您要完成这项任务,那么编写生产代码的关键开发人员最好远离编写验收测试(希望以小黄瓜脚本的形式);而那些编写它们的人会返回到原始的需求文档(如果有的话),并且最肯定的是与一些利益相关者进行合作。这将有助于确保您编写的验收测试更接近规范。

我喜欢这样的观察,即BDD之后只是编写验证的一个案例。我也很欣赏这样的评论,即开发人员在完成BDD后会错过BDD的一些其他好处。值得补充的一点是,在实现之前编写一个secenario/test,然后通过测试也是一种验证测试本身是否可靠的方法。为已经运行的功能编写通过测试(BDD After)可能会让开发人员怀疑,如果某个功能被破坏,他们的测试是否会“适当失败”。

如果不是BDD,那么它叫什么?使用行为/规范测试进行常规开发:PYou仍然可以通过对话和手动测试来执行BDD。当然,自动化是非常有用的,但它远没有对话那么重要。BDD只是为了帮助开发人员进行这些对话,并将语言带入代码中。请不要老是想着自动化!