Device Farmとは何か、クラウドサービスと実機器

著者: IT Sectr 公開日: 2026-04-11 読了時間: 9 分

Device Farm は、自動および手動アプリケーションテストのために数百の実機器モバイルデバイスへのリモートアクセスを提供するクラウドサービスです。開発者はAPKまたはIPAをアップロードし、デバイス構成を選択し、実機器を購入せずに並列にテストを実行します。Perfecto, 2025のレポートによると、Device Farmを使用するチームは、ローカルのデバイスファームと比較してリグレッションテスト時間を73%縮短します。

まとめ

  • Device Farm は、サブスクリプションで利用可能な実機器モバイルデバイスのクラウドファームです
  • 並列実行 で複数のデバイスでのテスト時間を日から時間に縮短できます
  • AWS Device Farm、BrowserStack、Firebase Test Labが三大プロバイダーです
  • クロスブラウザテスト はエミュレーターおよびシミュレーターでサポートされています
  • CI/CD連携 により、コミットごとにDevice Farmで自動テストを実行できます

Device Farmとは

Device Farm は、インターネットを通じて実機器および仮想デバイスへのリモートアクセスを提供する、モバイルアプリケーションテストのためのインフラ解決策です。自分のデバイスラボを購入して維持するのとは異なり、開発者は第三者のデバイスの時間をレンタルし、実際の使用量に対してのみ支払います。

Device Farmが必要な理由

モバイルデバイス市場には、OpenSignal, 2025により24,000種類以上の独自のAndroidスマートフォンモデルがあります。テスト用にすべての人気モデルを実機を購入するのは不可能です—数百万ドルの投資と経常なフリート更新が必要になります。Device Farmはサブスクリプションで現在のデバイスへのアクセスを提供することで、この問題を解決します。

実機器とエミュレーターの比較

エミュレーターおよびシミュレーターでは、テストシナリオのうち60–70%しかカバーできません。センサー、カメラ、GPS、バッテリー残量、弱いハードウェアでのパフォーマンス、着信時の動作をテストするには、実機器が必要です。Device Farmは両方のアプローチを組み合わせています:簡単なスモークテストにはエミュレーターを、完全な検証には実機器を使用します。

Device Farmが適している人

Device Farmは、初めてのアプリをリリースするスタートアップ、定期的なリリースを行う成熟プロダクトチーム、および数十のアプリを持つエンタープライズプロジェクトに適しています。ターゲットデバイスの数とリリース頻度が増えるほど、価値が高まります—テストすべき構成が多くなるほど、クラウドモデルがより効果的になります。

Device Farmの仕組み

Device Farmの標準的なワークフローは、5つのステッジで構成されます:ビルドのアップロード、デバイスの選択、テストの構成、実行、結果の分析。各ステッジはAPIを通じて自動化され、Devices Farmを手動不要でCI/CDパイプラインに組み込むことができます。

アプリケーションのアップロード

開発者は、コンパイルされたAPK (Android)、AABまたはIPA (iOS)をプロバイダーのクラウドストレージにアップロードします。Firebase Test Labなどいくつかのサービスは、XcodeやAndroid Studioプロジェクトを直接受け付けます。ファイルサイズは制限があります:AWS Device Farmは200MBまで、BrowserStackは500MBまでサポートしています。

構成の選択

ターゲットモデルおよびOSバージョンは、デバイスカタログから選択されます。現代のDevice Farmsはグルーピングをサポートしています:「2024–2025年のフラッグシップ全て」や「Android 13–14を搭載したコストパフォーマンスAndroid」など。並列実行により、このテストを10–50のデバイスで同時に実行でき、総時間を数分に縮短できます。

実行とモニタリング

テストは、プロバイダーのデータセンターで実機器によって実行されます。開発者はリアルタイムのウェブコンソールを通じて進行状況を監視します:ログ、スクリーンショット、テスト実行動画が確認できます。テストが失敗すると、Device Farmがスクリーンショットを取得し、クラッシュログを収集してダイアグノースに使用します。

groovy
// JenkinsfileでのDevice Farm設定の例
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh './gradlew assembleDebug'
            }
        }
        stage('Device Farm Tests') {
            steps {
                sh '''aws device-farm schedule-run
                    --project-arn arn:aws:devicefarm:us-west-2:123:project:1
                    --app-arn arn:aws:devicefarm:us-west-2:123:app:1
                    --device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
                    --test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
            }
        }
    }
}

Device Farmの主な機能

現代のDevice Farmsは、テスト実行だけでなく、ダイアグノース、パフォーマンス監視、他の開発サービスとの連携のためのサポートツールも提供しています。機能セットはプロバイダーによって異なりますが、コアは共通しています。

自動テスト

主要なフレームワークはすべてサポートされています:AndroidにEspressoとUI Automator、iOSにXCTestとXCUITest、クロスプラットフォームプロジェクトにAppiumとCalabash。Device Farmはコードを変更せずにテストを実行します—構成時にテストフレームワークを指定するだけです。

手動インタラクティブテスト

開発者は、ブラウザを通じて実機器にリモートアクセスできます:タッチ、スワイプ、画面回転、ボタン押下—すべての動作がリアルタイムで伝送されます。インタラクティブモードは、自動テストでカバーできないれなばバグを再現するのに不可欠です。AWS Device Farmは、追加料金なしで60分までの手動セッションを提供しています。

ダイアグノースデータの収集

各実行後、Device Farmはレポートを生成します:テストの動画記録、ステップごとのスクリーンショット、デバイスログ (Androidはlogcat、iOSはsyslog)、パフォーマンスデータ (CPU、メモリ、ネットワーク)、クラッシュスタック。このデータは、ローカルデバイスで再現せずに問題を特定するのに役立ちます。

CI/CD連携

主要なDevice Farmsはすべて、Jenkins、GitLab CI、GitHub Actions、CircleCI用のプラグインを提供しています。ウェブフック通知で、Slack、Telegram、メールでチームにテスト結果を通知します。CI/CD連携の設定は、コンティニュアスデリバリーを実践するチームの標準的な実践です。

機能AWS Device FarmBrowserStackFirebase Test Lab
実機器
エミュレーター
手動テストなし
バグ特定動画 + ログ動画 + ログログのみ
無料制限1000分/月60分トライアルFirebaseのテストは無料

Device Farm市場は、主に3つのカテゴリで表されます:一般目的クラウドプロバイダー (AWS)、専門テストサービス (BrowserStack)、プラットフォームエコシステムツール (Firebase)。選択は、技術スタックとチームの予算に依存します。

AWS Device Farm

Amazon Web Servicesエコシステムと統合されています。既にホスティングやCI/CDにAWSを使用している開発者は、単一の契約でCodePipelineやCodeBuildとスムーズに統合できます。AWS Device Farmは、実機器およびエミュレーターでAndroid、iOS、ウェブアプリケーションのテストをサポートしています。

BrowserStack App Automate

3,000台以上の実機器を備えた最大の独立系プロバイダーです。BrowserStackは、操作性の良いウェブインターフェイス、速やかなデバイス提供 (10–15秒)、複雑な構成なしでAppiumをサポートすることで知られています。新モデルがリリースされてから周間で、自動的にデバイスを更新します。

Firebase Test Lab

Googleが提供する、Androidアプリ用の無料サービスで、iOSテストは制限的にサポートしています。Firebase Test Labは、スタートアップに特に魅力的です:サブスクリプションなしで基本的なテストシナリオが利用可能です。Firebase ConsoleやCrashlyticsとの連携により、テスト失敗をプロダクションの実際のクラッシュに結び付けることができます。

他のプロバイダー

市場には、Samsung Remote Test Lab (Samsungデバイスへの無料アクセス)、Kobiton (オンプレミス構成を提供するエンタープライズ向け)、Perfecto (Perforceが買収、金融セクターに専化)、Sauce Labs (最も後いサービスの一つで、現在はTricentisの一部)があります。

Device Farmでのテスト実行例

AndroidアプリでFirebase Test Labとコマンドラインを連携する例を見てみましょう。Firebase Test Labはgcloud CLIを通じてテストを実行し、追加プラグインなしでどのCIパイプラインでも統合できます。この例は、3つのデバイスで最小限のスモークテスト構成を示しています。

bash
# gcloud CLIのインストールと認証
gcloud auth login
gcloud config set project my-android-app

# Firebase Test LabへのAPKアップロード
gcloud firebase test android run \
    --app app-debug.apk \
    --test app-debug-test.apk \
    --type instrumentation \
    --device model=Pixel7,version=34 \
    --device model=SamsungS23,version=33 \
    --device model=OnePlus12,version=34 \
    --timeout 30m \
    --results-bucket gs://my-app-test-results

このコマンドは2つのファイルをアップロードします:ビルド自体とEspressoインスツルメンテーションテスト用のAPKテストです。バージョンが明示的に指定されていない場合、Firebase Test Labは自動的に各モデルで利用可能な最新のOSバージョンを選択します。結果は、ブラウザで表示するためにXMLおよびHTML形式でGoogle Cloud Storageに保存されます。

GitHub Actionsとの連携

プッシュごとに自動実行するには、GitHub Actionsを使用します。ワークフローがアプリをビルドし、Firebase Test Labを実行し、チェック状況を戻します。

yaml
name: Android CI with Device Farm
on: [push]
jobs:
  test-on-devices:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: 17
      - run: ./gradlew assembleDebug assembleDebugAndroidTest
      - uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GCP_SA_KEY }}
      - run: gcloud firebase test android run
          --app app/build/outputs/apk/debug/app-debug.apk
          --test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
          --device model=Pixel8,version=35

Device Farmの価格モデル

Device Farmのコストは、いくつかのパラメーターに依存します:並列セッション数、デバイスタイプ (実機器またはエミュレーター)、テスト期間、追加機能。スケーリング時に予期せぬ費用を避けるために、プロバイダーを選ぶ前にコスト構造を理解することが重要です。

テスト分

大多数のプロバイダーは、実際のデバイス使用時間に対して料金を課金します。実機器は、エミュレーターより2–5倍のコストがかかります。AWS Device Farmは新規アカウントに対して月刀1000分の無料を提供し、BrowserStackは60分のトライアル期間を提供しています。実機器Androidデバイスの1分あたりの平均コストは$0.05–0.17です。

チームサブスクリプション

定期的なテストには、固定サブスクリプションがより効果的です。BrowserStackは、実機器で無制限の分を提供するTeamプランをユーザー3人で$299/月で提供しています。AWS Device Farmに固定サブスクリプションはありません—分ごとの支払いで、非常時的なワークロードには便利ですが、濃密な使用には高くつきます。

隠れたコスト

予算を立てる際は、次のことを考慮してください:テストアーティファクト (動画、スクリーンショット、ログ) の保管 — AWS Device Farmは追加料金なしで90日間結果を保管、BrowserStackは30日間;大きなAPK/IPAファイルをアップロードする際のネットワークトラフィック並列セッション数 — 並列度を上げるには、より高価なプランが必要になる可能性があります。

よくある質問

Device Farmは普通のエミュレーターと何が違いますか?

エミュレーターは、あなたのコンピューター上でプログラムによってデバイスをシミュレートしますが、Device Farmは原軽ファームウェア、プロセッサー、センサーを備えた実機器へのアクセスを提供します。実機器でのみ、カメラ、GPS、ケース温度、キャリアネットワークとの相互作用をテストできます。

Device FarmをiOSアプリに使うことはできますか?

はい、主要なプロバイダーはすべてiOSをサポートしています。テストには、デベロップメント証明書でビルドされたIPAファイルが必要です。BrowserStackとAWS Device Farmは実機器のiPhoneやiPadを提供し、Firebase Test LabはデータセンターでmacOSシミュレーターを通じてiOSをサポートしています。

Device FarmはJenkinsとどう連携しますか?

Jenkinsはプラグイン (例えばAWS Device Farm Plugin) またはビルドステージで実行されるCLIコマンドを通じて連携します。プラグインは自動的にビルドアーティファクトをアップロードし、選択したデバイスでテストを実行し、結果をJenkinsパイプラインに戻します。

スタートアップはどのDevice Farmを選べばいいですか?

スタートアップには、Firebase Test Labが最適です—基本機能は無料で、Android Studioとの統合がアウトオブザボックスで動作します。iOSプロジェクトには、BrowserStackが60分の無料テストを提供しています。チームが成長するにつれて、完全なデバイスを備えた有料サブスクリプションに移行します。

Device Farmにアプリをアップロードするのは安全ですか?

主要なプロバイダーはSOC 2認証を守り、データを送信時および保管時に暗号化しています。AWS Device FarmはアイソレートされたAWSアカウント内で動作し、BrowserStackはセッションごとに一回限りのデバイスを使用します。機密データ (APIキー) は、ビルド構成に外部化することをお勧めします。

まとめ

  • Device Farmは、実機器ラボを代替する、実機器でのテストのためのクラウドインフラです
  • 並列実行で数十のデバイスでのリグレッションテスト時間を日から1–2時間に縮短できます
  • AWS Device Farm、BrowserStack、Firebase Test Labは、異なる価格モデルを持つ三大プロバイダーです
  • センサー、パフォーマンス、OSとの相互作用をテストするには実機器が必要です
  • Jenkins、GitHub Actions、GitLab CIとのCI/CD連携により、コミットごとに自動テストが可能です
  • プロバイダーの選択は技術スタックに依存します:FirebaseはAndroidに便利、BrowserStackはクロスプラットフォームプロジェクトに、AWSはAmazonエコシステムのチームに適しています
  • お勧め:AndroidはFirebase Test Lab、iOSはBrowserStackから始め、チームが成長したらAWS Device Farmにスケールしてください

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください