写真1●特別賞を受賞したソニックスのScirocco Cloud(ITpro EXPO 2012展示会場でのデモの様子)
写真1●特別賞を受賞したソニックスのScirocco Cloud(ITpro EXPO 2012展示会場でのデモの様子)
[画像のクリックで拡大表示]
写真2●スクリプトを使ったテストの自動実行が可能
写真2●スクリプトを使ったテストの自動実行が可能
[画像のクリックで拡大表示]

 ソニックスが開発した「Scirocco Cloud」(シロッコクラウド)は、日経BP社が主催する「ITpro EXPO AWARD 2012」において特別賞を受賞した。Scirocco Cloudは、Androidアプリを開発する際に必要となることが多い「実機を使った動作テスト」をインターネット経由で遠隔実行できるようにするクラウドサービスである(写真1)。

 同社のサーバールーム内には、常時50台ほどのAndroid端末(スマートフォンだけでなくタブレット端末も数台ある)が稼働状態で設置されている。テストを実行したいユーザーは、Scirocco Cloud経由でこれらの端末に好きなときにアクセスし、アプリをインストールして正しく実行できるかどうかを確かめたり、エンドユーザーが実機を触るのと同じ操作でアプリの挙動を調べたりできるようになっている。シナリオ(スクリプト)を書いてテストを自動実行することも可能だ(写真2)。

 ソニックスによれば、現状ではアプリ開発者が主なユーザーだというが、アプリ開発者向けの専用サービスというわけではない。例えば、BYOD(Bring Your Own Device)によって様々なスマートフォンやタブレット端末が持ち込まれる可能性があるユーザー企業において、発注した業務アプリの動作可否や出来ばえのチェックなどを主だった端末に対して実行するといった目的でも活用できる。コンテンツプロバイダーが検証目的で利用する例なども増えてきているという。

Webブラウザー上でほぼリアルタイムに遠隔操作

写真3●HTMLベースで作られたコンソール画面(Webアプリケーション)
写真3●HTMLベースで作られたコンソール画面(Webアプリケーション)
[画像のクリックで拡大表示]

 同サービスを利用するためのコンソール画面(Webアプリケーション)はHTML5ベースで作られており、Webブラウザー内にテストに必要な各種情報をパネル形式で表示する(写真3)。パネルは、サービスの利用状況を表示するパネルや端末の画面を表示するパネル、自動実行スクリプト表示用パネル、デバッグに必要な情報の表示パネル---などが用意されている。ユーザーは、マウスを使ってこれらのパネルを自由に配置して利用できる。

 端末画面を表示するパネルには、現在遠隔操作している端末の画面がほぼリアルタイムに表示される。インターネット経由で端末の操作に関する情報をやりとりしつつ画面のデータを転送をしていることもあり、さすがにフレームレート(画面の更新頻度)は実機よりは落ちてしまうが(毎秒5フレーム前後)、動きの少ないゲーム程度までなら挙動を確かめることは十分可能なレベルである。

 実際に、スマートフォンの世界で最も有名なゲームの一つである「Angry Birds」を動かすところをデモとして見せてもらったが、アニメーション動作がコマ送り状態になるものの、端末を遠隔操作して遊ぶことは可能だった。同社サーバールーム内に置かれた端末は、Wi-Fi(無線LAN)経由でインターネットに直接アクセス可能な状態になっており、Webブラウザーのようなインターネットアクセスができないと話にならないアプリのテストも問題なく実行できる。

 Android端末の数は、国内通信事業者が販売する機種に限定しても毎年何十機種もの新しい端末が登場している。アップデート実行の有無によって、同じ端末でもOSのバージョンが異なるといったケースもよくある。すべてはもちろん無理だとしても、主要な端末を買い揃えて自前で検証環境を整えるのでさえ、実はかなり難しい。仮に購入費用の問題を考えなくてよいとしても、「すべての端末を常時テストできる状態で維持管理するのは大変」(同社)だからだ。

 「手ぶらで手軽に実機テストを遠隔実行できる」という、複数端末をサポートする必要があるアプリの開発者にとって非常に役立つサービスでありながら、1日8時間までなら何台の端末を使ってどんな複雑なテストをしても「月額1万5750円」しかかからないという点も同サービスの大きな魅力となっている。「1日1時間までで同時に触れるのは1デバイスのみ、ログの出力機能なども使えない」といった制約はあるものの、個人の開発者向けに無償サービス(Personal版)まで提供している。