SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート

生成AI時代のソフトウェアテストは「めんどくさい」── 高橋寿一氏が語る、これからの「シフトレフト」「シフトライト」

【15-C-4】知識ゼロから学ぶAIのテスト 信頼できないソフトウェアとそのテストのために


  • X ポスト
  • このエントリーをはてなブックマークに追加

「正しい/正しくない」では測れないAIのテスト結果

 さらに高橋氏は、AIのテストが面倒な理由として「自動化の難しさ」を挙げた。これには巨大化・複雑化するほどオラクル問題(期待値が定義できない)が顕在化するため、入力に対して出力される期待値を適切に設定しない限り自動化テストを行えないことが背景にある。

 機能そのものだけではなく、判断の難しい非機能のテストにも細かく対応する必要がある点も理由の1つだ。こうした点を踏まえ、高橋氏は「AI製品の複雑さに比べそれに対応するテスト手法は極端に少ない」と現状を口にした。

 テスト手法自体はニューロンカバレッジ(ソフトウェアやシステムを構成するニューロンが、どれだけ活性化されたかを測定する)というやり方が存在する。しかし、高橋氏は「ニューロンカバレッジが100%だったとしても、そのAIの機能が担保されているわけではない。コードカバレッジなど、他のやり方との合わせ技が必要」と説明した。

 続けて、高橋氏は境界値や同値分割、状態遷移などの機能テストにおける手法として「メタモリフィックテスト」を挙げた。これは同じ入力に対して何らかの変更があった際、変更前の出力との関係性に照らし合わせて論理的に正しいかどうかを判断する手法だ。画像にノイズを入れることでAIの誤認識を誘発することもできるため、高橋氏は「AIの台頭によって、これまでとは違った形のセキュリティも必要になる」と警鐘を鳴らした。

 生成AIを用いた自動化においては、AIが「学習データを基にアウトプットした成果物」のデータを再度学習するため、学習内容がダイナミックに更新されていく。エンジニアは学習モデルそのものはもちろん、この学習データの推移を理解する必要があるため、自動化の期待値生成が「不可能とは言わないが、かなり厳しい」(高橋氏)という。

 高橋氏はこの難しさを表す例として、混合行列のテスト標本を示した。たとえば100のケースに「猫」を入れてAIに判別させた際に「92ケースが猫で、残り8ケースは猫ではない」という結果が返ってきたとする。追加のテストとして50ケースに猫以外のデータを入れて再度判別させると、「45ケースは猫ではなく、5ケースは猫」と返された場合、この品質で製品として出荷できるかという判断は非常に難しい。

 「出力が無限であり、なおかつブレが生じる場合には、必ず開発者やデータサイエンティストが一丸となって出荷判定基準を決めなければならない」と強く主張する高橋氏。「どういうテスト結果が出るのかは事前におおよそわかるが、難しいのはその結果を『どう判断するか』だ」と、自動化の難しさの本質を説明した。

AIソフトウェアのテストは「コードを書き終わってからがスタート」

 最後に、高橋氏はAIの今後の展望について述べた。「テスト手法の体系化は欧州が積極的に研究や発信を行っており、今後進んでいく」としたうえで、「AIがAI製品をテストする日はそのうち来る。あと3~4年は来ないと思うが、AI製品を出荷する際にその3~4年をどう立ち回るかが重要な課題だ」と示す。

 今後はテスト担当者に求められるスキルはドラスティックに変化するため、データサイエンティストに近いものがテスト担当者の必須スキルとなる可能性もある。高橋氏はテスト担当者の職務についても、「品質を決める際は本当にタフな判断をしなければならないので、タフな判断を下すためのデータを集めるのが品質担当者の仕事になる」と所感を述べた。

 今後事業者はどうするべきかという点については、「シフトレフトできるものはなるべくそうしたほうがいい」としつつ、シフトライトで開発を行うAIソフトウェアの場合は、品質保証の定義を明確にしたうえで、「コードを書き終わってからがスタートであることを肝に銘じるべき」と改めて注意喚起する。

 高橋氏は、全体の予算計画やリソース配置はリリース後のテストまで含めて行うべきと助言しつつ、今後のAI製品の開発について「終わったから次のプロジェクトに行こう、という世界ではなくなるので、テストエンジニアのスキルはどんどん広がるだろう」と展望を述べて講演を締めた。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

中島 佑馬(ナカシマ ユウマ)

 立命館大学卒業後、日刊工業新聞社にて経済記者として勤務。その後テクニカルライターを経て、2021年にフリーランスライターとして独立。Webメディアを中心に活動しており、広くビジネス領域での取材記事やニュース記事、SEO記事の作成などを行う。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

川又 眞(カワマタ シン)

インタビュー、ポートレート、商品撮影写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19237 2024/10/28 11:25

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング