黄瓜 – 概述
黄瓜 – 概述
为了更好地利用软件测试,组织现在向前迈进了一步。他们在开发过程中实施重要的验收测试场景。这种方法通常称为行为驱动开发(BDD)。
行为驱动开发也让我们有机会从开发人员和客户的角度创建测试脚本。因此,一开始,开发人员、项目经理、QA、用户验收测试人员和产品所有者(股东)都聚在一起,集思广益,讨论应该通过哪些测试场景,才能称此软件/应用程序成功。通过这种方式,他们提出了一组测试场景。所有这些测试脚本都是简单的英语语言,因此它也用于文档目的。
例子
如果我们正在开发用户身份验证功能,那么以下可能是几个关键的测试场景,需要通过才能称其为成功。
-
用户应该能够使用正确的用户名和正确的密码登录。
-
用户应该无法使用错误的用户名和正确的密码登录。
-
用户应该无法使用正确的用户名和错误的密码登录。
这个怎么运作
当代码准备好时,测试脚本也准备好了。代码必须通过 BDD 中定义的测试脚本。如果没有发生,则需要进行代码重构。只有在成功执行定义的测试脚本后代码才会被冻结。
这是一个非常简单的概念,但我们需要什么才能实现这个概念。答案是,行为驱动开发 (BDD) 框架。Cucumber 就是这样一种开源工具,它支持行为驱动的开发。更准确地说,Cucumber 可以定义为一个测试框架,由纯英文文本驱动。它兼具文档、自动化测试和开发辅助功能。
那么黄瓜有什么作用呢?它可以在以下步骤中描述 –
Cucumber 读取特性文件(稍后介绍)中用纯英文文本(Language Gherkin – 本教程稍后介绍)编写的代码。
它在步骤定义中找到每个步骤的精确匹配(一个代码文件 – 本教程稍后提供详细信息)。
要执行的代码片段可以是不同的软件框架,例如Selenium、Ruby on Rails等。并非每个 BDD 框架工具都支持每种工具。
这已经成为 Cucumber 比其他框架(如JBehave、JDave、Easyb等)更受欢迎的原因。
Cucumber 支持十多种不同的软件平台,例如 –
- Ruby on Rails
- 硒
- 微型容器
- 弹簧框架
- 瓦提尔
Cucumber 相对于其他工具的优势
-
Cucumber 支持不同的语言,如 Java.net 和 Ruby。
-
它充当业务语言和技术语言之间的桥梁。我们可以通过用纯英文文本创建一个测试用例来实现这一点。
-
它允许在不了解任何代码的情况下编写测试脚本,也允许非程序员参与。
-
与其他工具不同,它服务于端到端测试框架的目的。
-
由于简单的测试脚本架构,Cucumber 提供了代码可重用性。