Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違...
Search
Mutz
July 28, 2025
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
読書シェア会 vol.7
Mutz
July 28, 2025
More Decks by Mutz
See All by Mutz
AI時代になぜ書くのか
mutsumix
0
560
『アキハバラ電脳組』から考える、場所がコミュニティを生む理由
mutsumix
0
340
AndroidにBluetoothでいろいろつなげてみた
mutsumix
0
35
AIでAndroid→iOS アプリ移植をやってみた
mutsumix
0
59
2025年 AIに助けられたこと
mutsumix
0
150
あなたに水耕栽培を愛していないとは言わせない
mutsumix
1
380
地域コミュニティを活かす市民開発の可能性
mutsumix
0
250
社員のスキルチェックのためにスマホアプリを作った話
mutsumix
0
96
軽率に資料をスライド化しよう
mutsumix
0
90
Other Decks in Technology
See All in Technology
Atlassian Cloudサポート業務でのAIエージェント活用事例
smt7174
0
370
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
180
SnowflakeCoCoでデータエンジニアリング!
foursue
0
170
モバイルアプリ開発概論2026
recruitengineers
PRO
1
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
230
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
3
300
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
230
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
150
Flutterをカメラで動かしたかった話
sony
0
110
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
210
20260801_スクフェス大阪
kgnkhkr
1
1.1k
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
320
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
530
The Spectacular Lies of Maps
axbom
PRO
1
880
Paper Plane (Part 1)
katiecoart
PRO
1
10k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
What's in a price? How to price your products and services
michaelherold
247
13k
BBQ
matthewcrist
89
10k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Context Engineering - Making Every Token Count
addyosmani
9
1k
RailsConf 2023
tenderlove
30
1.5k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Transcript
1
梶原 睦 / かじはら むつみ 株式会社 シスマック DX ソリューション事業部 部長
Twitter(現 X): @Mutsumix_dev Voicy: Mutsumix の進捗どう? 技術書典: 自宅水耕栽培で毎日サラダ生活 最近は受託開発の提案やったり営業やったり研修講師やったり総務やったり 自己紹介 2
AI コーディング、やってますか? AI コーディング、やってますか? 3
AIにコード書かせる チャット形式でのコーディング補助からCLIやIDE統合を使った実装が今や主流 任せられる範囲は広がり、人間の方がCopilot(副操縦士)になっていく 人間の役割はコーディング結果のチェック めちゃくちゃ楽になってるはずだけど... AI コーディング、やってますか? 読書シェア会 vol.7 |
AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 4
自走させると最初は順調 だんだん方向性がずれてくる 気づいたら修正不可能な状態 AI コーディングの現実 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
5
目 Grep は面倒だし... 成果物に対してテストをさせれば、ずれを修正できるのでは? よし、AI にテストを書かせよう プロンプト: まずテストを書いて、それを突破するように実装して 何か良い方法はないものか? 読書シェア会
vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 6
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
AIにテストをさせる方法自体は悪くないはずだ AIにテストをさせる方法自体は悪くないはずだ 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 8
テストについての本を読もう テストについての本を読もう 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 9
「テストについてちゃんと学んで、効果的なテス トの書き方を学ぶぞ」 3 部構成: 第 1 部:テスト駆動開発(TDD)を使った実装 ある金融システムの多国通貨対応 第 2
部:xUnit の例 テスティングフレームワーク構築 第 3 部:TDDパターンとリファクタリングについて ケント・ベック『テスト駆動開発』 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に 俺の勘違いだった 10
わかる 印象に残ったページ 不安はためらいを生む。 不安はコミュニケーションを減らす。 不安はフィードバックから逃げ腰にさせる。 不安はイライラさせる。 読書シェア会 vol.7 | AI
コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 11 「テスト駆動開発は、プログラミング中の不安をコントロールする手法だ。...
TDDは品質担保にとどまらず、開発者の不安を軽減する開発手法のことらしい 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 12 TDDはテスト技法ではない。 TDDは分析技法であり、設計技法であり、実際には 開発の全てのアクティビティを構造化する技法なのだ。
TDD においてテストは目的を達成するための手段であり、その目的は、大いなる 自信を伴うコードだ。
1. まずはテストを一つ書く 2. 全てのテストを走らせ、新しいテスト の失敗を確認する 3. 小さな変更を行う 4. 全てのテストを走らせ、全て成功する ことを確認する
5. リファクタリングを行なって重複を除 去する テスト駆動開発の流れ 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決し ようとして読んだら、根本的に俺の勘違いだった 13
「あれ、これテストの書き方の本じゃない...?」 TDD の本質: テスト設計手法 プログラミング中の不安を取り除く開発手法 読んでみた結果 読書シェア会 vol.7 | AI
コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 14
核心は 心理的安全性 小さなステップで確実に前進 常に動作するコードを維持 複雑さをコントロール プログラミング中の開発者の不安を軽減 TDD の真の価値 読書シェア会 vol.7
| AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 15
根本的に俺の勘違いだった 根本的に俺の勘違いだった 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 16
Before (勘違い) 問題: AI コードのチェックが面倒 試み: AI にテストを書かせる → 失敗
期待: テストで品質担保 After (理解) 実際の TDD: 開発プロセス自体の改善 根本的な勘違いに気づいた 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 17
これからのAIコーディングへの応用可能性は? これからのAIコーディングへの応用可能性は? 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 18
https://newsletter.pragmaticengineer.com/p/tdd-ai-agents-and-coding-with- kent 最近のKent Beck氏のポッドキャストでの発言 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 19
「開発者の役割は、コードを書く人から、AIに良いコードとは何かを教える人へ と変わっている。テストがその教育プログラムなのだ。 」
AI時代のソフトウェア開発を考える(2025/07版) TDDの翻訳者、和田卓人(t-wada)さんの発言 Vibe Coding をはじめとした AIの開発生産性により、開発規模が大きくなる と発生する諸問題が、ごく短期間で発生するようになった 問題の構造は変わらず、顕在化までの時間が圧倒的に短くなっただけ 仕様や設計を見つけるよくしていく過程がTDD 細部を作りながら、全体の設計にフィードバックしていく過程が重要
読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 20
間違ったアプローチ いい感じにテストを作って とAIに指示 指示する本人も何をテストされるかよくわからない TDD を AI コーディングに応用するなら 読書シェア会 vol.7
| AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 21
正しいアプローチ 「タスクを小さな実装に分解 → 逐次消化 → リファクタリング」 とAIに指示 方向性のずれを小さなうちに修正 ゴールに向けた一歩ずつの前進 最初から大きななゴールを目指さないアプローチ
(バイブコーディングの醍醐味は 失われるが) 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 22
1. 最終ゴールを明確にする: 要件ヒアリングと設計文書(README.md、DESIGN.md)作成 2. 現在の状態から次の小さなステップを定義: TODO.mdで進行状況確認し、作業対象を決定 3. そのステップだけを実装: RED(失敗テスト)→GREEN(最小実装)→REFACTOR(改善)を順次実行 4.
動作確認: 各段階でテスト実行とコミットによる確認 5. 次のTODOを提示: FEEDBACK段階で設計文書更新と新しいタスクの発見・追加 6. 2-5を繰り返し: 実際のプロンプト例 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 23
Claude Code のカスタムスラッシュコマンドとして登録してみた Mutsumix/ore-tdd.md https://gist.github.com/Mutsumix/75a6c162d83580ad6b9d1b134892213d 実際のプロンプト例 読書シェア会 vol.7 | AI
コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 24
サイクルの図解 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 25
学んだこと TDD は「テスト手法」ではなく開発者の不安を軽減する開発手法 AIコーディング にもこの開発プロセスを適用できる可能性 読む前の思い込みに気をつける 自分の理解を超えた優れた概念はまだまだある 次のアクション この手法で実際にプロジェクトを試して効果を検証 xUnit
の実装の章を書籍に従って写経 『ソフトウェアエンジニアリング』を読む 継続的にソフトウェアを開発していくための考え方を学ぶ 学んだこと + 次のアクション 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 26
ありがとうございました! 読書シェア会 vol.7 | AI コードチェックが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった 27