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

AI開発を加速するためにテスト戦略を言語化した

 AI開発を加速するためにテスト戦略を言語化した

Avatar for yoshihiro shu

yoshihiro shu

May 20, 2026

More Decks by yoshihiro shu

Other Decks in Programming

Transcript

  1. 2つのプロダクト課題 ① データ遷移の整合性 似たようなユースケースでも、生成されるデータが違う 例: 新規契約 / 二回目以降の新規契約 で発行レコードや適用される時刻が異なる ②

    日時依存のビジネスロジック 実行時刻によって結果が変わる 例: 月末に契約すると契約期間が翌月末まで延びる AI時代のGoテスト戦略 6
  2. テストがほとんどシナリオテストに集約されていた テストピラミッドの「結合テスト」: Go サーバー + DB を起動し、外部サービスはモック化して 一連のフローをAPI単位でテストを行っている。 担保していたこと: API

    レスポンス(ステータス・メッセージ内容) DB の状態変化(レコードの生成・論理削除) 日時・金額計算(契約期間・請求金額) 外部システムへの副作用(メール送信・リソースの作成) AI時代のGoテスト戦略 7
  3. 解決案: テストによって責務を分ける シナリオテスト 結合テスト層 確認すること 期待通りのレコードが ⽣成・削除されているか ユースケーステスト サービス単位 確認すること

    契約期間・価格が 期待通りに算出されるか f(x) 単体テスト 関数単位 確認すること 関数の 振る舞いが変わらないか AI時代のGoテスト戦略 8
  4. 結果: テストでロジックの正しさが判断できるようになった テストの input / output を見るだけでロジックの正しさを判断できる → コードを読み解く必要がなくなった テストケースの漏れ

    を防ぎやすくなった → 責務が分かれたことで、各層の網羅性が見えやすい レビューに 別の観点 を考える余裕ができた → 認知負荷が下がり、設計・性能などにも目が向く AI時代のGoテスト戦略 12