Cucumber - 概述

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

行为驱动开发使我们有机会从开发人员和客户的角度创建测试脚本同样.因此,开始时,开发人员,项目经理,QAs,用户验收测试人员和产品所有者(股东)都会聚集在一起并集体讨论应该传递哪些测试方案,以便成功调用此软件/应用程序.通过这种方式,他们提出了一系列测试方案.所有这些测试脚本都是简单的英语语言,所以它也用于文档的目的.

示例

如果我们正在开发用户身份验证功能,接下来可以是几个关键测试场景,需要通过才能称之为成功.

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

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

  • 用户无法使用正确的用户名和错误的密码登录.

工作原理

在代码准备好之前,测试脚本也已准备就绪.代码必须传递BDD中定义的测试脚本.如果没有发生,则需要进行代码重构.只有在成功执行定义的测试脚本后,代码才会被冻结.

BDD

这是一个非常简单的概念,但我们需要的是为了实现这个概念.答案是,行为驱动开发(BDD)框架. Cucumber是一种这样的开源工具,它支持行为驱动的开发.更准确地说,Cucumber可以定义为一个测试框架,由简单的英文文本驱动.它作为文档,自动化测试和开发辅助工具 - 一体化.

那么Cucumber做什么?它可以在以下步骤中描述 :

Cucumber在特征文件中读取用简单英文文本(将在本教程后面介绍的Language Gherkin)编写的代码(将被介绍)稍后).

它找到步骤定义中每个步骤的完全匹配(代码文件 - 本教程后面提供的详细信息).

要执行的代码片段可以是不同的软件框架,如 Selenium,Ruby on Rails 等.并非每个BDD框架工具都支持所有工具.

这有成为Cucumber比其他框架更受欢迎的原因,如 JBehave,JDave,Easyb,等.

Cucumber支持十几个不同的软件平台,如 :

  • Ruby on Rails

  • Selenium

  • PicoContainer

  • Spring Framework

  • Watir

Cucumber 优于其他工具的优势

  • Cucumber支持不同的语言,如Java.net和Ruby.

  • 它充当业务和技术语言之间的桥梁.我们可以通过用简单的英文文本创建一个测试用例来实现这一点.

  • 它允许在不知道任何代码的情况下编写测试脚本,它允许参与非程序员也是如此.

  • 与其他工具不同,它用于端到端测试框架.

  • 由于简单的测试脚本架构,Cucumber提供了代码可重用性.