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

BDD 的工作原理 Cucumber 自动化?
假设您被指派在网上银行应用程序中创建资金转账模块。
有多种方法可以测试它 Cucumber 测试框架
- 如果源账户有足够的余额,则应进行资金转账
- 如果目的地账户详细信息正确,则应进行资金转账
- 如果用户输入的交易密码/rsa代码/交易安全认证正确,则应进行资金转账
- 即使是银行假日也应进行资金转账
- 资金转账应在账户持有人设定的未来日期进行
- 测试场景 随着我们考虑其他特征(例如,在 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 软件
- 让那些无法轻易阅读代码的业务利益相关者参与进来是有帮助的
- Cucumber 测试工具 注重最终用户体验
- 编写测试的风格允许更轻松地在测试中重用代码
- 快速简便的设置和执行
- 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