システム開発の現場で、「仕様書の内容と、実際に出来上がったものが違う!」という悲劇、経験したことはありませんか?
そんなコミュニケーションのズレを解消し、チーム全員が同じイメージを持てるようにしてくれるのが、今回ご紹介する「Gherkin(ガーキン)」という言語です。
1. Gherkinってなに?
Gherkinは、一言でいえば「人間が読める言葉で、システムの振る舞いを書くためのルール」です。
ソフトウェアの仕様や受け入れ条件を、自然言語に近い定型文で書くための記法です。主に BDD(Behavior-Driven Development / 振る舞い駆動開発) で使われます。
開発者、QA、PO、非技術者が同じ仕様を読みやすくするのが目的です。
2. 最大の特徴は「Given / When / Then」
Gherkinの一番のポイントは、決まったキーワードを使って「箇条書き」で書くことです。
- Feature: 機能の説明
- Scenario: 個別の利用ケース
- Given: 前提条件
- When: ユーザーの操作やイベント
- Then: 期待結果
- And / But: 条件や結果の補足
このように、「もしもの話」を型にはめて書くだけなので、プログラミングの知識がなくても書くことができます。
3. 具体的な例:ログイン機能
例えば、ネットショップのログイン機能をGherkinで書くとこうなります。
Feature: ログイン機能
Scenario: 正しいIDとパスワードでログインできる
Given ユーザーがログイン画面を開いている
When 正しいメールアドレスとパスワードを入力する
And ログインボタンを押す
Then マイページが表示される
どうでしょう?これならエンジニアではないディレクターや顧客でも、「何を確認したいのか」が一目でわかりますよね。
4. Gherkinを導入するメリット
① 仕様の曖昧さがなくなる
「Given/When/Then」で書くことで、仕様の曖昧さがなくなります。ビジネス側と開発側の認識合わせがスムーズになります。
② そのまま「テスト項目」になる
この文章は、専用のツール(Cucumberなど)を通すことで、なんとそのままプログラムとして実行できます。
「文章を読ませるだけで、システムが正しく動くか自動でチェックしてくれる」という魔法のようなことが実現します。
③ 生きたドキュメントになる
古い仕様書はすぐにゴミになりがちですが、Gherkinは「テスト」として日々実行されるため、常に最新のシステム仕様を反映したドキュメントとして機能し続けます。
まとめ
Gherkinは、技術者だけのものではありません。「チーム全員の共通言語」です。
「仕様をもっと分かりやすく伝えたい」「テストを効率化したい」と考えている方は、ぜひこの「Given / When / Then」のリズムを取り入れてみてはいかがでしょうか?
