モバイルアプリ開発においては、サービスをリリースする前の実機を使った動作検証は重要なプロセスです。あらゆる端末で問題なく利用できることが、ヘルプデスクの問い合わせを削減し、ユーザーの満足度を向上させます。
AWS Device Farmは、実機による自動テストが可能なAWSのサービスです。背景を整理した上で、AWS Device Farmの概要を解説します。
モバイルアプリ開発と実機テスト
モバイルアプリはチャットやSNSといったコミュニケーションツールにとどまらず、基幹系システムや業務アプリまで活用範囲が拡大しています。
したがって実機検証は、モバイルアプリの開発のプロセスとして、これまで以上に重要になりました。また、Webアプリケーションにおけるブラウザテストも検証では欠かせません。
テストおよび検証は、エミュレータやシミュレータを使うより、実機で行うことによって精度が上がります。ただしデバイスは多岐に渡り、膨大なテストを実施する必要があります。テストの品質を上げるためには、ユーザーの環境を可能な限り再現しなければならないため、管理が煩雑になります。
このようなテストと検証の迅速化と効率化のために、クラウド上でさまざまなサービスが提供されています。AWS Device Farmは、AWSが提供する実機テストのサービスです。
AWS Device Farmとは?
Android、iOS、Fire OSといったさまざまな OSの端末に対応し、モバイルアプリケーションの実機テストと検証ができます。最大 4 GBのファイル容量をサポートしています。
AWS Device Farmは、モバイルデバイスによる実機テストのほかに、デスクトップブラウザによるテストを提供します。
モバイルデバイスによる実機テスト
実機テストには、大きく分けて自動化されたテストと、リモートアクセスの2つの機能があります。
自動化されたテストでは、アプリケーションとテストスクリプトをアップロードするだけで、並行して多様なデバイスのテストを自動的に処理します。
リモートアクセスでは、Webブラウザによるリアルタイムの動作確認ができます。ジェスチャ、スワイプなどの操作を行い、ユーザーの問題を再現し、プログラムの修正に役立てることが可能です。
テストの結果はログデータのほか、スクリーンショットや動画などで確認できます。アップロードしたアプリケーションは 30 日間、ログや動画などは400 日間保存されます。コンソールやAPIを使えば、ファイルと結果はいつでも削除できます。
デスクトップブラウザによるテスト
Chrome、Firefox 、Internet Explorerといったブラウザの複数のバージョンを同時にSeleniumでテストします。
Seleniumは、実績のあるWebアプリケーションのテストを自動化するツールです。オープンソースによって提供され、操作が簡単で経験の浅いエンジニアにも使いこなせるとともに、プログラミング言語やスクリプトによって効率化を実現します。
AWS Device Farmのメリット
AWS Device Farmは、開発者や品質管理部門において新機能のチェックに活用できるだけでなく、ユーザーサポート部門に寄せられた問い合わせの動作確認にも使えます。
最大の活用メリットはモバイルアプリケーションの品質向上とテストの迅速化であり、実機検証により問題解決の精度を高められること、テスト方法の自由度が高いこと、ワークフローの統合などの優れた特長があります。
実機による迅速かつ精度の高い検証
あらゆる環境で問題なくアプリケーションを稼働させるためには、新機種のリリースに合わせて対象となる実機の種類を増やして検証しなければなりません。
AWS Device Farmには、常に最新のデバイスが追加されています。多様な端末のメモリ、CPUの使用率といったハードウェアの側面から、メーカーや通信事業者がファームウェアやソフトウェアに加えた変更まで、ユーザーと同じ環境で操作の確認が可能です。
問題点の把握は、手動の操作と自動化による処理によって行います。手動で深めた原因究明からテストを自動化して改善のサイクルを短縮、テストの効率化とコスト削減を実現します。アプリケーションの不具合の識別と分類を自動的に処理するため、結果から重要な問題に絞り込んで対策を練ることができます。
検証を行うデバイスにはWi-Fi機能が装備され、インターネットにアクセスが可能です。フロントとリアのカメラも使えます。電話をかけたりSMSを送信したり、あるいは実際にキャリアに接続することはできませんが、ネットワークシェーピング機能によって接続タイプと条件のシミュレートを提供します。
自由度の高いテストとワークフローの統合
リモートアクセスによる手動によるテスト、スクリプト作成不要のテストスイート、オープンソースによるテストフレームワークというように、目的や開発環境によってテスト方法を選択できます。Appium、Calabash、Espressoに対応しています。
開発環境の整備のために、サービスプラグインや APIを使ってAndroid Studio や Jenkins のような IDE や継続的インテグレーション環境とワークフローを統合できることもメリットです。
複数のブラウザテストの実施
ブラウザテストでは、ChromeやFirefoxなどの主要なブラウザのさまざまなバージョンで、並行して高速なテストができます。
AWS Device Farmの使い方
AWS Device Farmは4つのステップで利用できます。前提として、AWSアカウントとAWS Identity and Access Management(IAM)ユーザーであることが必要です。またOSによって、Androidの場合は.apk、iOSの場合は.ipaファイルを準備しておきます。
コンソールへのサインイン
AWS Device Farmのコンソールにサインインします。このコンソールから、テスト用プロジェクトの作成、実行、管理ができます。
テストプロジェクトの作成
テスト用プロジェクトを作成します。ナビゲーションからMobile Device Project、新規プロジェクトを選択します。その後でプロジェクト名を入力します。
テストプロジェクトの実行
自動テストページから実行に関する設定を行います。コンソールに実行するファイルをアップロードし、組み込みテストスイートまたはテストフレームワークを選択します。デバイスの状態などを設定して、テストを実行します。
AWS Device FarmのTest Framework
iOS対応はAppiumとCalabashしかありません。
Appiumのテストシナリオ:Java言語
Calabashのテストシナリオ:Ruby
テスト結果の表示
テストが完了すると、コンソール画面に結果が表示されます。テストの総数のほか、アラートや失敗した結果リスト、デバイスごとの結果リスト、デバイスによってグループ化されたスクリーンショットなどが確認できます。
AWS Device Farmの料金体系
AWS Device Farmの料金体系は原則として従量課金制です。モバイルデバイスのテストでは、対象としたデバイスごとのテストに利用した時間で算出されます。ただし、最初の 1,000 分までは無料です。無制限のテストやプライベートデバイスによるテストも選択できます。
- 初回デバイスの1000分:無料
- 0.17$/1デバイス/1分
- 無制限のテスト:250$/月(負荷テストの場合)
- 特別なデバイスは問い合わせする
おわりに
アプリケーションの品質を高めるためには、ユーザーと同じ環境でテストと検証を行い、不具合の発見と修正による改善のサイクルを早めることが大切です。
シミュレータやエミュレータでは確認できないきめ細かな検証が、実機検証によって可能になります。リモートによる実機の操作を備えているAWS Device Farmは、ユーザーサポート部門の問い合わせの確認にも活用できるツールといえるでしょう。
モバイルアプリケーションやWebアプリケーションにおける新機能の追加や不具合の解消のために、AWS Device Farmによるテストをおすすめします。
引用元:https://aws.amazon.com/jp/device-farm/
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
Lambdaを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する