BDD(Behavior Driven Development)Framework Tutorial:Cucumberフレームワークの例を使用してBDDフレームワークの機能と利点を探る
BDDフレームワークすなわちBehavior Driven Developmentは、テスター/ビジネスアナリストがシンプルなテキスト言語(英語)でテストケースを作成できるようにするソフトウェア開発アプローチです。
に使用される言語のシナリオをも非技術的なチームのメンバーが理解しよう、ソフトウェアプロジェクト., これにより、コミュニケーションの中で技術的および非技術的なチームマネージャー、ステークホルダー
BDDビヘイビア駆動開発とは何ですか?
BDDはTDDすなわちテスト駆動開発から派生し、ユーザーはソフトウェアコードに最小限の介入で複数のテストデータを操作することができ、それによってソフトウェア開発/テスト自動化における時間節約メカニズムであるコードの再利用性を高めるのに役立ちます。
TDDを継承することにより、BDDはこれらすべての機能とその利点を持っています。,
- テストシナリオは、機能ファイルという名前の別のファイルに別々に書き込まれます。
- テストは、素人の言語でユーザーストーリーとシステムの動作に焦点を当てて書かれています。
- コードは、ステップ定義ファイル、つまりJava、Pythonで異なって記述される可能性があります。
推奨されるRead=>テスターはTBB/BDDアプローチにどのように関与していますか
BDDフレームワークを使用するのはなぜですか?
BDDフレームワークの前は、誰もがTDDを使用していました。, Tddは、利害関係者が使用されているフレームワークに精通しており、技術的な知識が十分であれば、ソフトウェア開発で正常に動作します。 しかし、これは常にそうではないかもしれません。
BDDは、テストケースが一般的に簡単なテキスト、すなわち英語で書かれているため、技術チームと非技術チームの間のギャップを克服するための橋渡し BDDの主な利点は、低い専門用語と理解しやすい明確なアプローチです。
BDDアプローチを実装する方法は?,
テストシナリオは、テストの詳細な説明、アプリケーションのテスト方法、およびすべてが理解できるアプリケーションの動作を含む平易な言語で書
このチュートリアルでは、BDDのためのソフトウェアツールであるCucumberに焦点を当て、その言語つまりGherkinを使用して実際に実装する方法を学びます。
Cucumber-BDDフレームワークツール
Cucumberは、テストケースを記述するためのビヘイビア駆動開発(BDD)フレームワークツールです。,
Given-When-Then Approach
サンプル機能ファイル
Feature: BDD implementation using CucumberScenario: Login to G-mail using Cucumber pluginGiven User is navigating to G-mail Login PageWhen User need to enter username as "Username" and password as "Password"Then User is successfully navigated to the G-mail Mail Box
サンプルステップ定義ファイル
Cucumberは、動作主導型開発アプローチの実装に役立つテストプラグインです。
推奨読書=>あなたが知っておくべきトップBDDツール
BDDフレームワークの利点
以下に、BDDのさまざまな利点があります。
#1)ユーザーストーリーのカバレッジ
BDDとのハイブリッドフレームワークは、さまざまな機能と組み合わせることを意図しています。, 毎資源のソフトウェア開発に貢献できるBDD。
機能ファイルの形で素人のテキストのその簡単な概念のために、技術的なリソースの利害関係者は、ユーザーストーリーを使用してGherkin言語でシナリオを書くことができます。 プレーンテキストの互換性は、テストで最大の範囲を得るのに役立ちます。
シナリオを含む機能ファイルは次のとおりです。
- ビジネスから定義されたユーザーストーリー。
- 開発者が仕様がビジネス要件を満たしているかどうかを判断するための基準。
- テストチームのテストシナリオ。,
- ステップ定義ファイルにコードを別々に書くことを可能にする自動化テスター用のシェルカバー。
- 利害関係者のためのテストシナリオを説明しました。
ステップ定義の分類は、自動化テスターが自分のコードをそのまま保持するのに役立ち、それによってスクリプトの保守に役立ちます。
#2)シナリオの明確さ
Gherkin言語は、BDDを使用してテスト/開発されている製品の結果に焦点を当てた平易な素人のテキストを使用しています。,
機能ファイルは、自動化テスターのための別のステップ定義ファイルに技術記述を分離するように、それはスマートに非技術者が簡単に自動テストを理解するのに役立ちます。 任意の更新は、小さな議論で実装することができます。
gherkinの可読性パワーは、順番に、適切な製品を構築するのに役立ちますそのユーザーのそれぞれにシナリオの明快さを保証します。
#3)テストシナリオの自動化
BDDフレームワークでのCucumberの実装により、自動化テスターは適切なアプローチでスクリプトを簡単に開始できます。, キュウリのシナリオの簡単な言語は、より良い方法で機能を理解するのに役立ちます。
Cucumberは、Java、Pythonなどの多くのプログラミング言語と互換性があるため、言語に依存しないプラグインです。
Also Read=>BDDツールを使用した自動化テスト
#4)フレームワークでのコードの再利用
Given–When–Thenアプローチは、テスターが機能ファイルで必要な回数と同じステップを使用する自由を与え、オートメーションテスターの時間を節約するのに徐々に役立ちます。,:
シナリオ:シナリオ1
指定されたユーザーは、Googleのホームページにナビゲートされます
ユーザーが検索エンジンで”キュウリ”を検索したとき
その後、検索ボタンをクリックしました
ユーザーは、webブラウザでキュウリの検索結果を見ることができます
シナリオ:シナリオ2
指定されたユーザーは、Googleのホームページにナビゲートされます
ユーザーは、検索エンジンで”セレン”を検索したとき
その後、検索ボタンをクリックしました
その後、検索ボタンをクリックしました
webブラウザ
上記の二つのシナリオでは、”given”、”When”、および”then”ステップが第二のシナリオで再利用可能であると結論付けることができます。,
#5)フィーチャファイル内のパラメータ化
ユーザーは、ファイル内の再利用性を得るために、フィーチャファイル内のgherkinステップをパラメータ化できます。
たとえば、ユーザーが銀行アプリケーションで作業している場合、そのアプリケーションに何度もログインします。 このような種類のステップは、異なるデータセットでパラメータ化でき、テスターの時間を節約できます。
シナリオを書いている間、ユーザーは共通の機能を簡単に使用できるように、機能ファイルのステップをこのような方法で定義する必要があります。,
#6)継続的統合-簡単に統合できます
CucumberはJenkinsでの作業もサポートしています。 Jenkinsでcucumberテスト実行を実行し、Jenkinsスレーブマシンでも同じことを実装することができます。 Cucumber reporting pluginは、テストシナリオを追跡するための拡張ビューも提供します。
読む価値がある=>継続的統合プロセス
結論
行動主導型開発は、アジャイル方法論における非常にスマートなアプローチです。, BDDを使用すると、さまざまな技術と独立して動作するプラットフォームが提供されるため、BDDを使用して開発またはテストを開始することを常にお勧
Cucumberは、ソフトウェアプロジェクトで動作駆動型開発アプローチを実装するのに役立つ最高のツールの一つです。 これにより、Java、Python、Jythonなどの多くの技術で作業することができます。
Cucumberは、多くの組織やフリーランサーによって広く使用されており、ユーザーが問題を議論し、問題の解決策を簡単に見つけることができる多くのコミュニテ,
Cucumber言語-簡単な平易な英語の単語を使用するGherkin-は、技術チームと利害関係者との間のコミュニケーションギャップを減らし、同じレベルで一緒に働くこと
この記事がBDDフレームワークの基本を理解するのに役立つことを願っています!!