生成AI時代のソフトウェアテストは「めんどくさい」── 高橋寿一氏が語る、これからの「シフトレフト」「シフトライト」
【15-C-4】知識ゼロから学ぶAIのテスト 信頼できないソフトウェアとそのテストのために
生成AIの急速な進化は、多くの分野で生産性の向上や人件費削減などの利益をもたらしている。しかしその反面、ソフトウェア開発におけるテスト工程の複雑化などにより、品質保証のプロセスにおいてさまざまな問題が発生している。こうした問題への対処として、開発プロセスの早い段階でテストを行うことで問題を早期に発見し修正する「シフトレフト」、リリース後の本番環境で、実際のユーザーデータを用いて問題を発見し迅速に修正する「シフトライト」の2種類のアプローチが試みられている。こうした複雑化の背景や、シフトレフト/ライトの考え方について、高橋寿一氏によるセッションが行われた。

生成AIで複雑化するテストプロセスとソフトウェア品質
セッションの冒頭、高橋氏は「AIの品質保証は、今後かなり面倒になる」としたうえで、「AIの台頭がさらに進むと、品質保証にかかるテスト費用は増える。このテスト費用はここ30年変わらなかったが、開発者やプロジェクトの管理者は今後かなり痛い思いをするだろう」と切り出した。
Microsoft Copilotのラボで使われる単体テスト生成ツール「TestPilot」においても、生産性が数十%上がっても「Copilotの生産性には全く追いつかない状況にある」という。その理由として、高橋氏は「テストプロセスの複雑さ」「見るべき範囲の広範さ」「機能品質を担保することの難しさ」の3点を列挙した。
生成AIを利用することで開発の生産性やソースコードの凝集度は上がるものの、現状では人の書いたコードと生成AIの書いたコードのどちらが「正しい」コードなのかを判別できないのだ。さらに、AIが生成するソースコードは比較的小さいものの、そのコードでやれることは多岐にわたる。こうしたコードを生成するAIを、高橋氏は「複雑で気まぐれ」と評価する。
マイクロサービス化や仮想化などの潮流も、こうした状況に拍車をかける。「自分の知らないところでさまざまなものが動いて、どこかに渡っていく」(高橋氏)ため、モジュールが増えて巨大化したソフトウェアやシステムにおいては、テストを行うシナリオケースの数も膨大になる。こうしたケースの発注コストは莫大なものになるが、高橋氏は「コストが膨らむだけならまだしも、テストが終わらないという事態に陥る可能性もある」と指摘する。

生成AIの問題点は技術的範囲にとどまらない。生成AIの台頭に合わせ、ヨーロッパを中心に個人情報の観点から法規制が進んでおり、なかでもEUで制定された「EU一般データ保護規則」(GDPR;General Data Protection Regulation)は制裁金の額が大きいという。
たとえば意思決定の自動化と個人データを自動的に取り扱うプロファイリングにおいて、個人データを基にした意思決定をAIに行わせると、何十億〜何百億規模の賠償金が課される可能性があるのだ。
システムやソフトウェアのみならず、「AI自体のテストも非常にしにくい」と語る高橋氏。AIの品質保証については、AI製品のテストとAIを利用したテストに加え、シフトレフト・シフトライトのアプローチも加わることでプロセスはより複雑化してしまう。高橋氏は「データサイエンティストがモデルを書いているときに、バグを発見できるエンジニアはほとんどいない」と語る。

開発フェーズによってテストの期待値が変わってくる可能性がある以上、「実際のユーザーデータなどを使ったテストを行い、そこで判明したバグをすぐに修正する」という形でのシフトライト戦略をとらざるを得ないのが実情だ。
会員登録無料すると、続きをお読みいただけます
この記事は参考になりましたか?
- Developers Summit 2024 セッションレポート連載記事一覧
- この記事の著者
-
中島 佑馬(ナカシマ ユウマ)
立命館大学卒業後、日刊工業新聞社にて経済記者として勤務。その後テクニカルライターを経て、2021年にフリーランスライターとして独立。Webメディアを中心に活動しており、広くビジネス領域での取材記事やニュース記事、SEO記事の作成などを行う。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
