行为驱动开发 - 工具



开发团队常常误以为BDD是一个工具框架。实际上,BDD是一种开发方法,而不是工具框架。但是,与其他开发方法一样,BDD也有一些工具。

几种BDD工具被用于不同的平台和编程语言。它们是 -

  • Cucumber(Ruby框架)

  • SpecFlow(.NET框架)

  • Behave(Python框架)

  • JBehave(Java框架)

  • JBehave Web(具有Selenium集成的Java框架)

  • Lettuce(Python框架)

  • Concordion(Java框架)

  • Behat(PHP框架)

  • Kahlan(PHP框架)

  • DaSpec(JavaScript框架)

  • Jasmine(JavaScript框架)

  • Cucumber-js(JavaScript框架)

  • Squish GUI Tester(用于JavaScript,Python,Perl,Ruby和Tcl的BDD GUI测试工具)

  • Spock(Groovy框架)

  • Yadda(例如Jasmine(JavaScript框架)等框架的Gherkin语言支持)

Cucumber

Cucumber是一个用于可执行规范的免费工具,在全球范围内使用。Cucumber允许软件开发团队用纯文本描述软件的行为。文本以业务可读的、特定于领域的语言编写,并作为文档、自动化测试和开发辅助,全部整合为一种格式。您可以使用四十多种不同的口语(英语、中文等)与Cucumber一起使用。

Cucumber – 主要功能

Cucumber的主要功能如下 -

  • Cucumber可用于可执行规范、测试自动化和动态文档。

  • Cucumber适用于用任何语言编写的Ruby、Java、NET、Flex或Web应用程序。

  • Cucumber支持在表格中进行更简洁的测试 - 类似于FIT的功能。

  • Cucumber通过将需求、自动化测试和文档融合到一个连贯的整体中,彻底改变了软件开发生命周期:验证软件的纯文本可执行规范。

SpecFlow

SpecFlow是用于.NET平台的BDD工具。SpecFlow是一个开源项目。源代码托管在GitHub上。

SpecFlow使用Gherkin语法来表示特性。Gherkin格式由Cucumber引入,也用于其他工具。Gherkin语言作为GitHub上的一个项目进行维护 - https://github.com/cucumber/gherkin

Behave

Behave用于Python框架。

  • Behave使用三种类型的文件存储在名为“features”的目录中 -

    • 包含您的行为场景的特性文件。

    • “steps”目录,其中包含场景的Python步骤实现。

    • 可选地,一些环境控制(在步骤、场景、特性或整个流程之前和之后运行的代码)。

  • Behave特性使用Gherkin(带有一些修改)编写,并命名为“name.feature”。

  • 附加到特性和场景的标签可通过传递给它们的“feature”或“scenario”对象在环境函数中获得。在这些对象上,有一个名为“tags”的属性,它是一个附加的标签名称列表,按照在特性文件中找到的顺序排列。

  • 对Gherkin标准的修改 -

    • Behave可以解析标准的Gherkin文件,并扩展Gherkin以允许使用小写步骤关键字,因为这些关键字有时可以使特性规范更易读。

Lettuce

Lettuce是一个基于Cucumber的非常简单的BDD工具。它可以将纯文本功能描述作为Python项目的自动化测试执行。Lettuce旨在完成BDD中最常见的任务。

Concordion

Concordion是一个用于为Java框架自动化示例规范的开源工具。

虽然核心功能很简单,但强大的扩展框架API允许您添加功能,例如使用Excel电子表格作为规范、向输出添加屏幕截图、显示日志信息等。

Concordion允许您使用段落、表格和正确的标点符号以普通语言编写规范,并且不需要使用Given/When/Then结构化语言。

Concordion已被移植到其他语言,包括 -

  • C#(Concordion.NET)

  • Python(PyConcordion)

  • Ruby(Ruby-Concordion)

广告