
AWSって何の略だっけ?『Amazon Weather Service』とか?
それ天気予報じゃん!雲(クラウド)は合ってるけど!


じゃあテスト成功すると雨が降るとか?
だから天気は関係ないよ!
今日はAWSを使ったクラウドベースのモバイルテストについて解説するね

クラウドベースのモバイルテストとは
クラウドベースのモバイルテストは、物理的なデバイスやインフラを自ら用意することなく、クラウド上でモバイルアプリケーションをテストする手法です。これにより、実際のデバイスを使ってテストを実施し、アプリケーションがさまざまなOSバージョンやデバイスでどのように動作するかを迅速に確認することが可能です。
従来、テスト環境を整えるためには多数のデバイスを購入し、管理する必要がありました。しかし、異なるデバイスやOSバージョンを所持するのは、膨大なコストと時間が必要になります。クラウドベースのテストでは、必要なデバイスを必要なだけ使用でき、リソースを効率的に活用することが可能です。
モバイルテストについてより詳しく知りたい方は、こちらの記事をご覧ください。
モバイルアプリの品質を保証するためのテスト戦略
AWS Device Farmとは?
AWS Device Farmは、Amazon Web Services(AWS)が提供するクラウドベースのモバイルアプリケーションテストサービスです。エンジニアは、物理的なデバイスを所有せずとも、クラウド上で実機デバイスを使用してテストを実施できます。これにより、リアルな動作検証が可能になります。
AWS Device Farmの概要と特徴
AWS Device Farmは、実機デバイスでのテストを簡単に実行できるAWSのサービスです。エンジニアはクラウドのAWSを使用し、リモート上に用意されている実機デバイスにテストを実行できます。これによりエンジニアは、テストの精度が向上し、エミュレータやシミュレータでは発見できない問題を早期に発見できます。主な特徴として、以下が挙げられます。
- 実機でのテスト:シミュレータやエミュレータではなく、リモートで用意されている実際のデバイスでアプリをテストします。これにより、リアルなユーザー体験を再現できます。
- 自動化テストと手動テスト:Appium、Calabash、Espressoなど推奨されたフレームワークを使い、テストの自動化ができます。
また、フレームワークを使用しない場合や、独自のテストスクリプトを使用する場合は、リモートアクセスによる手動テストを実施できます。 - 多種多様なデバイスをサポート:iOS、Androidのデバイスに対応し、常に最新のデバイスやOSバージョンを利用できます。
デバイスの種類
AWS Device Farmでは、最新のiPhoneやiPadをはじめ、様々なiOSデバイスが用意されています。これにより、iOSの最新バージョンから古いバージョンまで、幅広いOSバージョンでのテストが可能になります。
- iOSデバイス:iPhone、iPadをはじめとするiOSデバイス全般。
- Androidデバイス:最新のAndroidスマートフォンやタブレット。
これにより、ターゲットデバイスに合わせたテスト環境を簡単に構築できます。
実機デバイスは一覧により確認することが可能です。一覧にない実機デバイスの追加を希望する場合は、問い合わせをする必要があります。
料金体系
AWS Device Farmの料金は、現段階では従量課金制や定額制を採用しています。どちらのプランを選択するかによって、料金が異なります。
- テストデバイス分による課金:従量制料金は「デバイス分」によって課金されます。デバイス分は、使用するデバイス数と、自動テストとリモートアクセスセッションの長さによって決まります。
- 定額制による無制限のテストとアクセス:毎月の定額プランを利用すると、無制限でテストとリモートアクセスができます。
AWS Device Farmでの実機デバイスの種類や料金体系は、変更される場合があります。
出典:Amazon公式 AWS Device Farmについて
AWSモバイルテストのメリット
AWS Device Farmを使用したモバイルテストのメリットを、以下に紹介します。
- コスト削減:実機デバイスを大量に購入する必要がなく、必要なときに必要な分だけ利用できます。これにより、デバイス購入費用や維持管理費を削減できます。
- テスト時間の短縮:テスト環境を構築する必要がないため、テストの時間を短縮できます。また、自動化テストを活用したり、同時に複数デバイスでテストを実行したりすることで、全体のテスト時間の短縮が期待できます。
- スケーラビリティ:テストの規模、複雑さ、期間、ニーズに応じて、実機デバイス数やテスト実行数を調整できます。必要なリソースを状況に応じて増減できるため、負荷が高い時期でも柔軟に対応できます。
- 実機デバイスでのテスト:シミュレータやエミュレータではなく、実際デバイスでテストができるため、アプリの動作をリアルに再現できます。これにより、バグやパフォーマンス問題をより早く発見、修正できます。
AWS Device Farmは、このようにモバイルアプリのテストにおいて、多くのメリットがあり、品質向上に大きく貢献します。
AWSモバイルテスト導入のステップ
AWS Device Farmを利用したモバイルテストはどのように実施するのでしょうか。以下に、AWS Device Farmで自動化テストを導入した際のステップを紹介します。
- AWSアカウントの作成:AWS公式サイトでアカウントを作成し、AWSコンソールにログインします。
- コンソールにサインイン:Device Farmコンソールへサインインします。このコンソール画面から、テスト用プロジェクトの作成、実行、管理ができます。
- プロジェクトの作成:プロジェクトを作成します。コンソールより [Mobile Device Testing]を選択、プロジェクト名を入力し、作成します。
- プロジェクトの設定と実行:新しく作成したプロジェクトの「自動テスト」ページで、テストプロジェクトを設定します。テストスクリプトをコンソールにアップロードし、デバイス状態を設定、テストを実行します。Device Farmはデバイスが利用可能になると、通常時は数分以内に、実行が開始されます。
- 実行結果の表示:テストが完了すると、コンソール画面で結果が表示されます。結果ごとのテストの合計数、アラートや失敗があるテストのリスト、デバイスごとのテスト結果リスト等が表示されます。
- 結果の分析と改善:テスト結果を分析し、発見されたバグや問題点を修正します。その後、再テストを実施し修正内容を確認します。
出典:Amazon公式 AWS Device Farm開発者ガイド
AWSモバイルテストのコストと時間削減
AWS Device Farmを導入することで、コストと時間の大幅な削減が期待できます。具体的には、以下の効果が挙げられます。
コスト削減
- デバイス購入コストの削減:実際のデバイスを一から購入し、管理する手間がなくなるため、設備投資を大幅に抑えられます。
- テスト環境構築コストの削減:テスト環境を構築するためのソフトウェアやインフラの費用が不要になります。
- 保守管理の削減:デバイスの管理、更新、故障時の対応といった、インフラやソフトウェアの管理や維持にかかるコストを削減できます。
時間削減
- テスト自動化や複数デバイスによる時間の短縮:テスト自動化により、テストサイクルを短縮できます。また、複数デバイスに対して実行できるため、全体のテストスピードを向上させます。
- テスト環境の準備時間の短縮:テスト環境のセットアップに要する時間が短縮され、テストサイクルを加速できます。
- バグ発見・修正時間の短縮:実機でのテストにより、早期にバグを発見できるため、その分早期に修正できます。
このように、AWS Device Farmによりコストと時間の短縮に大幅に貢献することが期待できます。
まとめ
クラウドベースのテスト環境は、従来の物理的なテスト環境に比べて、柔軟にテスト環境を提供することが可能となります。AWS Device Farmを活用することで、モバイルアプリのテストプロセスを効率化し、モバイルアプリの品質向上と開発サイクルの短縮が期待できます。
株式会社GENZでは、ソフトウェアテストを中心にITに関するお困りごとに幅広く対応しております。お問い合わせの段階では、プロジェクトの詳細やスケジュール・仕様が確定していなくても、解決したい課題にあったテスト内容を一緒に考えさせていただきます。
社内でテストを計画、実施することが困難な場合に、少ないリソースでテストが行えるのもGENZの強みです。