我们可以为 BDD 和 TDD 使用相同的功能文件吗?

Can we use same feature file for BDD & TDD?

我必须在我的团队的帮助下第一次开始应用 TDD 和 BDD 方法,因此我需要根据您的经验进行一些说明:

1 - can we share the same feature file for BDD and TDD

如果是,使用什么插件?我们将在 TDD 中使用 karma 和 jasmine,但我们仍然不知道如何 link 在测试场景中发挥作用

PS :当人们给出 -1 甚至没有写出有用的答案时,我不明白!有用或保持安静

BDD 和 TDD 是不同的。功能文件是 BDD 资产,您不应该将其用于 TDD。

在开始任何开发之前,您从 BDD 协作开始,并通过团队的跨职能成员(主要是三个朋友,即开发人员、QA 和 BA 或产品负责人)从需求中导出场景作为具体示例。 BDD 以简单自然的语言将需求分解为示例。这些示例从客户的角度解释了应用程序应如何工作。

一旦团队就场景达成一致,开发​​人员就编写代码来实现每个商定的场景。当您练习 TDD 时,您应该这样做,开发人员自己(或与其他开发人员一起 pair/mob 编程)为 s(他)实现的功能的不同单元编写测试。编写测试后,开发人员将实施代码以使测试通过。这种方法称为红、绿、重构 (RGR)。这是关于 RGR 的 great article 以及如何使用 TDD 完成的。

总而言之,您应该同时使用 BDD 和 TDD 来提高产品质量并缩短上市时间。 BDD 是为团队服务的,它可以帮助您推导出使整个团队保持一致的场景,并且您在 BDD 级别进行的测试是功能测试。而 TDD 由开发人员应用和拥有,而您在 TDD 上进行的测试是单元级别的(即,不是功能性的,只是检查代码是否按预期工作,并且您模拟所有外部接口,包括 UI、DB 或任何外部调用) .如果有人声称 Testers/QA 应该编写 TDD,那么他们完全错误地理解了 TDD。

我也在我的博客中写了非常详细的 post BDD 和 TDD 的区别。这是那篇文章 https://blog.nocodebdd.com/bdd-vs-tdd/

的 link

我们还将在我们的 YouTube 频道 https://www.youtube.com/channel/UCJl6M7o44mGaLX03AP22KTg 中发布一个关于 BDD 与 TDD 的视频。还有其他视频解释了 BDD 是什么以及如何在您可能会觉得有用的项目中展开