- Cucumber 教程
- Cucumber - 首页
- Cucumber - 概述
- Cucumber - 环境
- Cucumber - Gherkins
- Cucumber - 特性
- Cucumber - 场景
- Cucumber - 注解
- Cucumber - 场景大纲
- Cucumber - 标签
- Cucumber - 数据表
- Cucumber - 注释
- Cucumber - Hook
- Cucumber - 命令行选项
- Cucumber - JUnit 运行器
- Cucumber - 报告
- Cucumber - 调试
- Cucumber - Java 测试
- Cucumber - Ruby 测试
- Cucumber 有用资源
- Cucumber - 快速指南
- Cucumber - 有用资源
- Cucumber - 讨论
Cucumber - 概述
为了更好地利用软件测试,如今的组织正在向前迈进。他们在开发过程中实施重要的验收测试场景。这种方法通常被称为行为驱动开发(BDD)。
行为驱动开发使我们有机会从开发人员和客户的角度创建测试脚本。因此,在开始时,开发人员、项目经理、QA、用户验收测试人员和产品负责人(股东)都会聚在一起,集思广益,讨论为了使该软件/应用程序成功需要通过哪些测试场景。通过这种方式,他们会想出一套测试场景。所有这些测试脚本都使用简单的英语编写,因此它也起到了文档的作用。
示例
如果我们正在开发用户身份验证功能,那么以下可能是一些关键测试场景,需要通过这些场景才能将其称为成功。
用户应该能够使用正确的用户名和密码登录。
用户不应该能够使用错误的用户名和正确的密码登录。
用户不应该能够使用正确的用户名和错误的密码登录。
工作原理
在代码准备就绪时,测试脚本也准备就绪。代码必须通过BDD中定义的测试脚本。如果发生这种情况,则需要进行代码重构。只有在成功执行定义的测试脚本后,代码才会冻结。
这是一个非常简单的概念,但我们需要什么才能实现这个概念呢?答案是,行为驱动开发(BDD)框架。Cucumber 就是这样一个支持行为驱动开发的开源工具。更准确地说,Cucumber 可以定义为一个由纯英文文本驱动的测试框架。它集文档、自动化测试和开发辅助于一体。
那么 Cucumber 到底做了什么?它可以用以下步骤描述:
Cucumber 读取特性文件中用纯英文文本(稍后在本教程中介绍的 Gherkin 语言)编写的代码。
它在步骤定义(代码文件 - 本教程稍后提供详细信息)中查找每个步骤的确切匹配项。
要执行的代码片段可以是不同的软件框架,例如Selenium、Ruby on Rails等。并非每个 BDD 框架工具都支持每个工具。
这已成为 Cucumber 比其他框架(如JBehave、JDave、Easyb等)更受欢迎的原因。
Cucumber 支持十多种不同的软件平台,例如:
- Ruby on Rails
- Selenium
- PicoContainer
- Spring 框架
- Watir
Cucumber 相比其他工具的优势
Cucumber 支持 Java.net 和 Ruby 等多种语言。
它充当业务语言和技术语言之间的桥梁。我们可以通过用纯英文文本创建测试用例来实现这一点。
它允许在无需任何代码知识的情况下编写测试脚本,也允许非程序员参与。
它实现了端到端测试框架的目的,这与其他工具不同。
由于简单的测试脚本架构,Cucumber 提供了代码可重用性。