見出し画像

AIを活用した自動テストツールの現状と未来

はじめに

こんにちは。スクラムマスターの伊藤です。

将棋の藤井聡太五冠をご存知でしょうか。2022年2月現在、史上最年少の10代でタイトルを8つのうち5つ取得するなど快進撃を続けています。

将棋は運要素が無いゲーム(二人零和有限確定完全情報ゲームという呼び名があるそうです)で、AIの研究にも長年使われてきました。

よちよち歩きで始まった将棋AIですが、既に人類では歯が立たないレベルに到達するなど、AIの進歩には眼を見張るものがあります。

AIの活用は様々な分野に及んでいるのはご存知のとおりですが、ソフトウェアのテストについてもAIの活用が広がって来ています。そこで、AIを活用した自動テストツールの現状と未来について紐解いていきたいと思います。

よもやま話

藤井聡太五冠がAIで強くなったという話がありますが、AIは序盤の研究で使っているようですが、プロ棋士なら誰でも使えるので、仮にAIが無い時代でも驚異の強さを誇ったと思われます。AI超え(AIが示さない、または示すより早く最善手を指す)も多いです。

それよりも8割を超える勝率が驚異的です。プロ棋士は天才同士の戦いなので、5割後半で優秀、6割超えたらトップクラス、7割で化け物(羽生さんで7割)という世界です。

テスト自動化の課題

テスト自動化は進んでいますが、課題があります。 代表的な課題をみていきましょう。

  • そもそもコードを書いたり作成が大変
    俗に言うテストスクリプトを書く必要あります。スキルが必要ですし、本末転倒(テストが主目的なのにテストスクリプト作成が主目的になってしまう)こともあります。

  • テストケース設計は手動
    テスト実行は自動化されますが、テストケース設計自体は手動でやる必要があります。

  • NGの場合、切り分けが困難な場合がある
    手動でテスト実行をしていると、判断が付いても自動化している場合は、判断がつかなかったり、誤判定してしまうこともあります。後でエビデンスを手動で確認するということも発生します。

  • アプリ修正に合わせてメンテナンスが大変
    これが一番、困るという方が多いようです。アプリが改修されると自動テストが壊れてしまう正常に動かなくなるという事態です。
    さて、これらの課題はAIで解決できるのでしょうか?

AIのレベル

AIが万能ではないのは周知の事実ですが、AIを進化させるためにレベル分けをしていることが多いです。有名な車の自動運転についてみてみましょう。

国土交通省 自動運転のレベル分けについて

ちなみに国土交通省よりも株式会社ZMP様のサイトが分かりやすく解説されています。 https://www.zmp.co.jp/knowledge/ad_top/info/level

レベル5になれば、普段は自分で運転して疲れているときお酒を飲んだ時は自動運転で帰るという夢の世界が実現するわけですが2030年ぐらいでしょうか。

続いて将棋AIのレベル分けをみてみましょう。
実際はそんなものは無いので筆者が作成してみました。

機械学習が可能になると驚異的な進化をしました。
やはりAIはインプットや学習方法が大事だということが分かります。
そして、最初は部分的に有効になるということも分かりました。

お待たせしましたテストAIのレベル分けです。 AIを利用したテストツールを開発しているApplitools社のブログにて車と同じように定義されています。

Not Only Cars: The Six Levels of Autonomous Testing
(車だけじゃない。自動テストの6段階)

また、QATestLab社はLevels of Automation in Software Testing(ソフトウェアテストにおける自動化のレベル)を
Appvance社も5 Levels of AI Testing Autonomy(AI自動テストの5段階) を公開していますので合わせて見ていきましょう。

(クリックで拡大)

分かりやすいように簡略化していますが、アシストレベルから部分的な自動化、そして完全な自動化と自動車や将棋と同じ道を辿ることになりそうです。レベル4になると遂にテスト設計もAIがやってくれるため、生産性も劇的に上昇し、いよいよAIに仕事を奪われることになりそうですが現状はレベル3が部分的に実現出来てきたかというところです。

よもやま話

お気づきの方もいるかもしれませんが筆者の趣味は将棋とドライブです。残念ながら(?)テストは趣味ではなくて仕事です。レベル6で出てくるスカイネットは映画ターミネーターの話です。知らない人もいるかも知れないたので、念の為。

AIを活用したテスト自動化ツール

ここでは、AIを活用したテスト自動化ツールに取り組んでいる各社を紹介します。

他にもたくさんの企業があると思いますが、日本での事例があるサービスや
Global AI-Enabled Testing Tools Market Growth (Status And Outlook) 2022-2028にて紹介されたインフルエンサーから特にAIに特化していいる企業12社を挙げさせていただきました。

Autify
紹介する中では唯一の日本を拠点にしてるためサポートが日本語で受けられます。ノーコードでテストケースが作成でき並列でクロスブラウザ実行が行なえます。AIを使ったオートヒーリング(自動的にメンテナンス)をしてくれます。

mabl
日本市場でも採用事例を聞くようになったmablです。
テストケース作成支援やオートヒーリングを搭載しています。

eggplant
トップページは日本語版があります(本当にトップだけですが)。
そして丸紅情報システムズ様と提携して日本でも 世界初のAI技術による探索的テスト自動化ツールを提供しています。
https://www.marubeni-sys.com/eggplant/

Appvance.ai
こちらはAI駆動型テスト生成のリーダーを謳ってAI自動テストのレベルも公表しています。 そして、サービスのAppvance IQを日立ソリューション様が販売しております。
https://www.hitachi-solutions.co.jp/appvance_iq/

ここからは特に日本市場は狙っていないため、日本語サポートなどはありませんが高機能、独自性、機能追加のスピードが突出すべきものがあります。

Testim
メタ情報を提案してくれるスマートロケータや失敗したテストの診断も行ってくれます。
業界大手のTricentisと提携が発表されるなど注目のサービスです。

test.ai
URLが「test.ai」そして飛び込んでくる「AI First」の文字
ボットを使ってテストをして、そのボットは学習してくれるそうです。

ReTest GmbH
URLからしてドイツ企業のようです。
自動テスト作成を自動化という魅力的な言葉があります。

Apptest.ai
AppテストAIという振り切った名前ですが、その名の通り
アプリをアップロードし、テストしたい端末を選択すると
AIボットが自動的に探索的テストを実行してくれて最短30分でレポートを出してくれるそうです。素晴らしいですね。

Functionize
こちらは老舗?のサービス
AIを活用した自動化支援 ヒーリングはもちろん
英語で書かれたテストケースを変換する機能まであります。

testRigor
こちらも英語でテストケースが書けるとのことです。
日本語で書かれたテスト設計書から自動化してくれる未来も来そうです。
また、Behavior-driven test creation(行動駆動型テスト作成)というユーザーの操作から学習して自動テストを作成する機能があるそうです。

AutonomIQ
有名なSauce Labs関連企業のようですが
Test IQとDev IQというサービスがありテストだけでなくコーディングもAIにやらせようとしています。
未来のIT業界で人間は必要なのでしょうか。

Applitools
最後は、前節で紹介したテストAIのレベル分けを提唱したApplitools社
Visual AIの分野で抜きん出たものがあります。
目視でないと確認できなかったものをAIにやらせています。

オープンソース化がされていない

この分野はオープンソース化はあまりされていないようで、ほとんどが商用版になります。 また、オンプレミス版もなく、クラウド版(SaaS)となります。
これはAIのコアとなる学習情報は公開できないので必然的にSaaSとなり有償になるためと思われます。 ただ各社2週間のトライヤルや制限付きフリーアカウントを用意していますので、興味があればそちらから試すのが良さそうです。

よもやま話

今回、各テストAIのWebページを見てて思ったことはWebサイトの構成がほとんど一緒でした。 メニュー構成やレスポンシブ対応など、流行りのテンプレートがあるようですね。

おわりに

まとめとして、自動テストの課題に対してはAIは何をしてくれるのでしょうか。

  • そもそもコードを書いたり作成が大変
    操作をキャプチャしてコード生成をアシストは一般的になり、その後のメンテナンスも容易になってきました

  • テストケース設計は手動
    ここはまだまだ課題ですが、探索的テストであれば設計は不要。ボットに学習してもらったり平易な英語から自動化コードを生成してくれる機能が登場しています(日本語対応は難しそうですが期待です)

  • NGの場合、切り分けが困難な場合がある
    力を入れている分野で画像やコードを解析することで判断する機能が出てきています

  • アプリ修正に合わせてメンテナンスが大変
    AIを使ったセルフヒーリング(自己修復)は各社搭載してきています

クラウド黎明期を繰り返すか

今では当たり前となったクラウドコンピューティングの利用ですが、黎明期はAmazonが開拓したあとに乱立していましたが、MicrosoftやGoogleといった巨人が参戦し徐々に淘汰されたイメージがあります。

AIテストツールもまだまだ黎明期と言えるかも知れません。そう考えると乱立状態も納得できますし、今後、当たり前の時代が来ても不思議ではありません。

先行者がシェアを奪うのか、巨人が参戦するのか(ちなみにFacebookは自社で開発していてOSSとして公開する予定だったのですが、続報がありません)シェア争いが激化することで、より進化することがありそうです。

AIを活用したテスト自動化ツールはこれから

実際触ってみると、痒いところに手が届かなかったり、まだまだ使えないなと思える部分も多いAIを活用したテスト自動化ですが、驚異的な進化を遂げていますし、AIの進化を考えるといつブレークスルーやシンギュラリティが起きてもおかしくありません。いくつか試用してみて、使えないと切り捨てるのは時期尚早と考えます。少なくとも動向を注視することが必要かと思われます。

参考: Global AI-Enabled Testing Tools Market Growth (Status And Outlook) 2022-2028

よもやま話

ブレークスルーは技術的課題を突破する、壁を破るみたいな意味でしたが、2022年現在ブレークスルー感染という言葉が流行ってしまいました。
シンギュラリティ(Singularity:技術特異点)は声を大にして言ってみたい言葉で上位に入りそうです。


執筆者プロフィール:伊藤 慶紀
大手SIerにて業務用アプリケーションの開発に従事。ウォーターフォールは何故炎上するのか疑問を感じ、アジャイルに目覚める。一時期、休職してアメリカに語学留学。Facebookの勢いを目の当たりにしたのち、帰国後、クラウド関連のサービス・プロダクト企画・立ち上げを行う。その後、ベンチャーに転職し、個人向けアプリ・WebサービスのPM、社内システム刷新など様々なプロジェクト経験を経てSHIFTに入社。
趣味は将棋、ドライブ、ラーメン、読書、花火など

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら 
https://recruit.shiftinc.jp/career/