現場の声から生まれた国産テスト自動化ツール「ATgo」が切り開く、生成AIを駆使した次世代テスト自動化の最前線
「ATgo」は、六元素情報システム株式会社が開発したWebシステムのテスト自動化ツールだ。その多くが海外製品で占められている中、ATgoは国産製品として高い支持を集めているツールの1つである。そんなATgoは、現場の切実なニーズに応えるために開発されたという。
そこで本記事では、生成AIやテスト自動化の動向を踏まえ、ATgoの概要や開発の背景、今後のロードマップについて、同社の石 則春氏と角田 聡志氏にインタビューを行った。
セキュアな開発環境で支持される
テスト自動化ツール
ATgoは、WebアプリケーションのUIテストとAPIテストを自動化するツールだ。ローコードによるテストスクリプトの作成、テストレポートとエビデンスの自動作成、インストール不要なパッケージ型製品であることなどが、主な特徴となっている。さらに基本機能に加えて、生成AIを活用したテストステップの自動生成やDevOps・CI/CD連携など、先進的な機能も備えている。
業種を問わず幅広い企業に導入されているが、中でも金融・医療・製薬など、提供するサービスや開発環境自体に高いセキュリティが要求される業界に強い製品だという。特に金融業界の現場では、インターネットに接続できないセキュアな環境での開発が求められることが多い。多くのテスト自動化ツールがSaaSで提供されているが、ATgoはパッケージ型製品であるため、そのような現場でも制約なく使えることが支持されている理由の1つだ。
特にATgoが得意とするのは、リグレッションテスト(ソフトウェアの一部を改修した際に、他の箇所に意図しない影響が出ていないか、全体の動作を確認するテスト)とエビデンス作成の支援である。
ATgoは、独自のスクリプト言語を用いることで、柔軟性の高いテストを定義できる。加えて、レコーディング機能や生成AIにより、コードを書かずにテストステップを作成することも可能だ。さらにレコーディングや生成AIで作成したテストステップをスクリプトに変換することで、後から編集したりコマンドを追加したりできる自由度も兼ね備えている。
このように、初心者向けの使いやすさと、エンジニア向けの使い勝手を両立させているのが、ATgoの強みだと言えるだろう。こうして最初にテスト手順を定義しておけば、その後のリグレッションテストとエビデンス作成を完全に自動化できる。
「顧客の多くが、テストツールの導入は負担が大きいというイメージを持っています。そこで、より手軽に導入できるよう、レコーディング機能やスクリプト生成AI機能を提供し、導入初期のハードルを下げる仕組みを提供しています」(角田氏)
スクリプト生成AI機能のエンジンは、ネット接続が可能な開発環境ではChatGPTのAPIやAzure OpenAI Servicesを利用できる。特にAzure OpenAI Servicesは閉域ネットワークでの利用やデータ学習の禁止が可能であるため、ネット接続は許可されているがセキュリティを重視する現場で使用されている。一方、ネット接続が完全に禁止されている環境では、同社独自のAIをエンジンとして選択できる。
エビデンス作成機能では、スクリーンキャプチャとテスト結果の詳細を自動でまとめ、レポートとして出力できる。特にATgoが力を入れているのが、エビデンスの比較機能だ。リグレッションテストでは、しばしば修正前後のエビデンスの比較が行われる。ログやデータベースのダンプであれば従来の手法でも自動的に相違点を洗い出すことが可能だが、画面キャプチャの比較については目視に頼らざるを得ず、手間がかかるという課題があった。
そこでATgoは画像認識AIを搭載して、画面キャプチャについても自動的に差異点をレポートできるようにした。ATgoが作成するエビデンスは金融業界の厳しい品質基準を満たしており、出力されたレポートをそのまま顧客に提出できるのも強みだという。
「これらの機能を活用することで人的ミスを減らし、煩雑な作業を大幅に効率化できます。その結果、リグレッションテストの工数を最大で88%削減した顧客もいれば、従来の3倍のテストをこなせるようになり、より高品質な開発が可能になった顧客もいます」(角田氏)
その他、ATgoのユニークな点としては、Salesforceアプリケーションのテストにも対応していることが挙げられる。近年、業務アプリケーションにローコードプラットフォームを採用するケースが増えているが、開発生産性の向上が目的であるにもかかわらず、手作業でのテストに頼らざるを得ず、結果的に生産性を損なってしまうという場合もあった。ATgoはSalesforce対応を皮切りに、今後SAPやDynamics 365など、さまざまな業務プラットフォームにも対応する方針を示している。
さらに、ATgoはDevOpsやCI/CDにも対応している。オプションとしてコンテナ化した実行環境を提供しており、単体テストや連結テスト、エビデンス出力までの一連の流れをCI/CDパイプライン内で自動的に実行することもできる。
開発現場のリアルな課題から生まれた
テスト自動化ツール
元々、同社の主力事業は金融システム開発を中心とするSI事業だ。同社がATgoの開発に乗り出したきっかけは、金融系の開発現場における困りごとを解決するためだったという。
「金融系の開発では品質基準が非常に厳しく、頻繁にリグレッションテストが行われます。そのたびにエビデンスやレポートを作成する必要があり、多大な工数がかかっていました。こうした負担を削減するために既存のテストツールを導入しましたが、バグ修正やバージョンアップ対応が遅く、かえって作業効率が悪化してしまいました。そこで、自分たちの作業を効率化するために小さなツールを自作したのが、ATgoの原型となったのです」(石氏)
初期のATgoはエビデンス作成を自動化するためのツールだった。しかし、現場の課題を解決するために改善と機能追加を続けた結果、他のプロジェクトでも利用される、汎用的なテスト自動化ツールへと成長していった。そこで専任のチームを編成し、本格的な開発に着手したところ、社外の顧客からも「このツールを使いたい」という高い評価の声が寄せられた。こうしてATgoは2022年4月に外販を開始し、以前にも増して活発な開発が続いている。
「現在、外資系を含む各社からさまざまなテスト自動化ツールが提供されていますが、我々はツールベンダーとしては後発組です。しかし、ATgoは様々な開発現場のニーズに素早く応えることで成長してきました」(角田氏)
実際のプロダクトに
生成AIを導入するための工夫と苦労
現在、ATgoが力を入れているのはAI機能の充実だ。同社は2016年からAIの研究開発をはじめていたが、石氏によれば、当初は独自のニューラルネットワークの開発やモデルの訓練に取り組んでいたという。その後、ChatGPTに代表される生成AIが登場すると、既存のLLMを活用する方が素早く市場投入できると判断し、まずはスクリプト生成AI機能の開発に着手した。
「スクリプト生成AI機能の開発は、現場のテスターからのフィードバックがきっかけでした。レコーディング機能で以前よりも簡単になったとはいえ、依然、テスト作成に手間がかかるという声が寄せられていたのです。さらに、多くの顧客から生成AIを活用して生産性を向上させたいという要望を度々いただいていたのも理由です」(石氏)
スクリプト生成AI機能が顧客に受け入れられるかは、生成されたテストステップの品質に懸かっている。そこで、外部LLMによるスクリプト生成ではRAG(Retrieval-Augmented Generation)を活用し、生成物の精度を向上させている。このRAGは、同社のビジネスAIソリューション「BrainGo」においても基盤技術として活用されている。
一方、ATgoはネット接続ができない環境で利用されるケースが多い。その場合はエンジンとして独自AIを使用するが、ネット上のデータを参照できないという制約の下で独自AIを構築したため、学習用の品質の高いデータ収集に苦労した。
また、石氏は課題としてAI開発に携わる人材育成も挙げている。生成AIの歴史はまだ浅く、即戦力を採用するのは難しい。そこで、社内向けのAI研修、定期的なセミナーの実施、研究開発部門による社内プロジェクトへのAI導入支援などを通して、社内のAI人材育成に力を入れているという。
顧客のニーズを第一に
テスト自動化ツールとしてのさらなる進化
ATgoは、テスト自動化ツールとして、今後どのようなロードマップを描いているのだろうか。
近い将来リリースされる予定なのがセルフヒーリング機能(※編集部注:10/30にリリース。機能の詳細はこちら)で、UIなどの仕様変更があった際に、それに合わせてテストスクリプトを自動的に修正するものだ。また現在のATgoはWebアプリケーションのテストに特化しているが、今後はスマホネイティブアプリのテストにも対応していく方針とのこと。
顧客からのニーズが最も高いのは、AIによるテストケースの自動生成だという。単体テストから業務テストまで、各工程のテストパターンを手動で網羅するのは非常に工数がかかるからだ。現在の主流はソースコードを元にテストケースを生成するという手法だが、この方法では元になるソースコード自体に誤りがあると、テストケース自体の信頼性が揺らいでしまう。金融のように厳しいテスト品質が求められる業界では、この方法は使えない。そこで現在同社が挑戦しているのが、設計書に基づくテストケースの自動生成だ。
「金融系のテストケースでは、カバレッジが100%であることが求められます。お客様の立場からすれば、たとえ99%のカバレッジでも、残り1%がカバーされていなければ、結局その部分を人間が確認しなければなりません。私たちは、いかにしてテストの精度を上げるか、そして100%のカバレッジを実現できるかに挑戦しています」(石氏)
ATgoは、現場のニーズに即応することで成長を続けてきた。今後も顧客第一のツールとして、様々な技術的課題をクリアしながら進化を続けていくだろう。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- AI駆動開発とエンタープライズChatGPTが企業にもたらす可能性 〜クリエーションラインの生成AIへの挑戦
- ファインチューニングの課題を解決する「RAG」と「エンべディング」
- Visual Studio 2005 Team Systemで補うテスト駆動開発
- エンジニアの業務を効率化する生成AIによる「プログラミング支援」
- 【解決力UP】オーケストレーションが可能にする生成AIの活用法、具体例を徹底解説
- 「リグレッションテスト」でソフトウェア開発を効率的するための必須ポイント
- AIリスク管理プラットフォーム「Robust Intelligence platform」を提供する米Robust Intelligence Inc.共同創業者 大柴 行人氏インタビュー【前編】
- 【日本上陸の衝撃】OpenAI上陸で変わる日本のAIビジネスの在り方
- GPTで始まる大規模言語モデル時代
- CA Technologies、仮想化によりアプリケーション開発を支援する「CA LISA」を発表