

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Device Farm の概念
<a name="concepts"></a>

Device Farm は、アマゾン ウェブ サービス (AWS) によりホストされている実際の物理的な電話やタブレットで、Android や iOS、およびウェブアプリケーションをテストしてやり取りできるアプリケーションテストサービスです。

このセクションでは、Device Farm の重要な概念について説明します。
+ [AWS Device Farm でのデバイスサポートデバイス](devices.md)
+ [AWS Device Farm でのテスト環境](test-environments.md)
+ [実行](test-runs.md)
+ [アプリケーション](apps.md)
+ [AWS Device Farm でのレポートレポート](reports.md)
+ [セッション](sessions.md)

Device Farm でサポートされているテストタイプの詳細については、「[AWS Device Farm のテストフレームワークと組み込みテスト](test-types.md)」を参照してください。

# AWS Device Farm でのデバイスサポート
<a name="devices"></a>

以下のセクションでは、Device Farm でのデバイスサポート情報を伝えます。

**Topics**
+ [サポートされるデバイス](#devices-supported)
+ [デバイスプール](#devices-pools)
+ [プライベートデバイス](#devices-private)
+ [デバイスのブランディング](#devices-branding)
+ [デバイススロット](#device-slots)
+ [プリインストールされたデバイスアプリケーション](#devices-apps)
+ [デバイス機能](#devices-capabilities)

## サポートされるデバイス
<a name="devices-supported"></a>

Device Farm は、Android とiOS の人気デバイスおよびオペレーティングシステムの何百種類もの組み合わせをサポートします。利用可能デバイスのリストは、新しいデバイスが市場に参入するにつれて大きくなります。デバイスの完全なリストについては、 [AWS コンソールのインタラクティブデバイスリスト](https://us-west-2.console.aws.amazon.com/devicefarm/home?region=us-west-2#/mobile/publicdevices)を参照してください。

## デバイスプール
<a name="devices-pools"></a>

Device Farm は、デバイスをテスト用デバイスプールの中に編成します。これらのデバイスプールには、Android または iOS でのみ実行されるデバイスなど、関連するデバイスが含まれます。Device Farm は、最上位デバイス用など、精選されたデバイスプールを提供します。パブリックデバイスとプライベートデバイスを混合したデバイスプールも作成できます。

## プライベートデバイス
<a name="devices-private"></a>

プライベートデバイスでは、テストニーズに応じてハードウェアとソフトウェアの構成を細かく指定できます。ルート権限を取得した Android デバイスなどの特定構成は、プライベートデバイスとしてサポートできます。各プライベートデバイスは、Amazon データセンターで Device Farm がユーザーに代わってデプロイする物理デバイスです。プライベートデバイスは自分専用として、自動テストと手動テストの両方に使用できます。サブスクリプション終了を選択すると、ご使用の環境からハードウェアが削除されます。詳細については、「[プライベートデバイス](https://aws.amazon.com/device-farm/pricing/#privateDevices)」および「[AWS Device Farm のプライベートデバイス](working-with-private-devices.md)」を参照してください。

## デバイスのブランディング
<a name="devices-branding"></a>

Device Farm は、さまざまな OEM の物理的なモバイルデバイスとタブレットデバイスでテストを実行します。

## デバイススロット
<a name="device-slots"></a>

デバイススロットは同時実行に対応し、そこでは購入したデバイススロットの数によってテストまたはリモートアクセスセッションで実行できるデバイスの数が決まります。

デバイススロットには、次の 2 種類があります:
+ *リモートアクセスデバイススロット*はリモートアクセスセッションで同時実行できます。

  1 つのリモートアクセスデバイススロットがある場合は、一度に 1 つのリモートアクセスセッションしか実行できません。追加のリモートテストデバイススロットを購入すると、複数セッションを同時実行できます。
+ *自動テストデバイススロット*は、テストを同時実行できます。

  自動テストデバイススロットが 1 つの場合、テストは一度に 1 つのデバイスでのみ実行できます。追加の自動テストデバイススロットを購入すると、複数デバイスで複数テストを同時実行し、テスト結果を迅速に取得できます。

 デバイススロットはデバイスファミリー (自動テスト用の Android または iOS デバイス、および、リモートアクセス用の Android または iOS デバイス) に基づいて購入できます。詳細については、「[Device Farm 料金表](https://aws.amazon.com/device-farm/pricing/)」を参照してください。

## プリインストールされたデバイスアプリケーション
<a name="devices-apps"></a>

Device Farm のデバイスには、メーカーやキャリアによって既にインストールされているアプリケーションがいくつか含まれています。

## デバイス機能
<a name="devices-capabilities"></a>

すべてのデバイスにはインターネット接続があります。それらにはキャリア接続がなく、電話をかけたり SMS メッセージを送信することはできません。

前面または背面のカメラをサポートする任意のデバイスで写真を撮ることができます。デバイスのマウント方法により、写真が暗く、ぼやける場合があります。

Google Play サービスと Google Chrome は Android デバイスにインストールされます。

# AWS Device Farm でのテスト環境
<a name="test-environments"></a>

AWS Device Farm では、自動化テストの実行用にカスタムテスト環境と標準テスト環境の両方が用意されています。自動化テストを完全にコントロールするには、カスタムのテスト環境を選択します。または、Device Farm のデフォルト標準テスト環境を選択できます。このテスト環境では、自動化テストスイートの各テストが細かくレポートされます。

**Topics**
+ [標準テスト環境](#test-environments-standard)
+ [カスタムテスト環境](#custom-test-environment)

## 標準テスト環境
<a name="test-environments-standard"></a>

 標準環境でテストを実行する場合、Device Farm では、テストスイートのすべてのケースで詳細なログまたはレポートが提供されます。各テストのパフォーマンスデータ、動画、スクリーンショット、ログを表示して、アプリケーションでの問題の特定や修正ができます。

**注記**  
Device Farm は、標準環境で細かいレポートを提供するため、テスト実行時間は、ローカルでテストを実行する場合よりも長くなる場合があります。実行時間を早めるには、カスタムテスト環境でテストを実行します。

## カスタムテスト環境
<a name="custom-test-environment"></a>

テスト環境のカスタマイズにより、Device Farm が実行するコマンドを指定してテストを実行できます。これにより確実に、ローカルマシン上でテストを実行した場合と同様に、Device Farm のテストを実行できます。このモードでテストを実行して、テストのライブログおよびビデオストリーミングを有効にすることもできます。カスタマイズされたテスト環境でテストを実行する場合、各テストケースの細かいレポートは取得できません。詳細については、「[AWS Device Farm のカスタムテスト環境](custom-test-environments.md)」を参照してください。

オプションでカスタムテスト環境を使用でき、Device Farm コンソール、 AWS CLI、または Device Farm API によりテスト実行を作成できます。

詳細については、「[AWS CLIを使用したカスタムテスト仕様のアップロード](https://docs.aws.amazon.com/devicefarm/latest/developerguide/how-to-create-test-run.html#how-to-create-test-run-cli-step5)」および「[Device Farm でのテスト実行の作成](how-to-create-test-run.md)」を参照してください。

# AWS Device Farm での実行
<a name="test-runs"></a>

次のセクションには、Device Farm での実行に関する情報が含まれています。

Device Farm での実行では、特定の一連のテストで、特定の一連のデバイスで実行される、アプリケーションの特定のビルドが表されます。実行では、実行の結果に関する情報を含むレポートが作成されます。実行には、1 つ以上のジョブが含まれます。

**Topics**
+ [構成を実行する](#test-runs-configuration)
+ [ファイル保持を実行する](#test-runs-retention)
+ [デバイス状態を実行する](#test-runs-device-state)
+ [並列実行](#test-runs-parallel)
+ [実行タイムアウトの設定](#test-runs-default-timeout)
+ [実行での広告](#test-runs-ads)
+ [実行でのメディア](#test-runs-media)
+ [実行のための一般的なタスク](#test-runs-tasks)

## 構成を実行する
<a name="test-runs-configuration"></a>

実行の一部として、Device Farm が現在のデバイス設定を上書きする設定を加えられます。これには、緯度と経度の座標、追加データ (.zip ファイルに含まれる）、補助アプリ (テストするアプリの前にインストールする必要があるアプリ) が含まれます。Android では、ロケールやラジオの状態 (Bluetooth、GPS、NFC、Wi-Fi) など、いくつかの追加設定を変更できます。

## ファイル保持を実行する
<a name="test-runs-retention"></a>

Device Farm は、アプリケーションやファイルを 30 日間保存し、その後システムから削除します。ただし、ファイルはいつでも削除できます。

Device Farm は、実行結果、ログ、およびスクリーンショットを 400 日間保存し、その後システムから削除します。

## デバイス状態を実行する
<a name="test-runs-device-state"></a>

Device Farm は、次のジョブに使用可能とするため、いつでもデバイスを再起動します。

## 並列実行
<a name="test-runs-parallel"></a>

Device Farm はデバイスが使用可能になると同時にテストを実行します。

## 実行タイムアウトの設定
<a name="test-runs-default-timeout"></a>

各デバイスでテスト実行を停止するまでのテスト実行時間を設定できます。例えば、テスト完了までにデバイスあたり 20 分かかる場合、デバイスあたり 30 分のタイムアウトを選択する必要があります。

詳細については、「[AWS Device Farm におけるテスト実行の実行タイムアウトの設定](how-to-set-default-timeout-for-test-runs.md)」を参照してください。

## 実行での広告
<a name="test-runs-ads"></a>

Device Farm にアップロードする前に、アプリケーションから広告を削除することをおすすめします。実行中に広告が表示されることは保証できません。

## 実行でのメディア
<a name="test-runs-media"></a>

アプリケーションに付随するメディアやその他のデータを提供できます。追加データは、4 GB 以下のサイズの .zip ファイルで提供する必要があります。

## 実行のための一般的なタスク
<a name="test-runs-tasks"></a>

詳細については、「[Device Farm でのテスト実行の作成](how-to-create-test-run.md)」および「[AWS Device Farm でのテスト実行テスト実行](runs.md)」を参照してください。

# AWS Device Farm でのアプリケーション
<a name="apps"></a>

次のセクションには、Device Farm でのアプリケーションの動作に関する情報が含まれています。

**Topics**
+ [計測アプリケーション](#test-runs-instrumenting)
+ [実行するアプリケーションの再署名](#test-runs-app-resigning)
+ [実行での難読化アプリケーション](#test-runs-obfuscated-apps)

## 計測アプリケーション
<a name="test-runs-instrumenting"></a>

アプリケーションを計測したり、アプリケーションのソースコードを Device Farm に提供する必要はありません。Android アプリケーションは変更なしで送信できます。iOS アプリケーションは、シミュレータではなく、**iOS デバイス**ターゲットで作成する必要があります。

## 実行するアプリケーションの再署名
<a name="test-runs-app-resigning"></a>

iOS アプリケーションの場合、プロビジョニングプロファイルに Device Farm UUID を追加する必要はありません。Device Farm は、組み込みプロビジョニングプロファイルをワイルドカードプロファイルに置き換え、アプリケーションに再署名します。補助データを提供する場合、Device Farm では、Device Farm がインストールする前にそれをアプリケーションのパッケージに追加し、その補助データがアプリケーションのサンドボックスに存在するようにします。アプリケーションを再署名すると、App Group、Associated Domains、Game Center、HealthKit、HomeKit、ワイヤレスアクセサリー構成、アプリケーション内購入、アプリケーション内オーディオ、Apple Pay、プッシュ通知、VPN 構成および制御などの資格が削除されます。

Android アプリケーションの場合、Device Farm がアプリケーションに再署名します。これにより、Google Maps Android API などのアプリケーションの署名に依存する機能が破損するか、DexGuard などの製品から著作権侵害や不正使用が検出される可能性があります。

## 実行での難読化アプリケーション
<a name="test-runs-obfuscated-apps"></a>

Android アプリケーションでは、アプリケーションが難読化されている場合でも、ProGuard を使用すれば、Device Farm でテストできます。ただし、DexGuard と著作権侵害対策を併用すると、Device Farm は再署名してアプリケーションに対してテストを実行できなくなります。

# AWS Device Farm でのレポート
<a name="reports"></a>

以下のセクションでは、Device Farm テストレポートについて説明します。

**Topics**
+ [レポート保持](#reports-retention)
+ [レポート内容](#reports-components)
+ [レポートのログ](#reports-logs)
+ [レポート用の一般的タスク](#reports-tasks)

## レポート保持
<a name="reports-retention"></a>

Device Farm は 400 日間レポートを保存します。これらのレポートには、メタデータ、ログ、スクリーンショット、パフォーマンスデータが含まれます。

## レポート内容
<a name="reports-components"></a>

Device Farm のレポートには、成功および失敗情報、クラッシュレポート、テストとデバイスのログ、スクリーンショット、およびパフォーマンスデータが含まれています。

レポートには、デバイス別詳細データとハイレベル結果が含まれます (例: 特定問題の発生回数)。

## レポートのログ
<a name="reports-logs"></a>

レポートには、Android テストの完全な logcat キャプチャ、および iOS テストの完全なデバイスコンソールログが含まれます。

## レポート用の一般的タスク
<a name="reports-tasks"></a>

詳細については、「[Device Farm でのテストレポートの表示](how-to-use-reports.md)」を参照してください。

# AWS Device Farm でのセッション
<a name="sessions"></a>

Device Farm を使用して、リモートアクセスセッションを通じて Android および iOS アプリのインタラクティブなテストを実行できます。これには、ウェブブラウザでの手動操作と、ローカルクライアントからリモートデバイスに対する Appium テストの実行の両方が含まれます。開発者は、アプリまたは特定のデバイスでの Appium テストに関する問題を再現して、問題を分離して解決できます。

**Topics**
+ [リモートアクセスでサポートされるデバイス](#session-devices-supported)
+ [セッションファイルの保持](#session-files-retention)
+ [計測アプリケーション](#session-instrumenting)
+ [セッション中のアプリケーションの再署名](#session-resigning-apps)
+ [セッションでの難読化されたアプリケーション](#session-obfuscated-apps)

## リモートアクセスでサポートされるデバイス
<a name="session-devices-supported"></a>

Device Farm は、特別および一般的な、多数の Android および iOS デバイスをサポートします。利用可能デバイスのリストは、新しいデバイスが市場に参入するにつれて拡大します。Device Farm コンソールには、リモートアクセスで利用可能な Android および iOS デバイスの最新リストが表示されます。詳細については「[AWS Device Farm でのデバイスサポートデバイス](devices.md)」を参照してください。

## セッションファイルの保持
<a name="session-files-retention"></a>

Device Farm は、アプリケーションやファイルを 30 日間保存し、その後システムから削除します。ただし、お客様はいつでもファイルを削除できます。

Device Farm は、セッションログとキャプチャしたビデオを 400 日間保存し、その後システムから削除します。

## 計測アプリケーション
<a name="session-instrumenting"></a>

アプリケーションを計測したり、アプリケーションのソースコードを Device Farm に提供する必要はありません。Android および iOS のアプリケーションは変更せずに送信できます。

## セッション中のアプリケーションの再署名
<a name="session-resigning-apps"></a>

Device Farm は、Android と iOS のアプリケーションの両方に再署名します。これにより、アプリケーションの署名に依存する機能が中断する可能性があります。例えば、Android の Google マップの API は、アプリケーションの署名に依存しています。アプリケーションの再署名を行うことで、Android デバイス用の DexGuard などの製品からの著作権侵害や不正使用を検出することもできます。

## セッションでの難読化されたアプリケーション
<a name="session-obfuscated-apps"></a>

Android アプリケーションでは、アプリケーションが難読化された場合、ProGuard を使用すれば、Device Farm でテストできます。ただし、DexGuard と著作権侵害対策を併用した場合、Device Farm では、アプリケーションの再署名を行えません。