📜  行为驱动开发-工具

📅  最后修改于: 2021-01-18 05:35:15             🧑  作者: Mango


开发团队常常误以为BDD是一种工具框架。实际上,BDD是一种开发方法而不是工具框架。但是,与其他开发方法一样,也存在用于BDD的工具。

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

  • 黄瓜(Ruby框架)

  • SpecFlow(.NET框架)

  • 表现(Python框架)

  • JBehave(Java框架)

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

  • 生菜(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框架))

黄瓜

Cucumber是用于全球使用的可执行规范的免费工具。 Cucumber使软件开发团队可以用纯文本描述软件的行为方式。文本以业务可读的,特定于领域的语言编写,并充当文档,自动测试和开发辅助工具,所有这些都被组合成一种格式。您可以在Cucumber中使用四十多种不同的口语(英语,中文等)。

黄瓜–主要特点

黄瓜的主要特点如下-

  • 黄瓜可用于可执行规范,测试自动化和生活文档。

  • 黄瓜可与以任何语言编写的Ruby,Java,NET,Flex或Web应用程序一起使用。

  • 黄瓜支持表中更简洁的测试-与FIT相似。

  • Cucumber通过将需求,自动测试和文档融合为一个有凝聚力的规范,从而对软件开发生命周期进行了革命性改变:用于验证软件的纯文本可执行规范。

规格流程

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

SpecFlow对功能使用Gherkin语法。 Gherkin格式由Cucumber引入,也被其他工具使用。 Gherkin语言在GitHub上作为项目维护-https: //github.com/cucumber/gherkin

表现

行为用于Python框架。

  • 行为可以处理存储在名为“功能”的目录中的三种文件类型-

    • 功能文件,其中包含您的行为方案。

    • 场景的Python步骤实现的“步骤”目录。

    • (可选)一些环境控制(在步骤,场景,功能或整个射击比赛之前和之后运行的代码)。

  • 行为特征是使用Gherkin(经过一些修改)编写的,并被命名为“ name.feature”。

  • 附加到功能部件和方案的标签可通过传递给它们的“功能”或“方案”对象在环境功能中使用。在这些对象上,有一个称为“标签”的属性,该属性是按标签在特征文件中找到的顺序附加的标签名称的列表。

  • 对小黄瓜标准的修改-

    • 行为可以解析标准的Gherkin文件并扩展Gherkin以允许使用小写的step关键字,因为这些关键字有时可以允许更具可读性的功能规范

生菜

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

协和

Concordion是一个开放源代码工具,用于自动执行Java Framework的示例规范。

尽管核心功能很简单,但强大的扩展框架API允许您添加功能,例如使用Excel电子表格作为规范,将截图添加到输出,显示日志记录信息等。

Concordion允许您使用段落,表格和适当的标点符号以普通语言编写规范,而无需使用Give / When / Then来使用结构化语言。

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

  • C#(Concordion.NET)

  • Python (PyConcordion)

  • 红宝石(Ruby-Concordion)