【问题标题】:Should I be using BDD?我应该使用 BDD 吗?
【发布时间】:2021-12-10 12:56:12
【问题描述】:

几年前,我们公司决定告诉 QA 团队开始使用 Cucumber 和 bdd。

问题是人们开始将我们的手动测试直接转化为 bdd 场景。这导致步骤以命令式而不是声明式的形式编写,并且还有许多 when 和 then 步骤。

我的任务是研究如何改进我们编写它们的方式,但我认为这是不可能的。

在我们公司,几乎所有测试都是完整的客户旅程,这意味着几乎所有测试都经过完整的预订流程,并且我们的断言发生在最后,例如。如果我们的测试是预订有额外费用的航班,您需要转到流程的末尾以确保已预订。

我们可以有一个场景,我们将部分流程放在后台,并在场景中测试额外预订,但总是要求在后台部分测试大量不同的数据,所以这是不可能的。由于产品的工作方式,我们也无法使用我们的测试数据预加载数据库。

此外,除了 QA 之外,几乎没有其他团队支持转换为 BDD。没有任何需求是用 BDD 编写的,除了测试人员之外,没有人会查看我们的功能文件。

在我看来,我们应该使用数据驱动测试来实现我们的目标,但我很想知道其他人的想法

【问题讨论】:

  • 这是一个概念性问题,这意味着它不适合这个网站。行为驱动开发不是“质量保证”。这是一个“产品的东西”。 QA 测试人员不应该编写场景,因为场景就是需求。产品人员应该与利益相关者一起编写场景。查看 BDD at Automation Panda 了解更多信息,作为支持 QA 测试人员编写场景的对立点,您也可以在同一站点阅读 Behavior-Driven Blasphemy。

标签: automated-tests bdd qa data-driven-tests


【解决方案1】:

根据我的经验,BDD 的最大好处是协作 - 在业务、开发和测试团队之间找到对应用(系统)行为的共同理解。

因此,BDD 最大的投资回报率是在开发阶段,而对于它应该如何工作存在误解。如果您已经有一个可以运行的大型测试套件,为什么不继续使用它呢?您可以尝试为一个新的(较小的)项目引入一个较小的团队子集,看看它是否会给您带来成果。

【讨论】:

    猜你喜欢
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2010-12-25
    • 2014-05-27
    • 2010-12-25
    • 2018-09-11
    • 2012-07-02
    相关资源
    最近更新 更多