Gherkin記法(ガーキン記法)とは、ソフトウェアの振る舞いを Given(前提)・When(操作)・Then(結果)の 3 ステップで自然言語風に記述するための構造化フォーマットである。テスト自動化ツール Cucumber が読み取る .feature ファイルの標準記法として広く使われている。
テスト仕様書を開発者がコードで、ビジネス側が日本語や英語のドキュメントで、それぞれ別々に管理する現場は多い。仕様変更のたびに両方を更新する必要があり、ズレが蓄積する。
Gherkin記法はこの問題を「実行可能な仕様書」というアプローチで解決する。ビジネス担当者が読める自然言語に近い構文でありながら、そのまま自動テストとして実行できる。仕様書とテストコードが同一ファイルに収まるため、乖離が構造的に起きにくい。
.feature ファイルの典型的な構造は以下のとおり。
1Feature: ユーザーログイン
2
3 Scenario: 正しい認証情報でログインできる
4 Given ログインページを表示している
5 When メールアドレス "user@example.com" を入力する
6 And パスワード "correct-password" を入力する
7 And ログインボタンをクリックする
8 Then ダッシュボードが表示されるFeature が機能単位のまとまり、Scenario が個別のテストケースに対応する。And / But で条件を追加でき、Scenario Outline + Examples テーブルでパラメータ化も可能。
日本語を含む 70 以上の自然言語に対応しており、キーワードをそのままローカライズできる点も特徴の一つ。
Gherkin記法は BDD(振る舞い駆動開発)のプラクティスから生まれた。BDD では「ソフトウェアが何をすべきか」を利害関係者全員が共有できる形で記述することを重視する。Gherkin はその記述フォーマットを標準化したもので、Cucumber・Behave・SpecFlow といったフレームワークが Gherkin ファイルをパースしてテストを実行する。
筆者のチームでは受け入れテストを Gherkin で書き始めてから、QA と開発者のレビュー会議で「この Scenario が通ればリリース可」という合意形成が格段に速くなった。
万能ではない。ステップ定義(Given/When/Then の裏側で実行される実装コード)の粒度設計を誤ると、似たようなステップが大量に増殖して保守コストが跳ね上がる。また、UI の細かい操作を Gherkin で逐一書くと冗長になりがちで、E2Eテストのすべてを Gherkin 化するより、ビジネスルールの検証に絞って適用するほうが費用対効果は高い場合が多い。


TDD(Test-Driven Development)とは、実装コードを書く前にテストを書き、テスト失敗(RED)→実装(GREEN)→リファクタリング(Refactor)の短いサイクルを繰り返す開発手法である。

機能テスト(フィーチャーテスト)とは、特定の機能やユースケース単位でシステムの振る舞いを検証するテスト手法である。単体テストより広い範囲を対象とし、複数のモジュールが連携して正しく動作するかを確認する。

ハーネスエンジニアリングとは、AIエージェントの誤動作を防ぐためにプロンプト・ツール定義・CI/CDなどの構造的制約を設計する手法のこと。



AI コーディングエージェント実践ガイド — Claude Code vs Codex で開発チームはどう変わるか
Outside the Loop とは、人間が成果の仕様だけを指定し、実装の詳細をすべて AI エージェントに委ねる協業モードであり、バイブコーディングとも呼ばれる。