inflearn logo
知識共有
inflearn logo

テストがゼロのレガシーコード、修正するたびに怖いなら:Claude Codeで隠れたバグを5つ見つけ、ミューテーションテストで検証する

Claude Codeの使い方は学んだけど、うちのレガシーにはどう使えばいい?テストが0件のSpring Boot注文サービスにClaude Codeで安全網を張り、隠れたバグを5つ見つけ、AIが書いたテストをミューテーションテストで検証します。

1名 が受講中です。

難易度 初級

受講期間 無制限

TDD
TDD
Spring Boot
Spring Boot
JUnit
JUnit
Mockito
Mockito
Refactoring
Refactoring
TDD
TDD
Spring Boot
Spring Boot
JUnit
JUnit
Mockito
Mockito
Refactoring
Refactoring

この講座で身につくこと

  • テストのないサービスクラスに、Claude Codeで現行の動作を固定する特性テストとゴールデンマスターを追加します。

  • AIがバグをこっそり修正したり、期待値をでっち上げたりできないようにするプロンプトルールを書きます。

  • 現在時刻・静的メソッド・サービス内のSQLに、最小限の変更でシームを設けます。

  • 単体・スライス(JDBC・Web)・統合テストを目的に応じて選びます。

  • JaCoCoカバレッジとPITミューテーションスコアでAIが作成したテストを検証します。

  • 失敗するポリシーテストを先に行い、最小限の修正でバグを直します。

  • CLAUDE.mdのテスト規則・テストを追加するスキル・CIのゲートで、チームに手順を残します。

テスト0個から88個へ、隠れたバグ5件をすべて捕捉し、ミューテーションスコア92%まで――講義内の実習で実際に測定した数値です。

Claude Codeの使い方は学んだけれど、うちのレガシーコードではどう使えばいい?テストが一つもないSpring Bootの注文サービスにClaude Codeで安全網を張り、隠れたバグを5つ見つけ、AIが書いたテストをミューテーションテストで検証します。

テストの書き方を一から教える講義ではありません。すでに存在する、テストが一つもないレガシーコードを題材に、AIに読み解き・特性テスト・修正・リファクタリングを任せ、人間は何を検算すべきかを実際の実行画面で示します。カバレッジが高くてもバグを見逃す場面を実際に確認し、ミューテーションスコアで「通過するだけのテスト」をふるいにかけます。

この講義を修了すると

  • テストのないサービスクラスに、Claude Codeで現在の動作を固定する特性テスト・ゴールデンマスターを追加する

  • AIがバグを勝手に修正したり、期待値を捏造したりしないようにするプロンプトのルールを書く。

  • 現在時刻・静的メソッド・サービス内SQLに、最小限の変更でシームを設ける.

  • 単体・スライス(JDBC・Web)・統合テストを目的に応じて選ぶ。

  • JaCoCoのカバレッジとPITのミューテーションスコアで、AIが生成したテストを検証する。

  • 失敗するポリシーテストを先に書き、最小限の修正でバグを直す。

  • CLAUDE.mdのテストルール・テスト追加スキル・CIのしきい値で、チームに手順を残す

こんな方におすすめです

  • Claude Codeを使ってみたものの、社内のテストがないコードにどう活用すればよいか行き詰まっているバックエンド開発者

  • レガシーを引き継ぎ、修正するたびに何が壊れるのか不安なSpring開発者

  • AIが作ったテストを信頼してよいか判断する基準を必要としているチームリーダー

カリキュラム(8セクション・42講義・約319分)

  • セクション1. 最初の成功まで — 完成デモ:テスト0個からバグを5/5件発見するまで、5分で最初のバグを発見:5万ウォンの注文に送料が加算される、行き詰まっても再スタート:演習環境とチェックポイントタグ、手作業で82%クリックしたのにバグが見つからない:ベースラインの計測、「説明して」が間違った答えを返すとき:読み取り質問の設計

  • セクション2. レガシーをAIに読み込ませる — ドキュメントにはこう書いてあるのにコードは違う: ポリシー照合、どこでDBを使っているのか誰も知らない: 副作用マップ、すべて重要に見えるとき: 変更リスク箇所の順位付け、AIが見当違いのファイルに自信満々なとき: 読み取り範囲を決める、読んだ内容が翌日には消えている: 特性メモ

  • セクション3. 特性テストとゴールデンマスター — 修正する前に固定する:特性テスト、境界で怪しい値を見つける:境界値表で固定、AIがバグをこっそり修正した:「固定だけ」プロンプト、組み合わせが多すぎる:ゴールデンマスターの記録、ゴールデンマスターが変わった:承認と差分の確認、怪しい動作が積み重なる:バグ候補台帳

  • セクション4. 継ぎ目で依存関係を断つ — テストが入り込む余地がない:継ぎ目、11月には再現できない:時計の注入、5月31日にクーポンが使えなくなる:時間の継ぎ目による2つ目のバグ、静的メソッドが道を塞ぐ:クーポン計算をラップする、サービス内にSQLが埋め込まれている:クエリをまとめる

  • セクション5. 切り離して、テストの種類を選ぶ — 巨大メソッドを切り離すと動作は変わるのか:計算の抽出、AIがシグネチャまで変えた:継ぎ目のdiffレビュー、テストが遅く壊れやすい:単体・スライス・統合の判断基準表、ポイントクエリは正しいか:JDBCスライス、エラーレスポンスがこっそり変わる:Webスライス、注文はできるのにキャンセルがおかしい:統合テストの一連の流れ

  • セクション6. AIが作成したテストの検証 — カバレッジは高いのにバグがすり抜ける:JaCoCoを読む、テストは本当に確認しているのか:コードをわざと壊す、ミュータントが生き残った:通るだけのテスト、多すぎて手作業では直せない:AIにミューテーションハントを任せる、レビューで何を見るか:見極めるべきAIテスト5つのタイプ

  • セクション7. バグ修正とリファクタリング — バグを修正したら特性テストが壊れる:反転する順序、VIPなのにポイント還元が1%:文字列比較のバグ、割引を受けたのにポイント還元が増える:還元基準、キャンセルしたらポイントが増えた:回収漏れ、巨大なサービスを分割してもいい?:回帰検知の前後

  • セクション8. チームルール・CI・キャップストーン — 次の人も同じミスをする:CLAUDE.mdのテストルール、毎回同じプロンプトを入力する:テストを追加するスキル、誰も実行しない:CIの関門、キャップストーン:自分のレガシークラス1つにセーフティネットを設ける、H2とモックでは検出できないバグ — 次のステップ

実習環境

実習用ZIPのlegacy-shopリポジトリ(Spring Boot 3.5、Gradle Wrapper、組み込みH2 DB)を取得し、JDK 21以上で実行します。各講にはGitチェックポイントタグ(cp-00~cp-41)があり、行き詰まった場合はその時点から再開できます。また、各講のプロンプトファイルとbin/ai・bin/t・bin/scoreスクリプトが含まれています。最終講のMySQL比較実習のみ、Dockerが必要です。

前提知識

  • Claude Codeを使ったことがある

  • JUnitを使ったことがある

  • Spring Bootプロジェクトをビルド・実行したことがある】【。

この講義で扱わないこと

  • JUnit・Mockitoの文法の基礎

  • TDDで新機能をゼロから開発する

  • ヘキサゴナルやDDDといった設計思想

  • 実際のMySQL・コンテナベースの統合テストの応用(後続講座のテーマ)

  • Claude Codeのインストール・基本的な使い方

ご案内

この講義のナレーションは合成音声(AI)で作成しており、画面に表示されているClaude Codeの実行結果は、実際に実行した際の出力です。AIの応答文は実行するたびに少しずつ異なる場合があります。すべてのデータは教育用の仮想データであり、数値は実行環境によって異なる場合があります。

次のような方に
おすすめです

受講対象

  • Claude Codeを使ってみたものの、会社のテストがないコードにどう活用すればよいか行き詰まったバックエンド開発者

  • レガシーを引き継ぎ、修正するたびに何が壊れるのかと不安になるSpring開発者

  • AIが作成したテストを信頼してよいか判断する基準を必要としているチームリード

前提知識

  • Claude Codeを使ったことがある

  • 単体テスト(JUnit)を使ったことがある

  • Spring Bootプロジェクトをビルド・実行したことがある

こんにちは
dorian05202988です。

経歴認証済み

20年以上にわたりデータベースとIT分野でキャリアを積んできたデータ職人です。DBAおよびDB Platformチームのマネージャーとしてデータベースプラットフォームに携わり、MySQL・PostgreSQL・Oracle・MongoDB、SQLチューニング、AWS・Terraform・Pythonを専門分野としています。ゲーム・金融・ITサービス分野での経験をもとに、データベースとクラウドアーキテクチャについて解説しています。『オラ​​クル実務チューニング SQLパターン学習』と『Oracle Pro*C実務プロジェクト活用書』を出版し、AWS Summit 2018・2019と「データよ、遊ぼう」2020では、サーバーレス・データベースの選択・マルチデータベース戦略について発表しました。最近は、Bedrock LLMを利用したスロークエリの分析・チューニング提案、DBスペック算定の自動化、DBメタMCPサーバーとSlackボットを通じた照会フローを扱っています。開発者向けのデータベース自動化と、非開発者向けのAI業務活用について、各コースの対象者と目的に合わせた実習を通じて解説しています。AIの提案をそのまま適用するのではなく、結果の同一性・実行計画・観測条件を確認し、根拠が不足している場合は保留する判断基準を伝えています。会社の運用データや認証情報は講義資料に含めません。

もっと見る

カリキュラム

全体

42件 ∙ (5時間 19分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

dorian05202988の他の講座

知識共有者の他の講座はこちら

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥1,014,474

30%

¥8,965