BDDでよく使われるGherkin記法とは?構文や利用方法について解説

品質

Gherkin記法は、ソフトウェア開発における振る舞い駆動開発(BDD)のための自然言語記述言語です。Gherkinは、ビジネスステークホルダーや開発者が協力して、システムの振る舞いに関する共通理解を得るために使用されます。ちなみに読み方はガーキンです。

ビジネス価値を向上させる手段、振舞駆動設計 (BDD) とは
振舞駆動設計(Behavior-Driven Development、BDD)は、2003年にDan Northによって提唱され、開発者、QAチーム、非技術者の間でのコミュニケーションを改善することを目的としています。 BDDは、テスト駆動...

Gherkin記法は、システムの振る舞いを定義するために、英語の自然言語を使用したスペックを書くことができます。Gherkinは、あらかじめ定義されたキーワードを使用することで、スペックを構造化することができます。これにより、スペックをより明確に表現することができ、開発者やステークホルダー間でのコミュニケーションが容易になります。

Gherkinで用いられるキーワード

Gherkinのキーワードには、以下のものがあります。

  • Feature:システムの機能やビジネス上の要件を説明する
  • Scenario:システムがどのような状況でどのような振る舞いをするかを説明する
  • Given:シナリオの前提条件を説明する
  • When:システムがどのようなアクションを起こすかを説明する
  • Then:システムがどのように振る舞うべきかを説明する

Gherkinで記述したスペックの例

これらのキーワードを使用して、システムの振る舞いを詳細に定義することができます。例えば、以下のようなGherkinスペックを考えてみましょう。

Feature: ユーザが商品をカートに追加できる
Scenario: 商品をカートに追加する
Given ユーザが商品一覧ページにアクセスする
When 商品を選択してカートに追加する
Then カートに商品が追加される

このスペックは、ユーザが商品をカートに追加するというシナリオを定義しています。Given、When、Thenの各キーワードを使用して、シナリオの前提条件、アクション、期待される結果を説明しています。

Gherkin記法を用いるメリット

Gherkin記法は、ビジネスステークホルダーや開発者間でのコミュニケーションを改善するだけでなく、テスト自動化のためのテストスクリプトの作成にも役立ちます。Gherkinスペックをテストスクリプトに変換するためのツールやフレームワークも存在します。これらのツールを使用することで、Gherkinスペックを自動的にテストスクリプトに変換することができます。

また、Gherkin記法は、テスト駆動開発(TDD)やBDDの一部として使用されます。開発者は、Gherkinスペックをもとに、システムの振る舞いを定義し、その定義に基づいてコードを実装します。このアプローチにより、システムの振る舞いが明確に定義され、コードの品質が向上することが期待されます。

Gherkin記法は、非常に柔軟な記述方法を提供しています。例えば、前提条件が異なるシナリオが複数存在する場合、その前提条件をGivenキーワードを使用して共通化することができます。また、AndやButなどのキーワードを使用することで、より詳細なスペックを書くことができます。

まとめ

Gherkin記法は、BDDを実践するための強力なツールの一つです。ステークホルダーや開発者がシステムの振る舞いについて共通理解を得るために使用することで、開発プロセスをスムーズに進めることができます。また、テスト自動化のためのテストスクリプトの作成にも役立ちます。

コメント