Behavior-driven-development-tools

提供:Dev Guides
移動先:案内検索

行動駆動開発-ツール

開発チームは、多くの場合、BDDはツールフレームワークであると誤解しています。 実際には、BDDはツールフレームワークではなく開発アプローチです。 ただし、他の開発アプローチの場合と同様に、BDD用のツールもあります。

さまざまなプラットフォームおよびプログラミング言語でいくつかのBDDツールが使用されています。 彼らは-

  • キュウリ(Rubyフレームワーク)
  • SpecFlow(.NETフレームワーク)
  • 動作(Pythonフレームワーク)
  • JBehave(Javaフレームワーク)
  • JBehave Web(Seleniumと統合されたJavaフレームワーク)
  • レタス(Pythonフレームワーク)
  • 一致(Javaフレームワーク)
  • Behat(PHPフレームワーク)
  • Kahlan(PHPフレームワーク)
  • DaSpec(JavaScriptフレームワーク)
  • ジャスミン(JavaScriptフレームワーク)
  • Cucumber-js(JavaScriptフレームワーク)
  • Squish GUIテスター(JavaScript、Python、Perl、Ruby、Tcl用のBDD GUIテストツール)
  • Spock(Groovyフレームワーク)
  • ヤダ(ジャスミン(JavaScriptフレームワーク)などのフレームワークのガーキン言語サポート)

きゅうり

Cucumberは、世界中で使用される実行可能な仕様のための無料のツールです。 Cucumberを使用すると、ソフトウェア開発チームはソフトウェアの動作をプレーンテキストで説明できます。 テキストは、ビジネスで読み取り可能なドメイン固有の言語で記述されており、ドキュメント、自動テスト、および開発支援として機能し、すべて1つの形式にまとめられています。 Cucumberでは、40以上の異なる言語(英語、中国語など)を使用できます。

キュウリ–主な機能

キュウリの主な機能は次のとおりです-

  • キュウリは、実行可能仕様、テスト自動化、およびリビングドキュメントに使用できます。
  • Cucumberは、Ruby、Java、NET、Flex、または任意の言語で書かれたWebアプリケーションで動作します。
  • Cucumberは、FITが行うことと同様に、テーブルでより簡潔なテストをサポートします。
  • Cucumberは、要件、自動化されたテスト、ドキュメントを結合して、ソフトウェアを検証するプレーンテキストの実行可能仕様にすることで、ソフトウェア開発ライフサイクルに革命をもたらしました。

SpecFlow

SpecFlowは、.NETプラットフォーム用のBDDツールです。 SpecFlowはオープンソースプロジェクトです。 ソースコードはGitHubでホストされています。

SpecFlowはGherkin Syntax for Featuresを使用します。 Gherkin形式はCucumberによって導入され、他のツールでも使用されています。 Gherkin言語はGitHubのプロジェクトとして維持されています-https://github.com/cucumber/gherkin

振る舞う

BehaveはPythonフレームワークに使用されます。

  • 動作は、「機能」と呼ばれるディレクトリに格納されている3種類のファイルで動作します-
  • 動作シナリオを含む機能ファイル。
  • シナリオのPythonステップ実装を含む「steps」ディレクトリ。
  • オプションで、一部の環境制御(ステップ、シナリオ、機能、または射撃の全体の前後に実行するコード)。
  • 振る舞い機能は、Gherkinを使用して(いくつかの変更を加えて)作成され、「name.feature」という名前が付けられます。
  • 機能およびシナリオに添付されたタグは、それらに渡された「機能」または「シナリオ」オブジェクトを介して環境機能で使用できます。 これらのオブジェクトには、「タグ」と呼ばれる属性があります。これは、機能ファイルで見つかった順序で添付されたタグ名のリストです。
  • ガーキン標準の修正-
  • Behaveは、標準のGherkinファイルを解析し、Gherkinを拡張して小文字のステップキーワードを許可します。これらは、より読みやすい機能仕様を許可する場合があるためです。

レタス

レタスは、キュウリに基づいた非常にシンプルなBDDツールです。 Pythonプロジェクトの自動テストとしてプレーンテキストの機能記述を実行できます。 レタスは、BDDで最も一般的なタスクを目指しています。

一致

Concordionは、Java Frameworkの例による仕様を自動化するためのオープンソースツールです。

コア機能はシンプルですが、link:/concordion/index [強力な拡張フレームワークAPI]を使用すると、Excelスプレッドシートを仕様として使用したり、スクリーンショットを出力に追加したり、ログ情報を表示したりするなどの機能を追加できます。

Concordionでは、段落、表、適切な句読点を使用して通常の言語で仕様を記述し、Given/When/Thenを使用する構造化言語は不要です。

コンコードは、他の言語に移植されています-

  • C#(Concordion.NET)
  • Python(PyConcordion)
  • Ruby(Ruby-Concordion)