Androidアプリ開発の効率化は試験の自動化が鍵, クラウド上のサービスを使おう

Androidは、その分裂により、アプリケーション開発の管理が困難になっている。試験も苦労が多いが、しかし今では、あなたの作ったアプリが各社各機種のデバイスの上でどう動くか、どう見えるかを、教えてくれるクラウド上のサービスがいろいろある。
金曜日(米国時間10/5)にポートランドで行われたPIEのデモデーでプレゼンしたAppThwackのTrent Petersonによると、有効な対策は試験の自動化である。同社が提供しているクラウドサービスを利用すると、Android OSの、各バージョンと各デバイス上の実装におけるアプリの振る舞いが、数分で分かる。AppThwackには、さまざまなAndroid搭載機を試験できるラボがあるのだ。
同社のサービスの使い方は:
- 同社サイトのドラッグ&ドロップインタフェイスからアプリをセキュアにアップロードする。
- AppThwackは実物の電話機とタブレットを使ってアプリを試験し、結果を数値でまとめる。
- ユーザは、スクリーンショット、試験結果、ログ、スタックトレース、一般的な傾向などをリアルタイムで見る。
AppThwackについては、7月にSarah Perezが書いた詳しい記事があるので、それもご一読いただきたい。
今現在の現用Android機は、下の図表のように、v.2.3、次いで4.0がもっとも多い(10月1日までの2週間のGoogle Playのアクセスデータ)。
7月から今日まででAppThwackは56万3000回の試験を行い、その結果、いろんなことが分かってきた。Petersonによると、Androidアプリを作っている企業のデベロッパは、次の5点に留意すべきだ:
- コードを書いたら必ず試験をすること。ユニットテストでいちばん多く使われているJUnitを使ってもいいし、JUnit上での試験のシナリオ書いてそれを自動実行するためのオープンソースのライブラリRobotiumを使うのもよい。またAndroidとiPhoneの両プラットホームの試験ができるGorilla LogicのMonkeyTalkというツールもある。
- ユーザの手に渡る前にすべてのバグを退治することは不可能なので、ユーザがクラッシュ時にレポートを自動的に送れる
BugSenseやCrittercismなどのツールを使おう。 - Apptentive(TechStars Seattle)傘下)は、アプリのユーザに実際に接続して診断ができるツールだ。同社は、ユーザが最後にはあなたのアプリに好印象を持つよう、最善の努力をするそうだ。
- ActionBarSherlockは、アプリが古いバージョンのAndroidにインストールされたときに、自動的にそれに合わせた動作をするように図る。新しいバージョンを必要とする機能は、シミュレーションやリプレースで代替するが、デベロッパはバージョンの違いに対応したif文を書かなくてもよい。if文は、Androidの分裂が進むに伴い、デバッグの悲惨な悪夢になっている。
企業のデベロッパは、試験を自社のニーズに応じてカスタマイズできるサービスを探すべきだ。AppThwackなどは試験のツールや戦略を推奨してくれるし、テストプラン〜試験過程のシナリオを書くのも手伝ってくれる。Testdroidも、検討の価値のあるサービスだ。
AppThwackのようなサービスは万能のソリューションではないが、開発工程の流れをかなりスムースにしてくれるだろう。少なくともあなたのアプリのユーザが、スマートフォンを川に投げ捨てることは防げるはず。



