こうした開発者の悩みの解決策として注目を集めているのが、スマートデバイスの実機を使った「遠隔テスト支援サービス」である。「TaaS(Testing as a Service)」と呼ぶこともある。

 海外では2011年以前からいくつかのサービスが提供されていたが、国内で商用サービス提供が始まったのは2012年春。代表的なサービスには、アクセンチュアの「リモートテスト・サービス」、ソニックスの「Scirocco Cloud(シロッコ クラウド)」、NTTレゾナントの「Remote TestKit for Android」がある。

 このPART5では、ユーザーが500社を超える、Scirocco Cloudを中心に取り上げ、遠隔テスト支援サービスを理解するのに必要な「仕組みと注意点」「使える機種数」「使い方」「便利な点」の四つについてQA形式で解説する。

Q1.どんな仕組みなの?
A1.実機をWebブラウザーで遠隔操作

 遠隔テスト支援サービスは一般に、サービス事業者がデータセンター内に多数の端末を設置し、USBケーブルで制御サーバーと接続するという構成を取る。開発者は、手元のPCからWebブラウザーや専用クライアントソフトを介して制御サーバーにアクセスし、遠隔で端末実機を操作する(図2)。Scirocco Cloudでは、HTML5対応のWebブラウザー(公式対応はGoogle ChromeとSafariのみ)を利用する。

図2●多機種のAndroid実機を使える遠隔テスト支援サービスの仕組み
代表的なモバイル用TaaSの一つ、ソニックスのScirocco Cloudの例を示した。開発者が手元のPCからデータセンター内のAndroid実機にアクセスし、端末を遠隔操作したり自作アプリを送り込んで実行させたりできる。最新機種を含む多数の端末を時間を問わずに利用できることに加え、バッテリーの充電や利用後の初期化といった運用の手間を省略できるメリットも大きい
[画像のクリックで拡大表示]

 開発者が指の代わりにマウスを使ってWebブラウザー上で端末を操作すると、どういう操作をしたかという情報がインターネット経由で制御サーバーに送られる。これを受け取った制御サーバーは、USBで接続した端末実機をadbコマンドなどを利用して操作し(専用のエージェントソフトを端末に入れて制御するケースもある)、画面情報をWebブラウザーに返す。開発者のWebブラウザーとScirocco Cloudの間でやり取りするのは、基本的に画面描画および操作に関する情報だけ。シンクライアント環境を使っているのと同様である。

 この仕組みのため、実機テストができない項目もあることに注意したい。例えば、SIMカードの抜き差しなどハードウエアの操作がそうだ。さらに、日本Androidの会 テスト部 部長である、オープンストリームの宮田友美氏(システムインテグレーション事業部 ソリューション本部 テクニカルソリューション部 スマートデバイスチーム リーダ アーキテクト)は、「スクロールの滑らかさ、タッチしたときの反応の良さといった“微妙な使用感”も遠隔操作による確認やテスト自動化が難しい項目の一つ」と指摘する。

 なお、画面描画データを頻繁にやり取りするため、快適に遠隔操作をするにはブロードバンド接続環境が必要だ。Scirocco Cloudの場合、通信速度として6Mビット/秒以上を推奨している。社内で多数の開発者が同時に利用すると、画面が表示されなかったり、応答が遅かったりするなどの現象が起こる可能性がある。