AIを活用したテストツール最前線。SHIFT の「AIドキュメントリバース」もご紹介

2024/10/17

生成AIの登場と、それによる開発への影響をあなたはどのように捉えていますか?

「『まだまだAIなんて』って思っていると、AIの進化を止めてしまうと思います。」

これは、SHIFTが手がけるエンジニアコミュニティ「SHIFT EVOLVE」 が開催した、トークセッション「AIなしでは語れない、テストツール最前線(AI Test Lab vol.2)」でのある登壇者の発言です。

「人がつくった要件に対して人が開発し、テストをする」という、従来は当たり前だと思っていたことが、生成AIの登場と活用の広がりとともに大きく変わりつつあるいま

「生成AIはどうテストを変えるのか」というテーマに関心のある方も多いのではないでしょうか。

今回のイベントでは、エンタープライズ領域でツールチェーンに携わる2社と、ソフトウェアテスト事業者としてお客様に伴走してきたSHIFTによるAI関連の取り組みをそれぞれ紹介。

最後に「生成AIはどうテストを変えるのか」というテーマでパネルディスカッションを実施しました。

その内容をお届けする本記事、ぜひ最後まで読んでみてくださいね。

※SHIFT EVOLVEとは?「無駄をなくしたスマートな社会の実現」を目指すSHIFTグループが主催する技術イベントグループ。 エンジニアコミュニティから技術をEVOLVEしていこう、という想いで運営し、メンバー登録者数は3,200人を超える(2024年9月時点)。他社を招いた先進的なディスカッションなど、開催予定のイベントは以下よりチェック。
https://shiftevolve.connpass.com/

  • 金山 貴泰
    株式会社野村総合研究所
    マルチクラウドインテグレーション事業本部
    aslead事業部 シニアアカウントマネージャ

    多くの企業でエンジニアとして豊富な経験を積んだ後、NRI(野村総合研究所)に入社。 現在、営業およびマーケティングを担当しており、特にSaaSの営業とasleadのマーケティングチームのリーダーを務めている。 エンジニアとしての経験を活かして、世の中の人々によりいソリューションを提供し、仕事を楽しく便利にすることに大きなやりがいを感じている。 また、マーケティング分野においてもその情熱をつづており、現在はasleadの盛り上がりに大きな期待を寄せている。

  • 片倉 俊輔
    Tricentis Japan 合同会社
    プリンシパルソリューションアーキテクト

    外資系ソリューションベンダーに入社後、IT運用管理・Agile開発管理ソリューションを担当。その後、いくつかのベンダーにて、クラウドコスト管理、コミュニケーションAPIなどを担当後にTricentisへ入社。現在は、テスト管理、テスト自動化、負荷テスト、変更影響分析などのテストソリューション全般を担当。

  • 秋葉 啓充
    株式会社SHIFT アジャイル推進部 副部長

    外資系SIerと製造業のジョイントベンチャーに入社し、システム企画・要件定義から保守・運用まで一通りを経験し、SHIFT入社。現在は、エンジニアリング・マネージャーとして自動化・RPA・ローコード・AI領域を担当。

目次

AIで変わるテスト自動化:最新ツールの多様なアプローチ by.金山 貴泰氏

野村総合研究所のaslead事業部に所属する金山氏は、普段さまざまなAIテストソリューションの導入を進めているとのことで、今回のセッションでは、ツール選定のポイントに関する知見が共有されました。

AIテストツールを選定する際には以下5つのステップが考えられ、このなかでも、最初の「ニーズとゴールの明確化」が特に重要だと金山氏は強調します。

具体的には、「テストの範囲と目的の定義」と「ニーズの優先順位づけ」が必要だということで、前者については、回帰テストや単体テストなど、どの範囲でAIを活用するのかや、AIツール導入によって何を達成したいのか(例:テスト時間の短縮、品質の向上、コスト削減)などの策定が前提になるといいます。

また後者については、必要不可欠な機能とあれば望ましい機能の区別や、スケーラビリティ、インテグレーションの容易さなどプロジェクト特有の要件(非機能要件)の整理も大事だと強調しました。

ここまで進めたうえで、第2ステップの「ツールの市場調査」を経て、第3ステップの「PoCの実施」へと進みます。

ここでは、スモールステップでの検証を意識しながら、以下スライド内の観点での実施が重要だと、金山氏は説明します。 

第4ステップとして「ROIを評価」し、導入後のパフォーマンスモニタリングやフィードバックループの確立等を進めていきます。 

「AIテストツールは製品として実際に世の中に出はじめている状況です。AI導入で大切なことは、まずは少し試してみること。気になるツールがあれば、ぜひ試してみてください」(金山氏) 

Tricentisにおけるテスト自動化へのAI活用ご紹介 by.片倉 俊輔氏 

片倉氏が所属するTricentis Japanは、テスト自動化分野でのグローバルリーダーとして、あらゆるインフラストラクチャ/アプリケーションに対してテストソリューションを提供している会社です。 

AIに関しては機械学習の機能について、2019年から製品実装を進めてきており、まずは画面認識や自己修正機能などに取り組んできたといいます。

例えば画面認識機能である「Vision AI」に関しては、上スライド左側にある画面をみて「ログイン画面だ」と認識したうえで、いままで自動化がむずかしかったCitrixやメインフレームといったレガシーアプリケーションなどの自動化を可能にするといいます。 

また、コード記載前のモックアップの画面からテスト自動化のスクリプトを作成することもできるため、ソフトウェア開発ライフサイクルのかなりはやい段階からテストを実施することができるようになっています。

さらに生成AI関連の機能としては、ビジネス要件からのテストケース生成や、テストシナリオの自動改善などの機能実装を進めています。

テストスクリプトの自動生成についても、アプリの探索やUI/動作分析などをSAP S/4HANAのUIであるSAP Fioriのなかで実施できるよう、近日中のリリースを目指して進めているとのことです。 

「最終的に目指す『自立型AI』については、まだまだステップが必要であり、いきなりできるとは思っていません。

まずは人がインタラプトしながらテストの自動化をAIで実現するというところに向けて、いろいろと検討しているところです」(片倉氏)

可視化により内部品質を上げるAIドキュメントリバース by.秋葉 啓充

SHIFTでアジャイル推進部 副部長を務める秋葉からは、SHIFTが提供するマイグレーション支援サービス「AIドキュメントリバース」について紹介がなされました。

お客様から受領するソースコードを読み込み、さまざまな形式のドキュメントを自然な日本語で生成出力するAIドキュメントリバースは、エンジニアの知見や技術力に左右されないコード解析を可能にするということで、以下の理由で選定されると秋葉は説明します。

  • 日本語に特化したドキュメント生成
  • 多様なプログラミング言語(31言語)への対応
  • プログラムをクラス図、シーケンス図などに再現
  • ソースコードの保護
  • サンプル対応が可能

なかでも秋葉イチオシの機能が、プログラムをクラス図やシーケンス図などに再現できるところです。

既存ツールや人の手では困難だった図の作成を生成AIで可能にしており、フローチャート図、CRUD図、ER図など、複雑な図形式のドキュメントも生成できるようになっています。

さらに今回のイベントでは、「AIドキュメントリバースの裏側」ということで、システム構成図も初公開されました。

VMのなかのバッチを呼び出し、Gitのレポジトリ情報を取得したうえで、アメリカ国内のAzure OpenAI Service(GPT)に投げることで帰ってくる、という流れになります。

このバッチサービスが肝になるということで、AIが嘘をつかないようにするための工夫として、Claudeシリーズを提供しているAnthropic公式記事からの抜粋を通じて、そのポイントが紹介されました。

  • AIが「わからない」といってもいい環境にする
  • 直接的にサンプルを渡して事実を根拠づける
  • 段階的な思考を検証する
  • 反復的に改善していく

「世の中にあるさまざまなプロンプトテクニックの粋を集めて組み合わせたことで、生成AIを使っての高品質なドキュメント化サービスが実現しました。他社にはなかなかないサービスだと自負しています」(秋葉)

パネルディスカッション「生成AIはどうテストを変えるのか」 

最後に、登壇者3名を交えたパネルディスカッションが展開されました。ここでは、特に印象深かったトピック・発言をピックアップしてお伝えします。

質問:テストツールに地殻変動は起こっていますか? 

金山:順調に進化しているなっていう実感は、すごく感じています。

AIが解決するところで、かつ世の中のニーズが一番高まっているところが、おそらく開発においては「テスト」なんじゃないかなっていうのは実感しています。

片倉:私も確実に起きていると感じていて、ユニットテストであったり、リバースエンジニアリングからのテストケースの特定とか、そういったところはもうすでに使われているユーザーさんも、けっこういるんじゃないかなと思っています。

ただ、例えばビジネス側の要件をテストしたくてE2Eでやっていこうというようなところ、もしくはテストが複数システムにまたがっていくようなときに、AIによる完全自動化はまだまだチャレンジングなところが多いと思っております。

秋葉:お二人の話とはむしろ逆で、私はまだ地殻変動というほどのことは起きていないかなと思っていて、これからもっと起きるかなっていうのが正直な期待値です。

SHIFTには自動化ができるエンジニアもいるのですが、何かツールを使ってうまくいかないことがあると、それをAIに直させる前に原因を自分で特定して、「これだからこけたんだ。だからこう直せば大丈夫なんだ。」ってやっちゃうんですよね。

自分の方が安定化できるノウハウをもってるしって。ただ、もう少しツールの使い勝手がよくなったら、そういうエンジニアでも仕事がなくなってしまうのかもとは感じてます。

質問:人とAIのハイブリッドなテスト実施についてどう思われますか? 

金山:まだまだ人の力って必要だよねっていうところには、たぶんみなさん違和感はないかなと思いますが、「まだまだAIなんて」って思っていると、AIの進化を止めてしまうと思います。

もっと「AIと共存していきましょうよ」というマインドで、パートナーとしてのAIという見方で、AIの成長をいっしょに見守っていくことで、その進化も助けるんじゃないかなと個人的には思っています。

片倉:私も完全に同意です。AIに完全に任せる世界にまで行き着くためには、5段階ぐらいステップがあるんじゃないかなと思っていて、いまちょうど3段階目ぐらいかなと。

AIと人がコワーキングしていくというようなところだと思っていて、この先5段階目になってくると、自動化スクリプトもAIが自動的につくりあげていく世界になるとは思いますが、まだまだ時間はかかるかなと感じています。

秋葉:AIはまだまだかなといいながらも、現在GitHubで、「SWE-Agent」というGPT-4などのLLMを利用したソフトウェアエンジニアリングエージェントというものが出てきています。

すごく簡単にいうと、GitHubにあるリポジトリをAIが理解して、どこをどう改修したらいいかとか、人間が対話したらソフトウェアアップデートできるというオープンソースのサービスになっています。イメージとしてはこんな感じですね。 

秋葉:人間はプログラムをするときに、IntelliJ IDEAやVisual Studioなどを使って開発をすると思いますが、AIからするとこんなエディターって必要ないんですよね。

AIからすると、AIが使いやすいFile ViewerやFile Editor、Code Searchの機能を渡してあげることで、飛躍的にそのリポジトリへの理解が深まるという。ここまできてるんですよね。

ほかにも、「RepoUnderstander」というRAGを使って読み込む仕組みのものも登場してきていて、リポジトリを読みとって、どんな情報が書いてあって、どういうふうに修正したらいいかなどをAIが答えてくれると。

修正までもちろんやってくれるっていうものになっています。

AIは、テストどころかソフトウェア全般に対して親和性がすごく高いので、人間をパワーアップさせてくれるっていうところはありつつ、AIはAIなりの理解がいいんだという話もあると感じています。

金山:一昔前にディープラーニングが流行ったときも、もともとは「人間と同じようなことをコンピューターにさせればうまくいく」みたいな感じではじまって、でもパワーを使ってやったらコンピューターが画像を認識した、みたいな。

それと同じように、別に人間と同じことをやらせなくても成果って出るんだなっていうのは、このLLMの界隈でもあるのかもしれないですね。

プロセスというよりは、その結果何が生まれるのかをちゃんと評価していくべきだってところは、AIに関係なく基本的なところだなと思います。

そうすることによって、AIの進化をある意味妨げないというか、AIがのびのびと進化していく環境もできて面白いのかなと思いました。

パネルディスカッションの他パートや全編をご覧になりたい方はこちら

―――さまざまなテーマでイベントを開催中のSHIFT EVOLVE。「AI Test Lab」と銘打ったシリーズは今回が2回目でした。次回以降もぜひお楽しみに。

3,000人を超えるエンジニアコミュニティ SHIFT EVOLVEをチェック

※本記事の内容および取材対象者の所属は、イベント開催当時のものです

関連コンテンツ