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

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

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 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