Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Claude Codeでテスト駆動開発 ─ TDDで得たClaude Codeのファクター

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Claude Codeでテスト駆動開発 ─ TDDで得たClaude Codeのファクター

テストコードをまず書いてから、実装し、リファクタリングするテスト駆動開発。 従来では重い開発手法とされていたTDDが、 Claude Codeの力で採用コストが軽い開!発手法になりつつあります。 テストファーストで開発することで、コードをコントロールしやすくなるTDD。 今回は、Claude Codeテスト駆動開発の設定方法と実装の様子をご紹介します。 実務案件でClaude Code TDDに取り組んだ際のPros and Consを中心に TDDの第一人者であるt-wadaさん、Xで話題のベストプラクティスを交え、Claude Codeのファクターに触れていきます。

Avatar for 佐々木啓太郎

佐々木啓太郎

March 22, 2026

Other Decks in Programming

Transcript

  1. 自己紹介 © 2026 ai-swift.com 佐々木啓太郎 2020年東進系列の塾講師 VBAマクロ、Python、ChatGPT 2024GovTechスタートアップGraffer BizDev 個人開発でフルスタックなスキル習熟に傾倒。

    2025 未経験からフリーランスエンジニア クラウド、フロントエンド、バックエンドが一通りわかる 人材として、アジャイルな開発案件に取り組む。 生成AI活用スキル、AI駆動開発の情報発信 X:https://x.com/ksasakibiz HP:ai-swift.com
  2. 🔵必要に応じてリファクタリングを行い、実装の設計 を改善する blue TDDとは テスト駆動開発のメリット Test Driven Development:Kent Beck提唱、t-wadaが翻訳 脱線しにくい

    TDDは実装のス コープを絞る。余計 なコードが入りにく い これまでの動作を 守る 既存の挙動が壊 れていないことを テストが保証し続 ける ガードレールにな る 破綻しにくい設計を 自然に促す。安全 に変更できる土台 t-wadaのブログ 2024-03-08 【翻訳】テスト駆動開発の定義 🔴 テストリストの中から「ひとつだけ」選び出し テストコードをライティング テストが失敗することを確認する red 【AIは平均に回帰する】組織でアウトカムが上がらない本質的な理由 TechWorld © 2026 ai-swift.com 佐々木啓太郎 🟢いま書いたテスト(と、それまでに書いたすべて のテスト)を成功させる green
  3. Claude Codeとは何か CLAUDE.md / SKILL / subagent Claude Code Best Practice(公式)

    Claude Codeとは PC上にあるファイルを 読み書き編集、計画実行を よしなにやってくれる優れもの (Coding, OCR, Excel読み書き編集 etc) mdファイルを書くことで 動作を決められる・コントロールできる VScode・ターミナルから実行できる。 エンジニア向けだが非エンジニアにも◯ subagent:Claude Codeの中で 子分みたいに働く © 2026 ai-swift.com 佐々木啓太郎 SKILL.md:Claude Codeにスキル付与 (pptx読み書きして欲しい、pdf ocrして欲しい) CLAUDE.md:Claude Codeが毎回読む指示書
  4. skill、subagentは独立したコンテキストで実行 (会話の背後で独立してskill, subagentが立ち上がる) → TDDの原則にかなう • 他の設計書やコードを勝手に読み込まない • 純粋にテストコードを書くことから始める Claude

    Codeコンテキストの動作原理(ちょっと深掘り) Claude Code Best Practice(公式) メイン会話コンテキスト SKILL~~~をするもの 発動:SKILLが使うコンテキスト subagent~~~をするもの 発動:subagentが使うコンテキスト © 2026 ai-swift.com 佐々木啓太郎
  5. 🔵必要に応じてリファクタリングを行い、実装の設計を改善する blue 海外記事を参考に実装してみた Forcing Claude Code to TDD: An Agentic

    Red-Green-Refactor Loop(TDDに関する海外記事-vueを使用) 🔴 テストリストの中から「ひとつだけ」選び出し、実際に、具体的で、実行可能な テストコードに翻訳し、テストが失敗することを確認する red 🟢プロダクトコードを変更し、いま書いたテスト(と、それまでに書いたすべてのテ スト)を成功させる(その過程で気づいたことはテストリストに追加する) green SKILL.md:全体計画 完了条件 テストが成功することを確認してから次のフェーズへ進む。 完了条件 テストが失敗することを確認してから次のフェーズへ進む。 © 2026 ai-swift.com 佐々木啓太郎 POINT • SKILLがsubagentを統御 • phase間は「完了条件」で隔壁 されている。red, green, blueフェーズが混ざらない
  6. 実装の流れ 下ごしらえ 要件定義書をOCR→タスクリスト 1 要件定義書を文字起こし 要件定義書スライドをOCRしてmdに変換 2 実装タスクを一覧にする(task.md) Claude Codeを整える

    ── CLAUDE.md(全体指示)、3 つのsubagent(red / green / blue)を配置 © 2026 ai-swift.com 佐々木啓太郎 3 これで、SKILL.md起点に実行する体制が整う
  7. 実装の流れ スキル実行 Green仕様書→Red仕様書→Red → Green → Blue のサイクル 実装タスクから ひとつのfeatureを選んで、エッセンスを書く 仕様書

    0spec blue code Complete © 2026 ai-swift.com 佐々木啓太郎 仕様書 green green code red red code 1red 2green 3blue SKILL.mdに 全自動で起こるように 書いている
  8. Claude Code ベストプラクティスより - Scopeを絞る コンテキストを付与する=ギュッと絞る・スコープを絞るイメージ © 2026 ai-swift.com 佐々木啓太郎

    プロンプト=コンテキスト粒度を絞る ズレやすい指示・粗い指示 →アウトプットが粗い  スコープ絞った指示 →アウトプットがバチっと決まる
  9. 仕様書 0spec © 2026 ai-swift.com 佐々木啓太郎 仕様書 green red red

    code 1red ワザは技術者の知見・コンテキスト付与の仕方 仕様書.md • APIのエンドポイント名称・原理 • クラスの名称・原理 • コンストラクタはこう • メソッドにはこんなものが欲しい 技術者の知見・力量
  10. red code仕様書 APIのエンドポイントはこうなります クラスの名称はこうです コンストラクタで環境変数を決めて メソッドにはこんなものが欲しいで す...等 Redテストをどう書くか 🔴 「コンストラクタ」がどうなって

    あるべきか ストリーミングで音声文字起 こしするメソッドは yieldを使っ て... red codeのcode例はこうだよ ```python @pytest.mark.asyncio async def test_speech_recognize_returns_valid_json_f ormat(async_client): """ POST /speech/recognize が正しいJSON形 式で応答することを確認する ``` © 2026 ai-swift.com 佐々木啓太郎 scope
  11. フロントエンド TDD ロジックは◯  UIはまだ△ UIに関しては TDDでバチっと決めるのは難しい デザインの土台となるHTML CSS JS sample.htmlを用意しておくのがよい

    (scopeになる) または、Playwright ARIA(YAML)Layout 仕様書をyamlで書いたもの (レイアウト、ボタンの大きさ、イベント、を全部yamlで言語化) 気になる方は 「Playwright ARIA」で検索を © 2026 ai-swift.com 佐々木啓太郎 UIのTDDは未だ実験的!実務で試しながら最適解が見つかりそう frontendの関数は TDDでうまくいくだろう バックエンドロジック実装が功を奏した。 ロジックに関しては TDDがうまくいく。ある程度コントロールできる。
  12. リンク集 10 © 2026 ai-swift.com 佐々木啓太郎 t-wadaのブログ 2024-03-08 【翻訳】テスト駆動開発の定義 【AIは平均に回帰する】組織でアウトカムが上がらない本質的な理

    由 TechWorld Claude Code Best Practice (公式) Forcing Claude Code to TDD: An Agentic Red-Green-Refactor Loop(TDDに関する海外記事-vueを使用) 松尾研究所テックブログClaude Code中心のAIコーディング運用:実 務で効いた5つの型 PlaywrightとARIA | とあるかえるのつぶやき