mobile testing
appthwack

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

次の記事

キーボードのない未来に、物書きはどうなるのか?

android-happy

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などのツールを使おう。
  • ApptentiveTechStars Seattle)傘下)は、アプリのユーザに実際に接続して診断ができるツールだ。同社は、ユーザが最後にはあなたのアプリに好印象を持つよう、最善の努力をするそうだ。
  • ActionBarSherlockは、アプリが古いバージョンのAndroidにインストールされたときに、自動的にそれに合わせた動作をするように図る。新しいバージョンを必要とする機能は、シミュレーションやリプレースで代替するが、デベロッパはバージョンの違いに対応したif文を書かなくてもよい。if文は、Androidの分裂が進むに伴い、デバッグの悲惨な悪夢になっている。

企業のデベロッパは、試験を自社のニーズに応じてカスタマイズできるサービスを探すべきだ。AppThwackなどは試験のツールや戦略を推奨してくれるし、テストプラン〜試験過程のシナリオを書くのも手伝ってくれる。Testdroidも、検討の価値のあるサービスだ。

AppThwackのようなサービスは万能のソリューションではないが、開発工程の流れをかなりスムースにしてくれるだろう。少なくともあなたのアプリのユーザが、スマートフォンを川に投げ捨てることは防げるはず。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))