インストールと構成のベストプラクティス

このセクションでは、Digital Labのインストールと構成に関するベストプラクティスについて詳しく説明します。

Digital Labは、フルインストール (以前のインストールがない場合) として、または既存のインストールへのアップグレードとしてインストールできます。インストーラーは、すでにインストールされているファイルを確認し、関連するファイルをインストールまたは更新します。

デプロイメントに関する一般的な考慮事項

Digital Labは、異なるテストクライアントが同じDigital Labサーバーインスタンスと対話できる分散アーキテクチャーをサポートします。

Digital Labのデプロイメントには、いくつかのコンポーネントがあります。

コンポーネント

機能

Digital Labサーバー

これは、物理環境または仮想環境にインストールできる単一のWebサーバーです。

それは次のような役割を果たします。

  • モバイルデバイスへのテストツールクライアント呼び出しを仲介し、実際のモバイルデバイスでテストを記録および実行するためのテストツール内のユーザーインターフェイスを提供します。
  • テスト用のアプリを受け入れ、アプリのバージョンを管理します。
  • 管理者が次のことを行うためのユーザーインターフェイス (ラボ管理コンソール) を提供します。
    • ユーザーの管理。
    • アプリを管理し、OSやバージョンなどのプロパティを表示する。
    • デバイスの制御: デバイスをリモートで再起動、ロック解除、または開く。
    • コネクターの表示と管理。
    • プロキシ定義やパッケージングサービスなど、ユーザー向けにさまざまな設定を構成する。
    • セキュリティスキャン、使用状況、群衆テスト、SDKコンプライアンスなどの拡張サービスを実現する。

注: Digital Labサーバーをインストールするときに、デバイスをDigital Labサーバーインスタンスに直接接続する場合は、組み込みコネクターをインストールするオプションがあります。

PostgreSQLデータベース

Digital Labを既存の外部PostgreSQLデータベースに接続するか、Digital Lab Serverインストールに組み込まれているデータベースを使用するかを選択できます。このオプションは、インストール時に指定します。

詳細については、Digital Lab - WindowsインストールまたはDigital Lab - Linuxインストールを参照してください。

コネクター

このコネクターは、デバイスをDigital Labに接続するための軽量のソフトウェアとして設計されており、スタンドアロンコンポーネントとしてインストールできます。コネクターは、分散した場所にある複数のマシン、またはテストツールマシンにインストールできます。コネクターは、Windows、Linux、またはMacマシンにインストールできます。

このコネクターは、デバイスをDigital Labに接続するための軽量のソフトウェアとして設計されており、スタンドアロンコンポーネントとしてインストールできます。コネクターは、分散した場所にある複数のマシン、またはテストツールマシンにインストールできます。コネクターは、Windows、Linux、またはMacマシンにインストールできます。

高可用性

複数のサーバーを使用するアクティブ/パッシブ構成で高可用性を構成できます。このモードでは、ロードバランサーがすべてのリクエストをルーティングするアクティブなDigital Labサーバーが1台あり、アクティブサーバーに障害が発生した場合に引き継ぐ準備ができている別のパッシブDigital Labサーバーがあります。詳細については、高可用性サポートを参照してください。

ファイルストレージシステム

アプリケーションはデータベースに保存されなくなりましたが、ファイルシステムに保存されます。インストールまたはアップグレード時に、Digital Labにアップロードされたアプリケーションを保存する宛先フォルダーを選択できます。

また、アプリケーションごとのアップロード数を制御したり、アプリケーションの古いアップロードを自動的に削除したりすることもできます。これにより、Digital Labの管理者は、維持する必要のあるアプリケーションのアップロード数を管理しやすくなり、ファイルストレージシステムの負荷が軽減されます。詳細については、Digital Lab - Windowsインストールのアプリケーションファイルストレージの構成に関するセクションと、一般管理設定の [アプリケーションのアップロードを制限する] セクションを参照してください。

トップに戻る

デプロイメントシナリオ

Digital Labデプロイメントシナリオの決定ポイントは、顧客の要件によって異なります。

シナリオ

説明

長所

All-in-one

Digital Labサーバー、データベース、組み込みコネクターを単一ボックスでデプロイメント。

シンプルさ。概念実証やローカルでの設置に最適です。

3層展開

Digital Labサーバーとデータベースを別の場所にインストールして、Web層とデータ層を分離します。

Web層とデータベース層のスケーラビリティ。Webおよびデータベース管理に関するローカルITのベストプラクティスをサポートします。

コネクター/デバイスのデプロイメントについては、次のシナリオが考慮されます。

シナリオ

説明

長所

中央デバイスハブ

Digital Labサーバーマシンのコネクターに接続されたデバイスの中央ラボ。

効率。デバイスをセットアップおよび管理するためのタスクの重複を回避します。

分散デバイスハブ

複数の場所 (オンサイト/オフサイト/グローバルに分散) のマシンにインストールされたコネクター。

スケーラブル。必要に応じて、新しいラボを追加できます。

個人所有デバイスの業務利用 開発者/テストエンジニアのマシンにインストールされたコネクター。 デバイス上のアプリのハンズオンテストをサポートします。

トップに戻る

ハードウェア要件

Digital Labのハードウェア要件の完全なリストは、サポートマトリックスで入手できます。

Digital Labのハードウェアリソースを計画するときは、次のパラメーターを考慮してください。

コンポーネント

メモリ

CPU

ディスク領域

Digital Labサーバー

Digital Lab ServerはJavaアプリケーションです。したがって、事前定義された量のホストメモリが使用されます。消費されるメモリの量は、シミュレーションセッション (ユーザーセッション) の数の影響を受けます。最小メモリ要件は8GBです。中規模のデプロイメント (デバイス30台未満) の場合は8GB、大規模なデプロイメント (デバイス30台を超える) の場合は16GBをお勧めします。

 

* マシンのメモリに基づいて、Digital Labサーバーをインストール、アップグレード、または変更するときに、Java仮想マシン (JVM) の最大ヒープサイズを増やすことをお勧めします。たとえば、マシンが8GBの場合、Javaヒープサイズを最大4GBまで増やすことができます。

Digital Lab ServerのCPU消費量は、処理されるリクエストの数によって異なります。最小要件は、x64プロセッサー、2.2GHzです。

Digital Lab Serverのディスク領域の使用量は、生成されたログ、パッケージアプリケーション、プロセスなどのいくつかの要因によって異なります。

少なくとも20GBをお勧めします。一般インストールには15GB、一時フォルダーには5GB。バージョン3.5以降では、TMP/TEMPとは異なる一時フォルダーを指定できることに注意してください。

システムディスクにはさらに1GBの空きディスク容量が必要です。

PostgreSQL DB

PostgreSQLのメモリ消費量は、実行に必要なSQLクエリの影響を受けます。メモリの最小要件は2GBです。中規模のデプロイメント (デバイス30台未満) の場合は少なくとも8GB、大規模なデプロイメント (デバイス30台を超える) の場合は16GB以上を強くお勧めします。

PostgreSQLはプロセスベースです。最小要件は、デュアルコアCPU、2.2GHzです。

PostgreSQLでのディスク領域の使用量はデータサイズによって異なります。Windowsでは、PostgreSQLはC: ドライブにインストールされるため、そこにディスク領域を割り当てる必要があります。

コネクター

Digital Lab ConnectorはJavaアプリケーションです。したがって、事前定義された量のホストメモリが使用されます。

消費されるメモリの量は、シミュレートされたセッション (ユーザーセッション) の数の影響を受けます。最小要件は4GBです。

* 標準デプロイメント (コネクターあたり8~10台のデバイス) の場合は少なくとも8GB、大規模なデプロイメント (12~25台のデバイス) の場合は16GB以上をお勧めします。

Digital Lab Serverのガイドラインは、Connector Javaアプリケーションのガイドラインと同じです。

デバイスへのリモートアクセスはCPUの消費量を増加させるため、考慮する必要があります。コネクターハードウェアは、モバイルデバイス上で予想される同時セッションに応じて計画する必要があります。Windows、Linux、Macコネクター間では若干異なります。経験則では、各リモートデバイスセッションにCPUコアの半分を割り当てます。

Digital Labコネクターのディスク領域の使用量は、生成されるログの数やコネクターにキャッシュされるアプリケーションファイルの数など、さまざまな要因によって異なります。

少なくとも10GBをお勧めします。

トップに戻る

ネットワーク要件

Digital Labは、簡単なネットワーク要件を提供します。詳細については、Digital Labアーキテクチャーを参照してください。

ネットワーク遅延 Digital Labは、HTTP/Sプロトコルを介したREST API通信を使用することにより、ネットワーク (WAN) 上の復元性を実現するように設計されています。ただし、WebSocketプロトコルを利用する通信チャネルもあります。このプロトコルを介した通信には、考慮する必要があるいくつかの制限が存在する場合があります。一般に、ネットワーク遅延が100ミリ秒未満であれば、Digital Labとコネクターがパブリックインターネット、MPLS、VPN、またはその他の方法を使用している場合に通信の問題が発生する可能性は低くなります。遅延が200ミリ秒を超えると、接続の問題が発生します。リモートビューでデバイスを操作するには、1Mbps以上のネットワーク帯域幅を推奨します。
Digital LabとSSL

デフォルトでは、Digital Labはサーバーとコネクター間の通信にSSL構成を使用します。これは、インストール中に自己署名SSL証明書を生成することによって実現されます。運用環境で使用する場合は、CA証明書 (自己署名ではなく証明機関によって発行された証明書) を使用することを強くお勧めします。これにより、ブラウザーのセキュリティ警告が削除され、テストツールの接続が合理化されます。また、クライアントマシンでの認識の問題を回避するために、CA証明書をCAルート証明書と併用することをお勧めします。詳細については、SSLと証明書を参照してください。

SSLの使用は、IPSまたはその他のセキュリティゲートウェイによる内部セキュリティのブロックを排除するため、ネットワークの観点からも有益です。

Digital Labポート

Digital Lab Server (Webフロントエンド) は単一のポートを使用します。ポートは、Digital Lab Serverのインストール中に構成されます。Digital Labコネクターは、Digital Labサーバーおよびエンドユーザー (クライアント) との接続に単一のポートも使用します。内部的には、Digital Labコネクターはリバースプロキシ (Nginx) を利用して、関連するモバイルデバイスにリクエストをルーティングします。したがって、ネットワークの観点からは、Digital Labサーバーとコネクターに対して1つのポートがアクセス可能 (入力) である必要があります。

使用されるプロトコルに関しては、HTTP/HTTPSおよびWebSocket/WebSocket Secure (WS/WSS) プロトコルの要件があります。

クライアントツールとDigital Labサーバー接続

一般的なクライアントツールは、UFT One、LoadRunner、Sprinter、BPM、UFT Developer、およびAppiumスクリプトです。

テストツールクライアントは、次の目的でDigital Labサーバーに接続します。

  • HTTP/HTTPSを介してデバイスを管理し、アプリをアップロードするためのユーザーインターフェイス (UI)。

  • テストと管理のためのAPI (JSONコマンド)。WebSocket (WS/WSS) を介して送信されます。

  • WebSocket (WS/WSS) 経由で送信されるリモートスクリーンビューアークライアント

トップに戻る

USBハブとデバイスの消費電力

Digital Labでデバイスを使用する場合は、同期と充電が必要です。デバイスはUSBケーブルを介して接続され、継続的な充電と通信 (Digital Labコネクターからエージェントへ) を提供します。通常、USBポートの数は限られているため、必要な拡張性をサポートするには、USBセルフパワーハブを使用してください。ハブは外部電源から電力を供給されるため、すべてのポートにフル電力を供給できます。モバイルデバイスの充電要件は、500~5,000mA (AndroidおよびiOSの携帯電話からタブレットやiPadまで) とさまざまです。電源ハブがすべてのUSBポートに必要な電力を供給できることを確認することを強くお勧めします。

たとえば、60Wの電源付き7ポートUSBハブの仕様が12Vおよび5A (12x5=60) であると考えてみましょう。スマートハブは5Aを7つのポート間で動的に分割し、各ポートに最大714mAを与えます。これは小型/古い携帯電話には十分です。ただし、iPadがそのハブに接続されている場合、2100mAを消費し、残りの2900mAが6つのポート (それぞれ最大480mA) に分割されます。電力割り当てが必要な500mAを下回っているため、これは携帯電話でも問題になる可能性があります。

次の表は、最も一般的なデバイスと、同期と充電に必要な電力を示しています。

iOSデバイス

mA

Androidデバイス

mA

iPad Pro 12.9インチ (第4世代)

3000

Samsung S9/S9+

2000

iPad Pro 12.9インチ (第3世代)

3000

Samsung Note8

2100

iPad Pro 11インチ (第2世代)

3000

LG G4

1800

iPad Pro 11インチ

3000

Google Pixel 2

2000

iPad Retina

2400

Samsung S9/S9+

2000

iPad 2

2100

Samsung Note8

2100

iPad AirおよびiPad Air 2

2100

LG G4

1800

iPad Mini 2および3

2100

Google Pixel 2

2000

iPad Mini

1000

Huawei Mate 9

2000

iPhone 5s

500

Lenovo K8

1000

iPhone 6/7およびiPhone 6/7 Plus

1000

Motorola Nexus 6

2000

iPhone XとiPhone XS

1000

Xiaomi Mi 5

1000

iPhone 8およびiPhone 8 Plus

1000

Samsung S20/S20+

4000

iPhone XS Max

1000

Samsung S21 Ultra

5000

iPhone XR

1000

Samsung S21/S21+

4000/4800

iPhone 11

2000

Google Pixel 4a

3140

iPhone 11 Pro

2000

Google Pixel 5

2800

iPhone 11 Pro Max

2000

Motorola One 5G

5000

iPhone 12

2815

Samsung S22 Ultra

5000

iPhone 12 Pro

2815

Google Pixel 6 Pro

5000

iPhone 12 Pro Max

3687 

Samsung Galaxy Z Flip 3

3300

iPhone 13

3227 

Oppo Find X5 Pro

5000

iPhone 13 Pro

3095

Samsung S22+

4500

iPhone 13 Pro Max

4352 

OnePlus Nord 2

4500

iPad mini 6

8827

OnePlus 10 Pro

5000

 

 

Xiaomi Redmi Note 10 Pro

5020

 

 

Xiaomi Mi 11

4600

電源の問題によるデバイスの切断を避けるために、事前に電力要件を計画および計算することをお勧めします。さらに、BC 1.2規格に準拠した電源付きUSBハブを使用することをお勧めします。以下に推奨される製品の例をいくつか示します。

  • 16ポートUSB 2.0ハブ200WマルチUSBポートハブ - USB充電スプリッター5V 40A

  • 16ポートUSB充電ステーション、同期機能付き、230V、5V 40A (200W) USB充電器出力、2Uラックマウント

  • SuperSync15 – Cambrionixマルチデッキ

トップに戻る

デバイスホスティング

モバイルデバイスは常に電源に接続されています。この構成の熱と影響を軽減するには、次のことをお勧めします。

• デバイスを不燃性の換気の良い筐体に置きます。

• エンクロージャーに追加の換気を提供します。

これらの要件を満たすために役立つソリューションが多数用意されています。例:

  • ラックマウント設置用のデバイスビーム

  • ラックマウント設置用の追加ファンパネル

  • 1U 16ポートUSB電源ハブ

  • 16デバイスUSB充電ステーションキャビネット

デバイスのホスティングに関するその他のベストプラクティスについては、Digital Labへのデバイスの接続を参照してください。

トップに戻る

デバイス構成

デバイスの構成を支援するには、デバイスをDigital Labに接続するときに次の点を確認してください。

一般
  • デバイスにパスコードが設定されていない

  • デバイスにGoogle Playアカウント/Apple Storeアカウントが設定されていない

  • Wi-Fiに接続されているデバイス

  • デバイスの画面の明るさを最小にする

  • デバイスの壁紙をモノクロ、静的に設定する

Androidデバイス
  • デバイスのロックオプションを無効にする
  • 開発者向けオプションを有効にする ([設定] → [デバイス情報] → [ビルド番号] を7回クリック)
  • 開発者向けオプションでStay Awakeオプションを有効にする
  • 開発者向けオプションで [USBデバッグ] オプションを有効にする
  • Android 8.0以降で実行されるSamsungデバイスでは、
  • バッテリーセーバーメニューの監視対象外のアプリケーションにDigital Labエージェントを必ず追加してください。
  • 自動更新とパッチのインストールを無効にする
    Androidデバイスでの自動アップグレードを回避するには:
    [設定] > [システム] > [デバイス情報] > [ソフトウェアアップデート] で、自動アップデートを無効にします。
iOS (Apple) デバイス
  • デバイスのUDIDをコピーする (エージェントの再署名に必要)
  • デバイスのロックオプションを無効にする
  • デバイスがiOS 12以降で実行されている場合は、自動ロックを30秒に設定する
  • [設定] > [Safari] > [詳細] でJavaScriptとWeb Inspectorを有効にする。
  • UIオートメーションオプションを有効にする (Digital Labに最初に接続した後、オプションは設定に表示されます)
  • iOSの自動アップデートを無効にする ([設定] > [一般] > [ソフトウェアアップデート])

iOSデバイスでの自動アップグレードを回避するには:

1. [設定] をタップします。

2. [一般] をタップします。

3. [ソフトウェアアップデート] セクションで、[自動アップデート] オプションをオフにします。

以前にダウンロードしたiOSアップデートを削除するには、次の手順を実行します。

  1. [設定] アプリを開きます。

  2. [一般] をタップします。

  3. [iPhone/iPadストレージ] をタップします。

  4. アプリのリストとそれらが使用するストレージの量が表示されるまで、少し下にスクロールします。iOSアップデートを探します。

  5. アップデートをタップして詳細を表示し、[アップデートを削除] を選択します。

  6. [アップデートを削除] をタップして確定します。

Wi-Fiルーターで次のドメインをブロックすることで、iOSの自動更新をブロックすることもできます。

  • appldnld.apple.com

  • mesu.apple.com

追加の考慮事項:

  • SIMカードのエラーメッセージ。このシステムアラートメッセージにより、デバイスのプラグアンドプレイ操作が妨げられる場合があります。解決策: 偽のSIMカードをインストールするか、エラーコードの回避策を使用して解決してください。

  • システムダイアログの自動終了。詳しくはiOSオプションを参照してください。

  • デバイスロックの自動防止。詳しくはiOSオプションを参照してください。

その他の管理者のベストプラクティス

ラボのメンテナンス操作、監視、アップグレード、パッケージングサービスのベストプラクティスについては、その他の管理者のベストプラクティスを参照してください。

トップに戻る