Cucumber 框架:什么是 Cucumber?
⚡ 智能摘要
Cucumber 是一款支持行为驱动开发 (BDD) 的测试工具,任何人都可以阅读测试用例,无需任何技术知识。本资源解释了 BDD 如何通过 Given-When-Then 步骤工作,以及 BDD 的优势。 Cucumber以及它与……的比较 Selenium 以及 HP ALM。
什么是 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
When I 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 应用生命周期管理 (QTP) | Selenium |
|---|---|---|
| Cucumber 软件是免费的。 | QTP 价格昂贵。 | 这是免费的。 |
| Cucumber 软件是一种行为驱动的开发工具。 | 它是一款功能自动化工具。 | 它具有功能性和性能(Selenium 网格)测试工具。 |
| 插件在 Cucumber 测试工具运行速度更快。 | 插件相比之下速度较慢。 Cucumber 和 Selenium. | 插件比……慢 Cucumber. |
| Cucumber 除了 Ruby 之外,该框架还支持其他语言,例如 Java,Scala, Groovy等等。 | QTP 仅支持VB脚本。 | Selenium 支持 Java.Net 以及许多其他语言。 |
| 编写自动化测试步骤是测试人员和开发人员的共同努力。 | In QTP只有测试人员编写自动化步骤。 | 喜欢 Cucumber编写自动化步骤是测试人员和开发人员的共同努力。 |
| 此 Cucumber 测试工具仅支持 Web 环境。 | 支持网页、桌面和任何客户端-服务器应用程序。 | 仅支持网页环境。 |
还检查: - UFT vs Selenium: 之间的区别 Selenium 和 HP UFT

