Cucumber 框架:什么是 Cucumber 测试工具?

什么是 Cucumber?

Cucumber 是一款支持行为驱动开发 (BDD) 的测试工具。它提供了一种编写测试的方法,任何人都可以理解,无论他们的技术知识如何。在 BDD 中,用户(业务分析师、产品所有者)首先编写场景或验收测试,从客户的角度描述系统的行为,供产品所有者在开发人员编写代码之前进行审查和签字。 Cucumber 框架使用 Ruby 编程语言.

Cucumber 骨架
Cucumber 骨架

BDD 的工作原理 Cucumber 自动化?

假设您被指派在网上银行应用程序中创建资金转账模块。

有多种方法可以测试它 Cucumber 测试框架

  1. 如果源账户有足够的余额,则应进行资金转账
  2. 如果目的地账户详细信息正确,则应进行资金转账
  3. 如果用户输入的交易密码/rsa代码/交易安全认证正确,则应进行资金转账
  4. 即使是银行假日也应进行资金转账
  5. 资金转账应在账户持有人设定的未来日期进行

- 测试场景 随着我们考虑其他特征(例如,在 Y 天/月的时间间隔内转账金额为 X,当总金额达到 Z 时停止计划转账等),转账过程将变得更加精细和复杂。

开发人员的普遍倾向是先开发功能,然后再编写测试代码。如上例所示, 测试用例 本案的开发很复杂,开发商将推迟 测试 直到发布,此时他会进行快速但无效的测试。

为了解决这个问题, Cucumber BDD(行为驱动开发),从而诞生了。它使开发人员的整个测试过程变得简单

In Cucumber BDD,无论你写什么都必须进入 给定-何时-然后 步骤。让我们在 BDD 中考虑上述相同示例

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
WhenI shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

编写、阅读和理解起来是不是很容易?它涵盖了资金转移模块的所有可能测试用例,并且可以轻松修改以容纳更多内容。此外,它更像是为资金转移模块编写文档。

的优点 Cucumber 软件

  1. 让那些无法轻易阅读代码的业务利益相关者参与进来是有帮助的
  2. Cucumber 测试工具 注重最终用户体验
  3. 编写测试的风格允许更轻松地在测试中重用代码
  4. 快速简便的设置和执行
  5. Cucumber 测试工具是一种有效的工具 测试

Cucumber vs Selenium 与 ALM

在本节中,我们将研究 Cucumber, Selenium 和 ALM。

Cucumber HP ALM(QTP) Selenium
Cucumber 软件是免费的 QTP昂贵 这是免费的
Cucumber 软件是一种行为驱动的开发工具 它是一个功能自动化工具 它是一款功能和性能 ( Selenium 网格)测试工具
插件 Cucumber 测试工具运行速度更快 插件比 Cucumber 和 Selenium 插件比黄瓜慢
Cucumber 除了 Ruby 之外,该框架还支持其他语言 Java,Scala, Groovy 等等 QTP 仅支持 VB 脚本 Selenium 支持 Java、.Net 和许多其他语言
编写自动化步骤是测试人员和开发人员共同的努力 In QTP 只有测试人员编写自动化步骤 喜欢 Cucumber 工具,编写自动化步骤是测试人员和开发人员共同的努力
Cucumber 测试工具仅支持Web环境 支持 Web、桌面和任何客户端服务器应用程序 仅支持 Web 环境

还检查: - UFT 与 Selenium: 之间的区别 Selenium 和 HP UFT