📚 AIが実装し、AIがテストし、AIが「問題ありません」と言う時代の品質保証

🔗 元記事: https://qiita.com/y0us91/items/2feffd2cc6c672717973
🔖 はてなブックマーク: https://b.hatena.ne.jp/ao41/20260813#bookmark-4791504681832130498
🕒 ブックマーク日時: 2026-08-13T09:58:23Z
htags: あとで読む | はてブ数: 500 users

記事の概要

Coding Agentが仕様を読み・実装し・テストを書き・Greenになるまで自律的にループを回せる時代になった今、「AIが全てGreenにした状態」は一体何を保証しているのか——という本質的な問いを扱った品質保証(QE)論の記事です。はてブ500 users超えの大人気記事で、arXivの最新研究(SpecBenchなど)も引用しながら議論が展開されています。

核となる主張:「テストがGreenだから正しい」はもともと成立しない

  • All Tests Passed ≠ Software is Correct。Greenは「既存テストに対して観測結果が期待値と一致した」だけ
  • 例:calculatePrice(price, quantity) のテストが 100×2=200 のみなら、quantity=0・負数・null・Overflow・通貨精度は無保証
  • テストの価値はGreenかどうかより「何を保証するために存在するか」で決まる

AI時代に変わったのは「実装と検証の距離」

Agentは「正しいコード」ではなく「成功条件」を目指す

Reward Hacking(報酬ハッキング)という問題

AIにテストを書かせてはいけないのか? → No

Coverage 100%でも解決しない理由

Test Oracle の考え方

AI時代に人間が持つべき役割

人間の役割は「コードを書く人」から「正しさを定義する人」へ移す
  • 「テストを書いて」と指示するのではなく、「この変更の最重要リスク」「保証すべき状態遷移」「許容できない二重処理」「CI BlockingとするFailure」を先に定義する
  • その上で実装・テスト生成をAgentに任せる
  • 実装Agentの「成功しました」という自己申告だけをQuality Gateにしない(Independent Verification)
  • Testing Trophy(テストピラミッドの発展形)の各レイヤーの性質はAgentic Codingでも不変。Failure Modeに最適なTest Layerを選ぶ
  • 指示も工夫:「正しいことを確認して」ではなく「間違っていることを証明するテストを作って」(Confirmation→Falsification)

「AIがレビューするから大丈夫」でもない

EM・テックリードが設計すべきもの

結論:AI時代に価値が上がるQuality Engineering

  • AIにより実装・テスト生成・リファクタリング・調査のコストは下がるが、変更量は増える → 手動確認ではスケールしない
  • QEは「Manual Verification」から「Quality Architecture」(正しさを継続的に評価できるシステムを作ること)へ移行が必要
  • 最後に問うべきは「テストはGreenか?」ではなく「そのGreenは、何を保証しているのか?
  • 「テストを書く能力」以上に「正しさを評価する仕組みを設計する能力」が重要になる

参考論文(記事末尾に掲載)