Cucumber - 概述

为了更好地利用软件测试,组织现在正在向前迈出一步。他们在开发过程中实施重要的验收测试场景。这种方法通常称为行为驱动开发 (BDD)。

行为驱动开发使我们有机会从开发人员和客户的角度创建测试脚本。因此,一开始,开发人员、项目经理、QA、用户验收测试人员和产品所有者(股东)都会聚在一起,集思广益,讨论应该通过哪些测试场景才能使该软件/应用程序成功。这样他们就想出了一组测试场景。所有这些测试脚本都是用简单的英语编写的,因此也可以用作文档。

示例

如果我们正在开发用户身份验证功能,那么以下是几个关键的测试场景,需要通过这些场景才能将其称为成功。

  • 用户应该能够使用正确的用户名和正确的密码登录。

  • 用户不应该能够使用错误的用户名和正确的密码登录。

  • 用户不应该能够使用正确的用户名和错误的密码登录。

工作原理

当代码准备就绪时,测试脚本也已准备就绪。代码必须通过 BDD 中定义的测试脚本。如果没有发生,则需要进行代码重构。只有在成功执行定义的测试脚本后,代码才会冻结。

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 提供了代码可重用性。