CLAUDE LABEN
WWDC — WWDC 2026でSiriはGoogle Geminiベースと確定。ChatGPT等への外部ハンドオフは廃止され、サードパーティAI選択はEU(DMA)で当面非対応にBILLING — 6/15の課金変更まで残り6日。Agent SDK・headless Claude Code・GitHub Actions・他社エージェントがAPIレート準拠の月次クレジットへ移行OUTAGE — claude.ai・Claude Code・Coworkで障害が報告(6月)。スケジュール実行はfallbackModelとリトライ前提の設計が安全ですDYNAMIC-WORKFLOWS — Max・TeamプランとAPIでdynamic workflowsがデフォルトON。コードベース横断のバグ探索や独立検証に活用ULTRACODE — Claude Codeの新設定ultracodeがeffortメニューに追加。xhigh固定でワークフロー判断はClaudeに委ねますOPUS4.8 — Claude Opus 4.8が主要プランのデフォルトとして定着。コーディング・エージェント・推論を強化WWDC — WWDC 2026でSiriはGoogle Geminiベースと確定。ChatGPT等への外部ハンドオフは廃止され、サードパーティAI選択はEU(DMA)で当面非対応にBILLING — 6/15の課金変更まで残り6日。Agent SDK・headless Claude Code・GitHub Actions・他社エージェントがAPIレート準拠の月次クレジットへ移行OUTAGE — claude.ai・Claude Code・Coworkで障害が報告(6月)。スケジュール実行はfallbackModelとリトライ前提の設計が安全ですDYNAMIC-WORKFLOWS — Max・TeamプランとAPIでdynamic workflowsがデフォルトON。コードベース横断のバグ探索や独立検証に活用ULTRACODE — Claude Codeの新設定ultracodeがeffortメニューに追加。xhigh固定でワークフロー判断はClaudeに委ねますOPUS4.8 — Claude Opus 4.8が主要プランのデフォルトとして定着。コーディング・エージェント・推論を強化
記事一覧/Claude Code
Claude Code/2026-05-05上級

Claude Code で振る舞い駆動開発(BDD)を本番実装する — Gherkin シナリオ自動生成からチーム横断テスト文化の醸成まで

Claude Code を使った振る舞い駆動開発(BDD)の本番実装ガイド。Gherkin シナリオ自動生成、ステップ定義の自動化、Playwright/Cucumber 連携、非エンジニアとの協業体制まで、動作確認済みコードで解説します。

Claude Code219BDDテスト3GherkinPlaywright品質保証3自動化69

プレミアム記事

BDD(振る舞い駆動開発)を導入しようとして、「シナリオが書けない」「ステップ定義の量が膨大になる」「エンジニアしか触らなくなった」という壁にぶつかったことはないでしょうか。

私自身、複数のプロジェクトで BDD を試みては挫折した経験があります。Gherkin の文法は覚えられても、「ビジネス価値を反映したシナリオ」を一から書くのは思いのほか難しく、メンテナンスコストが見合わないと感じていました。

ところが Claude Code を本格的に使い始めてから、BDD への見方が変わりました。シナリオ生成・ステップ定義・テストコードの自動化を Claude Code に任せると、BDD が「書くもの」から「育てるもの」に変わるのです。ここで扱うのはその具体的な実装方法を動作確認済みのコードとともにお伝えします。

BDD の概念を整理しつつ、そして今なぜ Claude Code と組み合わせるのか

BDD(Behavior-Driven Development)は、アプリケーションの「振る舞い」を自然言語で記述し、それをテストコードの仕様として活用する開発手法です。TDD がコードの正しさを検証するのに対し、BDD はビジネスの意図を記述します。

Gherkin という DSL(ドメイン固有言語)を使い、こんな形でシナリオを書きます:

Feature: ユーザーログイン機能
  背景にある価値: 認証されたユーザーのみがダッシュボードにアクセスできる
 
  Scenario: 正しい認証情報でログインが成功する
    Given ユーザーが登録済みアカウントを持っている
    When メールアドレス "test@example.com" とパスワード "SecurePass123" を入力する
    And ログインボタンをクリックする
    Then ダッシュボードページに遷移する
    And 「ようこそ、テストユーザーさん」というメッセージが表示される
 
  Scenario: 誤ったパスワードでログインが失敗する
    Given ユーザーが登録済みアカウントを持っている
    When メールアドレス "test@example.com" と誤ったパスワード "WrongPass" を入力する
    And ログインボタンをクリックする
    Then エラーメッセージ「メールアドレスまたはパスワードが正しくありません」が表示される
    And ダッシュボードには遷移しない

このシナリオを手で書くのは、機能が複雑になるにつれて現実的ではなくなります。Claude Code を使うと、要件定義書やユーザーストーリーからシナリオを自動生成し、さらにステップ定義まで自動化できます。

プロジェクトのセットアップ

必要なパッケージのインストール

まず、Next.js プロジェクトに BDD 環境を整えます:

# Playwright + Cucumber.js の組み合わせで BDD 環境を構築
npm install --save-dev \
  @cucumber/cucumber \
  @playwright/test \
  playwright \
  @types/node
 
# Playwright ブラウザのインストール
npx playwright install chromium

プロジェクト構造はこのように整理します:

project-root/
├── features/                    # Gherkin シナリオファイル
│   ├── auth/
│   │   └── login.feature
│   ├── dashboard/
│   │   └── overview.feature
│   └── support/
│       └── world.ts             # Cucumber の World 設定
├── steps/                       # ステップ定義
│   ├── auth/
│   │   └── login.steps.ts
│   └── common/
│       └── navigation.steps.ts
└── cucumber.config.ts           # Cucumber 設定ファイル

cucumber.config.ts の基本設定:

// cucumber.config.ts
import { defineConfig } from '@cucumber/cucumber';
 
export default defineConfig({
  default: {
    requireModule: ['ts-node/register'],
    require: ['steps/**/*.ts', 'features/support/**/*.ts'],
    format: [
      'progress-bar',
      'json:reports/cucumber-report.json',
      'html:reports/cucumber-report.html'
    ],
    formatOptions: { snippetInterface: 'async-await' },
    worldParameters: {
      baseUrl: process.env.BASE_URL || 'http://localhost:3000',
    },
    timeout: 30000,
    retry: 1,
  },
});

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
BDD シナリオ設計で詰まっていた開発者が、Claude Code を使って Gherkin を自動生成し、今日から実際のプロジェクトに組み込めるようになる
ステップ定義・E2E テスト・CI/CD パイプラインを統合した本番対応の自動品質保証システムを手に入れられる
エンジニアだけでなく PO・QA・デザイナーも参加できるテスト文化の設計方法と、実際のチーム運用パターンを習得できる
Stripe による安全な決済 · いつでもキャンセル可能
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-05-23
Claude Code の Skill・Subagents・Rules を組み合わせて、社内プロジェクトを 1 時間以内に動かす:個人運用に落とし込んだ実装パターン
Claude Code の Skill・Subagents・Rules を組み合わせて、後回しになりがちな社内プロジェクトの 1 週間分のタスクを 1 時間で完了させる仕組み。SonicGarden の実装を起点に、個人開発で 12 年回してきた運用感覚に落とし込んだ構成と落とし所をまとめます。
Claude Code2026-05-20
Claude Code が『テスト全通過』と報告したのに CI で落ちる — 終了コードを正しく拾うための検証設計
ローカルでは『テスト全通過』と報告された変更が、push 後の GitHub Actions で真っ赤になる。原因の多くは Claude Code 側ではなく、シェルとテストランナーの終了コード解釈にあります。実例ベースで切り分け方を整理しました。
Claude Code2026-05-18
Claude Code の Bash ツールで cd や export が引き継がれない時の対処
Claude Code の Bash ツールで cd や export が次のコマンドに反映されない症状の原因と、実務で使える5つの対処パターンを実例とともに整理しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →