Quantcast
Channel: Amazon Web Services ブログ
Viewing all articles
Browse latest Browse all 446

【AWS発表】AWS Device Farm – モバイルアプリの実機テスト

$
0
0

"write once, test everywhere"(一度書けば何処でもテストできる)というフレーズはもともと他のテクノロジーについて語るために作られましたが、このフレーズはモバイルアプリにも当てはまるのではないでしょうか。キャリア、メーカー、モデル、オペレーションシステム(バージョン、パッチ、独自の拡張機能を含む)、画面サイズ、入力デバイス、接続オプション、デバイスの設定、アクセス許可の設定といった幅広いバリエーションを組み合わせると、無限のテストケースを作る必要があるでしょう。加えて、デバイスの位置やユーザが選択した言語/地域なども考慮してみると面白いかもしれません。人気のアプリともなればリリースサイクルは短くなり(毎日かもしれません)、そのテストは高額で複雑でイライラするような内容になることでしょう。その結果、多くのアプリ開発者は包括的なテストを諦めるか、利用可能なデバイスのサブセットだけにマーケットを絞ることになるでしょう。

 

新しい AWS Device Farm

本日、AWS Device Farmという新しいサービスをご紹介します。このサービスは、 Android、Fire OS の数多くのユニークな環境(デバイスとオペレーティングシステムの組み合わせ)において、迅速かつ安全にテストを実施することでアプリの品質向上に役立てることができます。

アプリをアップロードし、テストを実施したいデバイスを選択し、お好みのテストを使って開始するだけです。テストが完了するとリアルタイムにレポートを取得でき、アプリの問題を迅速に解決することができます。

 

Device Farm を使う

それでは Device Farm を使ってみましょう。テストを実施するにあたり IMDB Movie Appを使います。まずは、新しいプロジェクトを作成します。

 テストの準備ができたら、新しい Run を作成するだけです。Run はアプリ、テスト、デバイスを紐付けます。すでにアプリをアップロードしていれば、ここから始めることができます。そうでなければ、 Upload ボタンをクリックして APK ファイルを指定するだけです。

 もし、ひとつ以上のアプリを含むようなパッケージであれば、そのうちテストしたいものを選択します。(Minimum SDK の項目はこのバイナリが SDK 14 以上で動くことを示しており、このアプリがどのデバイスと互換性があるのかを判断するために使われます):

次に、テスト内容を設定します。ビルトインの Fuzz テストを選択できます。もしくは、AppiumCalabashuiautomatorのためのテストスクリプトも選択できます。また、JUnitRobotiumEspressoを使った Instrumentation テストも実行できます。今回は、Calabash のテストスクリプトをアップロードしてテストを実施します:

これで、テストを実施したいデバイスを選択できるようになります。AWS Device Farm は、アプリ互換性をチェックして互換性のある全てのデバイスを個別に選択することもできますし、もしくは、テストしたいデバイスを事前に選択し作成したデバイスプールを利用することもできます。今回は、前述の方法で進めます:

次に、拡張データの追加、他アプリのインストール、電波状況の選択、位置情報、言語/地域の選択など、デバイスの状態を管理できます:

そして、ここまで準備してきた内容を確認します:

「Confirm and start run」をクリックするとすぐにテストが始まります。(デバイスが利用可能かどうかによりますが一般的には数秒程度です)コンソール画面にはデバイスごとにテスト状況が表示されます:

テストが進行すると画面が更新されていきます。今回実施している Run はいくつかの問題(failure と warning)を示唆しています。AWS Device Farmでは表示を簡略化するためにテスト結果をグループ化して表示します:

ここでは、個々の問題を掘り下げ調査できます:

テストにおいてキャプチャされたスクリーンショットを確認できます:

 また、テストの過程におけるパフォーマンス(CPU、メモリ利用、スレッド数)を調査することもできます:

テストにおいて生成されたファイルを確認できます:

もちろん問題を調査、把握、修正して、もう一度テストを作成し実施することもできます。

また、上記のステップの一部もしくは全てを自動化するオプションもあります! プロジェクトの作成、デバイスプールの作成、ファイルのアップロード、そして、デバイス/プロジェクト/ジョブ(テスト結果を含む)についての情報取得などなど、各種機能はDevice Farm API から実行できます。そして、ScheduleRun を一度コールさえすれば、テストの実施をスケジューリングできるということは非常に重要です。また、Jenkinsのプラグインを提供し、その他のCI(Continuous Integration)システムと連携することを計画しています。

 

いますぐ利用

AWS Device Farmは本日から利用可能で、すぐにアプリのテストを始めることができます。(詳しくは AWS Device Farm Developer Guideを参照してください)

料金は device minutes 単位で課金されます。つまり、あるデバイス上でひとつのテストを実行した時間(分)によって決まります。250 device minutes の無料枠があります。その後の料金は、device minutes あたり $0.17 です。また非従量課金のプランも用意しており、サポートされる Android もしくは Fire OS デバイスで 1ヶ月 1デバイスあたり $250 の一定料金でご利用いただけます。

 

— Jeff(翻訳は 清水が担当しました。原文: AWS Device Farm – Test Mobile Apps on Real Devices

 


Viewing all articles
Browse latest Browse all 446

Trending Articles