利用者が使うすべての端末でアプリが想定通りに動作するか。この実機テストを効率化するクラウドサービスがTaaSである。その一つ「Scirocco Cloud」を中心にTaaSの仕組みと実力を解説する。
端末アプリ開発で避けて通れないのが、スマートデバイスの実機を使ったテストである。完成前に複数の実機で問題なく動作するかどうかを検証しなければならない。
企業が特定の端末を一括で調達し、それに合わせてアプリを開発すれば済む案件を除けば、たいていこうした複数機種の実機テストが必要になる。今後、企業が社員に私物の端末の業務利用を認めるBYOD(Bring Your Own Device)が広がれば、実機テストの重要性が高まるのは必至だ。
しかし実機テストは、大きな手間を伴う。特に現在のスマートデバイス市場でシェアの約半数を占めるAndroid端末がやっかいである。性能やメモリー容量といったハードウエアスペックの違いはもちろん、OSのバージョン、画面サイズ、解像度などが異なる機種がたくさんあるからだ(図1)。現在国内で購入可能なAndroid端末だけでも200機種以上あり、過去に販売された端末を含めると優に400機種を超え、今も増え続けている。
テストのために、これらの機種を網羅的に自前で用意するのは現実的に不可能である。既に販売中止になった古い機種は入手するのが困難で、そうした機種にこそさまざまな「癖」がありテストが必要になることも多い。
こうした開発者の悩みの解決策として注目を集めているのが、スマートデバイスの実機を使った「遠隔テスト支援サービス」である。「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のみ)を利用する。
開発者が指の代わりにマウスを使ってWebブラウザー上で端末を操作すると、どういう操作をしたかという情報がインターネット経由で制御サーバーに送られる。これを受け取った制御サーバーは、USBで接続した端末実機をadbコマンドなどを利用して操作し(専用のエージェントソフトを端末に入れて制御するケースもある)、画面情報をWebブラウザーに返す。開発者のWebブラウザーとScirocco Cloudの間でやり取りするのは、基本的に画面描画および操作に関する情報だけ。シンクライアント環境を使っているのと同様である。
この仕組みのため、実機テストができない項目もあることに注意したい。例えば、SIMカードの抜き差しなどハードウエアの操作がそうだ。さらに、日本Androidの会 テスト部 部長である、オープンストリームの宮田友美氏(システムインテグレーション事業部 ソリューション本部 テクニカルソリューション部 スマートデバイスチーム リーダ アーキテクト)は、「スクロールの滑らかさ、タッチしたときの反応の良さといった“微妙な使用感”も遠隔操作による確認やテスト自動化が難しい項目の一つ」と指摘する。
なお、画面描画データを頻繁にやり取りするため、快適に遠隔操作をするにはブロードバンド接続環境が必要だ。Scirocco Cloudの場合、通信速度として6Mビット/秒以上を推奨している。社内で多数の開発者が同時に利用すると、画面が表示されなかったり、応答が遅かったりするなどの現象が起こる可能性がある。