GPSエミュレータ は、選択した位置データをアプリまたはデバイスに提供するソフトウェアまたはテスト環境です。 開発者と QA チームは、これを使用して、すべての場所に移動することなく、マップ、ジオフェンス、配送ゾーン、ルート、許可状態をテストします。
ピンの移動は簡単です。 便利なテストでは、位置がいつ変更されるか、アプリにどのような権限が与えられるか、およびどのような結果が続くかを制御することもできます。 1 つのツールは座標のみを設定できます。 別の人は、タイミングと速度を指定してルートを再生するかもしれません。
GPSエミュレータ とは何ですか?
モバイル テストでは、GPS 無線自体を模倣する必要はほとんどありません。 アプリに既知の位置情報の更新を提供し、応答を観察する必要があります。 多くの場合、入力は緯度と経度から始まります。 旅行を伴うテストでは、高度、精度、速度、方向、および経時的な一連の点も必要になる場合があります。
その入力は、モバイル エミュレーター、模擬位置情報アプリ、テスト API、またはリモート デバイス プラットフォームから取得できます。 実装は変わりますが、テスト作業は変わりません。
GPSエミュレータ は、特定の Android アプリの名前でもあります。 このページでは、個別の製品ではなく、より広範な技術カテゴリについて説明します。
電話機は、衛星、Wi-Fi、携帯電話、その他の入力を組み合わせることができます。 GPSエミュレータ は依然として一般的な検索用語ですが、多くの場合、シミュレートされたデバイスの位置情報の方が正確です。
GPSエミュレータ、Androidエミュレータ、模擬位置情報アプリ
これは、チームが間違ったツールを選択することがよくある場所です。 位置情報の入力が必要だが仮想デバイス全体をセットアップするか、疑似位置情報アプリが失敗層である場合にエミュレーターのせいにする。
| 用語 | それは何ですか | どこで実行されるか | 主な役割 |
|---|---|---|---|
| GPSエミュレータ | シミュレートされた位置データを提供するツールまたは機能 | エミュレーター、デバイス、テスト フレームワーク、またはデバイス クラウド | 位置認識動作をテストする |
| Androidエミュレータ | 仮想Androidデバイスを実行するソフトウェア | コンピューターまたはホスト環境 | Android アプリの開発とテスト |
| 疑似位置情報アプリ | テスト用のデバイス位置情報ソースとして選択された Android アプリ | 物理または仮想 Android デバイス | テストの座標または動きを提供する |
Androidエミュレータ には位置制御が含まれる場合がありますが、Android、ストレージ、画面、アプリの状態、ネットワーク アクセス、シミュレートされたハードウェアも提供されます。 テストで単に異なる座標だけでなく仮想デバイスが必要な場合に使用します。
模擬位置情報アプリの役割はさらに狭いです。 Android 開発者オプションを使用すると、ユーザーはインストールされているアプリをテスト用のロケーション ソースとして選択できます。 デバイス環境を変更しない必要がある場合は、通常、これがより簡単な選択です。
GPSエミュレータ はどのように動作しますか?
信頼性の高いロケーション テストでは、入力から結果までデータを追跡します。
- テスターはポイントまたはルートを定義します。
- このツールは、サポートされているテスト インターフェイスを通じて位置の値を送信します。
- デバイスの位置情報プロバイダーはアプリに更新を送信します。
- テスターは、結果が予想される動作と比較してチェックされます。
アプリは引き続きその許可と更新ロジックに従います。 正確なアクセス、おおよそのアクセス、フォアグラウンド更新、バックグラウンド更新、または何も受信しない場合があります。 地図上で新しいピンを確認することは、一部が機能したことを証明するだけです。
Androidエミュレータ の位置情報コントロール は、個々のポイント、保存されたルート、GPX または KML インポートをサポートしています。 障害が移動、境界の通過、更新順序に依存する場合は、ルートの再生がより適切なテストです。
物理的な Android デバイスでは、疑似位置情報アプリ設定 が開発者向けオプションで利用可能です。 Android テストプロバイダーからの位置情報は、モックデータとしてマークできます。 現在の Android バージョンでは、アプリは Location.isMock() を通じてその状態を検査できます。
Xcode テスト計画では、選択した場所または GPX ジャーニーを使用することもできます。 UI テストでは、デバイスを変更せずに、XCTest を通じてシミュレートされた場所を設定できます。
GPSエミュレータ は何をシミュレートできますか?
フィールドが増えても、自動的にテストが改善されるわけではありません。 アプリが実際に読み取るフィールドを使用します。 一般的な入力には次のものがあります。
- 緯度と経度
- 高度
- 推定精度
- スピード
- 方位とかコースとか
- タイムスタンプ
- 保存された静的ポイント
- 複数の地点から構成されるルート
- GPX または KML の再生
静的な点がどこにあるかを答えます。 ルートでは、いつ、どのような順序でテストするかもテストされます。
| 入力 | 良いテストケース | 主な制限事項 |
|---|---|---|
| 静止点 | 周辺検索、地図中心、配達エリア、地域別画面 | 動きやイベントの順序をテストしません |
| ルート再生 | ジオフェンス、旅行追跡、ナビゲーション、フィットネス アクティビティ | 準備されたデータに従い、実際の信号ノイズを見逃す可能性があります |
ルートのタイミングは重要です。 アプリは、更新の順序から距離、到着時間、または境界線の通過を計算する場合があります。
GPSエミュレータ は何に使用されますか?
場所を選択する前に、期待される結果を設定してください。 それ以外の場合、テストは明確な合格条件のない画面を巡ることになります。
- 地図と近くの検索: 地図の中心が正しく配置されているか、選択した地点に近くの店舗、ドライバー、サービスが表示されているかどうかを確認します。
- ジオフェンスと配送ゾーン: 境界の内側、外側、および直接の位置をテストします。 ルート再生では、入場イベントと退場イベントも確認できます。
- 旅行と移動: 徒歩または車のルートを再現して、距離、進行状況、到着予定時刻、イベントの順序を確認します。
- 位置情報の許可: 正確な状態、おおよその状態、拒否された状態、およびバックグラウンド制限された状態を比較します。 有効な座標は、それを受信する権限がないアプリには役に立ちません。
- 地域ごとの製品の動作: 位置を認識するコンテンツ、サービスエリア、またはサポートケースを確認します。 他の地域の信号については、引き続き個別のチェックが必要です。
- 回帰テスト: コード変更後に同じポイントとルートを実行します。 入力を制御すると、失敗の比較が容易になります。
ルートの再生により、各ビルドに同じベースラインが与えられます。 フィールド テストでは、実際の動作、ネットワーク、センサーを必要とする障害に焦点を当てることができます。
GPS 位置と IP 位置
チームが場所を 1 つの設定として扱うため、地域テストは失敗することがよくあります。 デバイスの場所、ネットワークの場所、システム設定、およびアカウントの地域は、さまざまな場所を指すことができます。
| 信号 | どこから来たのか | 影響を受ける可能性のあるもの | 保証されないもの |
|---|---|---|---|
| GPS またはデバイスの位置情報 | デバイスの位置情報プロバイダー | 地図、ジオフェンス、近くの検索結果、ルート追跡 | ネットワーク地域、アカウントの国、またはストアの利用可能性 |
| IPの場所 | ネットワーク出口アドレスと地理位置情報データベース | サーバールーティング、地域コンテンツ、セキュリティチェック | デバイスによって報告された座標 |
| ロケールとタイムゾーン | システムまたはアプリの設定 | 言語、日付形式、時間ベースの動作 | GPS および IP 協定 |
| アカウントまたはストアの地域 | サービスアカウントとマーケットプレイスの設定 | カタログ、請求書、および地域での入手可能性 | 現在のデバイスの位置 |
IPアドレス はネットワーク地域を示唆しますが、これは GPS 測定値ではありません。 2 つの地理位置情報データベースにより、同じ住所が異なる都市に配置される場合もあります。
モバイルプロキシ は、ネットワーク ルートと出口 IP を変更します。 緯度と経度はアプリに送信されません。 両方の信号を必要とするテストでは、信号が一致すると仮定するのではなく、それぞれを検証する必要があります。
GPS エミュレータの利点と制限
GPS エミュレーションは再現性があるため、回帰テストに適しています。 その同じコントロールが限界でもあります。 作成したデータはあらゆる現場の状況を再現するものではありません。
| 利点 | 関連する制限事項 |
|---|---|
| ビルドするたびに同じ座標を繰り返します | 実際の位置データはずれたり、遅れて到着したりする可能性があります |
| 移動せずに遠隔地をテストする | 選択したポイントではローカル ネットワークまたはアカウント設定が再現されません |
| ジオフェンスとルートチェックを自動化する | 自動化は、チームが作成したケースとアサーションのみを対象とします |
| 報告されたサポートの問題を再現する | 元のデバイスには異なる権限、センサー、アプリの状態がある可能性があります |
| テストをすぐにリセットする | クリーンなテスト環境では、長期間の使用によって引き起こされる問題が隠れる可能性があります |
Android の疑似ロケーションは、疑似データとして識別できます。 一部のアプリはそれらを拒否するか、別のコード パスに従います。 したがって、エミュレータ テストに合格しても、そのアプリが物理デバイス上の同じ座標をどのように扱うかについてはほとんどわかりません。
ローカル エミュレーター、仮想 Android 電話、および物理的な電話はすべて位置データを受信できます。 リリースにとって重要なハードウェア、センサー、ネットワーク、アプリのチェックに基づいて、これらの中から選択してください。
MoreLogin では、クラウドフォンの位置設定 での IP ベースの自動マッチングと手動による緯度と経度の入力について説明しています。 サポートはクラウドフォンのバージョンとモデルによって異なります。 セットアップをより多くのデバイスに適用する前に、1 つの完全なアプリ フローをテストします。
ロケーションテストの計画方法
変えるべき行動から始めましょう。 次に、それを証明できる最小の入力セットを使用します。 シミュレートされた信号をさらに追加すると、失敗したテストの診断が難しくなります。
| テスト次元 | 最低限役立つケース |
|---|---|
| 位置 | 対象エリアの内側、外側、境界上 |
| 動き | 静止ルート、通常ルート、中断ルート |
| 正確さ | 高精度のデータ、低精度のデータ、古いデータ |
| 許可 | 正確、近似、拒否、背景制限あり |
| 地域信号 | GPS、IP、ロケール、タイムゾーン、アカウント地域を個別に確認 |
| 環境 | 再現性のためのエミュレータと重要な検証のための認定された実デバイス |
座標、ルート、時間、許可状態、アプリのバージョン、デバイス環境を記録します。 テストが失敗した場合は、その決定の背後にあるインプットを見つけます。 配信アプリでは、地図に GPS を使用し、サービスの適格性のためにアカウントのアドレスを使用する場合があります。
再現可能なロジックと回帰テストにはシミュレーションを使用します。 結果がセンサー、モバイル ネットワーク、バックグラウンドの動作、またはハードウェア固有のコードに依存する場合は、代表的な実際のデバイスでリリースを検証します。
GPSエミュレータ よくある質問
GPSエミュレータ とは簡単に言うと何ですか?
これは、テスト用にアプリに制御された位置データを提供するツールです。 1 つの位置を設定したり、サポートされている場合はルートに沿った動きを再生したりできます。
GPSエミュレータはAndroidエミュレータと同じですか?
いいえ。 Androidエミュレータ は、完全な仮想 Android デバイスを実行します。 GPS エミュレーションは、Androidエミュレータ、物理デバイス、または別のテスト環境に位置データを提供できる機能の 1 つです。
GPSエミュレータ は動きをシミュレートできますか?
一部のツールは、インターフェイスで作成されたルート、または GPX または KML ファイルからインポートされたルートを再生できます。 また、速度、高度、方向、タイミングのデータも提供される場合があります。 サポートはツールによって異なります。
GPSエミュレータ は IPアドレス を変更しますか?
いいえ。 GPS データはデバイスの位置レイヤーから取得されます。 IPアドレス はネットワーク接続に属します。 プロキシはネットワーク出口を変更できますが、デバイスによって報告される場所は自動的に変更されません。
アプリはその場所がシミュレートされていることを認識できますか?
彼らにはそれができるかもしれない。 テスト プロバイダーを通じて提供される Android の位置情報は、モック データとしてマークできます。 その他のチェックは、アプリ、プラットフォーム、テスト環境によって異なります。 すべてのアプリが場所をどのように分類するかを保証できるツールはありません。
GPSエミュレータ は実際のデバイスのテストに代わることはできますか?
完全にはそうではありません。 反復可能なロジック、権限、ジオフェンス、ルートのテストに効果的です。 ハードウェア、センサー、モバイル ネットワーク、パフォーマンス、フィールド条件によって結果が変わる可能性がある場合、代表的な実際のデバイスは引き続き重要です。

JP
