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

AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違...

Avatar for Mutz Mutz
July 28, 2025

AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった

読書シェア会 vol.7

Avatar for Mutz

Mutz

July 28, 2025
Tweet

More Decks by Mutz

Other Decks in Technology

Transcript

  1. 1

  2. 梶原 睦 / かじはら むつみ 株式会社 シスマック DX ソリューション事業部 部長

    Twitter(現 X): @Mutsumix_dev Voicy: Mutsumix の進捗どう? 技術書典: 自宅水耕栽培で毎日サラダ生活 最近は受託開発の提案やったり営業やったり研修講師やったり総務やったり 自己紹介 2
  3. AI「テスト完了しました! 」 describe("UserService", () => { it("should create user", ()

    => { const mockDb = jest.fn(); const mockValidator = jest.fn(); // TODO: implement this test expect(true).toBe(true); // とりあえず通る }); }); モックだらけ、都合悪いところがコメントアウトされている、何をテストしているか 意味不明 こんなの受け入れていいのか?? 結果 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 7
  4. 「テストについてちゃんと学んで、効果的なテス トの書き方を学ぶぞ」 3 部構成: 第 1 部:テスト駆動開発(TDD)を使った実装 ある金融システムの多国通貨対応 第 2

    部:xUnit の例 テスティングフレームワーク構築 第 3 部:TDDパターンとリファクタリングについて ケント・ベック『テスト駆動開発』 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に 俺の勘違いだった 10
  5. わかる 印象に残ったページ 不安はためらいを生む。 不安はコミュニケーションを減らす。 不安はフィードバックから逃げ腰にさせる。 不安はイライラさせる。 読書シェア会 vol.7 | AI

    コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 11 「テスト駆動開発は、プログラミング中の不安をコントロールする手法だ。...
  6. 1. まずはテストを一つ書く 2. 全てのテストを走らせ、新しいテスト の失敗を確認する 3. 小さな変更を行う 4. 全てのテストを走らせ、全て成功する ことを確認する

    5. リファクタリングを行なって重複を除 去する テスト駆動開発の流れ 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決し ようとして読んだら、根本的に俺の勘違いだった 13
  7. 「あれ、これテストの書き方の本じゃない...?」 TDD の本質: テスト設計手法 プログラミング中の不安を取り除く開発手法 読んでみた結果 読書シェア会 vol.7 | AI

    コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 14
  8. Before (勘違い) 問題: AI コードのチェックが面倒 試み: AI にテストを書かせる → 失敗

    期待: テストで品質担保 After (理解) 実際の TDD: 開発プロセス自体の改善 根本的な勘違いに気づいた 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 17
  9. 間違ったアプローチ いい感じにテストを作って とAIに指示 指示する本人も何をテストされるかよくわからない TDD を AI コーディングに応用するなら 読書シェア会 vol.7

    | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 21
  10. 正しいアプローチ 「タスクを小さな実装に分解 → 逐次消化 → リファクタリング」 とAIに指示 方向性のずれを小さなうちに修正 ゴールに向けた一歩ずつの前進 最初から大きななゴールを目指さないアプローチ

    (バイブコーディングの醍醐味は 失われるが) 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 22
  11. 1. 最終ゴールを明確にする: 要件ヒアリングと設計文書(README.md、DESIGN.md)作成 2. 現在の状態から次の小さなステップを定義: TODO.mdで進行状況確認し、作業対象を決定 3. そのステップだけを実装: RED(失敗テスト)→GREEN(最小実装)→REFACTOR(改善)を順次実行 4.

    動作確認: 各段階でテスト実行とコミットによる確認 5. 次のTODOを提示: FEEDBACK段階で設計文書更新と新しいタスクの発見・追加 6. 2-5を繰り返し: 実際のプロンプト例 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 23
  12. Claude Code のカスタムスラッシュコマンドとして登録してみた Mutsumix/ore-tdd.md https://gist.github.com/Mutsumix/75a6c162d83580ad6b9d1b134892213d 実際のプロンプト例 読書シェア会 vol.7 | AI

    コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 24
  13. 学んだこと TDD は「テスト手法」ではなく開発者の不安を軽減する開発手法 AIコーディング にもこの開発プロセスを適用できる可能性 読む前の思い込みに気をつける 自分の理解を超えた優れた概念はまだまだある 次のアクション この手法で実際にプロジェクトを試して効果を検証 xUnit

    の実装の章を書籍に従って写経 『ソフトウェアエンジニアリング』を読む 継続的にソフトウェアを開発していくための考え方を学ぶ 学んだこと + 次のアクション 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 26