テスト自動化
2023年8月に開催されたCEDECにおけるAI・自動化関連の講演まとめ
アプリのUIテストは、項目によっては繰り返し実行する必要もあり人手と手間がかかります。そうしたなかで負担軽減を目的としてテスト自動化に取り組む企業が増えており、多くの関連ツールが市場に展開されている状況です。
この記事では、テスト自動化に使われるツールの一つである「Airtest」についてご紹介します。自動化ツール選びに迷っている方は、この記事を参考にしていただければ幸いです。
Airtestとは中国のNetEase社が提供する、ゲームの自動テスト用ツールです。画像認識やアプリのメタ情報をもとに自動テストを実行する機能を備えています。
AirtestはAndroid・iOS・Webなど、さまざまなプラットフォームで利用が可能です。Airtestを利用することで、ゲーム本体を構成するコードが分からなくても、直感的な操作で自動テストのスクリプトを作成できます。
Airtestには、複数のフレームワークやツールが含まれています。Airtestを使うためには、これらの要素について理解しておくことが必要です。以下、それぞれの要素について1つずつみていきましょう。
Airtest IDEは、自動テストのスクリプト作成と実行をスムーズに進めるのに使うAirtest専用の統合開発環境です。Airtest IDEはスクリプト作成用のスクリプトエディタと、接続した端末※に対するスクリプト実行や結果を分かりやすく表示する機能を搭載しています。
Airtest IDEを使うことで、認識した画像を使いGUI操作で自動テスト用のコードを作成することも可能です。IDE上ではコードの引数部分にアプリ画像のプレビューが表示されるようになっています。
※Airtestではテスト対象の端末をUSBなどで接続し、スクリプトの作成や実行を行います。
PocoはNetEase社が提供する、ゲーム開発プラットフォームでのUI周りのテストフレームワークです。Pocoを使うことで、アプリ内のメタ情報を活用してテストを実装できます。
一般的に画像認識をベースとする自動テストでは、UIのデザインが少しでも変更されるとスクリプトが正常に動作しなくなってしまいます。しかしPocoを使うことでメタ情報に基づく実装が可能となることから、デザインの変更だけでスクリプトが壊れてしまうことはありません。
AirLabは、Airtestによる自動テスト用のクラウド環境を提供する有償サービスです。AirLabでは、テストの結果をまとめたレポートを提供します。このレポートにより、CPUやフレームレートなどのパフォーマンスをはじめ、様々な情報の可視化が可能です。
ローカルでテスト環境を用意できない場合は、AirLabが役立ちます。AirLabの詳細については、以下公式サイトで確認下さい。
https://airlab.163.com/
Airtestは、ゲームアプリの自動テストを行うのに適したツールです。ここでは、Airtestを検討する上で、把握しておきたい主な特徴を紹介します。
Airtestは実際のアプリ画面を見ながら、マウス操作だけで自動テスト用のスクリプトを作成したり実行したりする機能を備えています。そのためプログラムに関する深い知識がない非エンジニアでも、自動テストのスクリプト作成や実行が可能です。
自動テストの運用では、仮にアプリの機能に変更はなくても、UIの変更が生じることで動作しなくなってしまうことが少なくありません。UIに少しの変更が生じるたびに、メンテナンスが必要となることもあります。その結果、メンテナンスの負荷が大きくなり、最終的には自動テストの運用が停止されてしまうことも多いのです。
一方でPocoでは、アプリのメタ情報を基に自動テストを作成できます。この場合、オブジェクトさえ変更されなければ、UIの変更が生じたとしてもスクリプトを作成するPCが壊れてしまうことはありません。この特徴によりメンテナンスの負担を軽減できる点は、Pocoを使う大きなメリットです。
アプリのなかには、Pocoに対応していない種類もあります。これによりAirtestで、メタ情報に基づく自動テストの作成ができなくなることがある点は注意が必要です。
自動テストを導入する際は、いかに手間をかけず運用できるかも重要なポイントです。Airtestを使うことで、シンプルな操作でスクリプトを作成したり実行したりできます。ここでは実際にどのような流れで、スクリプトの作成や実行が行われるかみていきましょう。
(1)テストを作成するPCに、テスト対象のアプリがインストールされたスマートフォンを接続する
(2)Airtest IDE上に接続したスマートフォンのアプリ画面が表示される。
アプリ画面をみながら、Airtest IDE搭載のスクリプトエディタにてスクリプトを作成する。
※画像認識機能により、自動テストで操作したい箇所をドラッグしてスクリプトに反映させることが可能。またアプリの構造を解析し、解析結果を活用してスクリプトに反映させることも可能です。
(1)AirtestがインストールされたPCに、テスト機となるスマートフォンを接続する。
(2)Airtest IDE上で自動テストの「再生」ボタンを押す
(3)スクリプトが実行される。実行完了後、「View Report」ボタンを押すと、レポートが生成される。
Airtestは、ゲームのテスト自動化によく使われるツールです。Airtestを使うことで、画像認識やアプリのメタ情報をもとに、マウス操作だけで直感的に自動テストのスクリプトを作成できます。
Airtestを使うにあたって、必ずしもプログラミングに関する深い知識は必要ありません。プログラミングをしたことがない非エンジニアでも、Airtestを利用することで自動テストの運用が可能です。
テスト自動化
2023年8月に開催されたCEDECにおけるAI・自動化関連の講演まとめ
テスト自動化
【テスト自動化ツール】mablとは?概要や特徴、使い方を分かりやすく解説
イベント・セミナー
【QA Tech Nightレポート】ゲーム開発・テスト・運用へのAI・ボットの活用 ~マイクロソフトのゲーム開発スタジオの事例~
テスト自動化
【テスト自動化ツール】Autify(オーティファイ)とは?特徴やプラン、使い方を解説
テスト自動化
【テスト自動化ツール】MagicPodとは?特徴と使い方をわかりやすく解説
テスト自動化
Selenium(セレニウム)とは?特徴や種類、利用上の注意点をわかりやすく解説