Digital Labアーキテクチャー
Digital Labは、さまざまなテストアプリケーションへのモバイルデバイスアクセスを提供するスタンドアロンサーバーです。Digital Labは、異なるテストクライアントがすべて同じDigital Labサーバーインスタンスと対話できる分散アーキテクチャーをサポートします。
このトピックの内容:
Digital Lab環境
Digital Labの個々のコンポーネントとそれらの関係は、次の図に示されています。
Digital Lab環境は、次のコンポーネントで構成されています。
コンポーネント | 機能 |
---|---|
Digital Labサーバー |
これは、次のような単一のWebサーバーです。
|
外部PostgreSQLデータベース |
Digital Labを既存の外部PostgreSQLデータベースに接続できます。これにより、組織は既存のDBリソースを管理および利用できます。 このオプションは、インストール時に指定します。詳細については、Digital Lab - WindowsインストールまたはDigital Lab - Linuxインストールを参照してください。 |
コネクター |
コネクターは、デバイスをDigital Labに接続するための軽量ソフトウェアであり、サーバーと一緒に (組み込みコネクター)、またはスタンドアロンコンポーネントとしてインストールできます。コネクターは、分散した場所にある複数のマシン、またはテストツールマシンにインストールできます。詳細については、Windowsマシンにコネクターをインストールする、Linuxマシンにコネクターをインストールする、またはMacマシンにコネクターをインストールするを参照してください。 コネクターは、デバイスへの物理USB接続と、その上の論理ステートマシンを管理します。USB経由でデバイスに接続するためにポートをマップし、デバイスからツールへのリモートスクリーンビューアーストリームを管理します。デバイスの接続または切断、エージェントのインストールの完了、エージェントの開始など、USBライブラリからライフサイクルイベントを受信します。これらのイベントをDigital Labサーバーに転送して、デバイスをプールに追加します。コネクターは、デバイスへのアプリのインストールとアンインストールも行います。 |
コネクターを介してアクセスされるテストデバイス |
これらは、テストが実行されるデバイス (スマートフォン/タブレット) です。次のアプリケーションがテストデバイスにコピーされます。
|
SVラボ |
UFT Digital Labのみ。 SV (Service Virtualization) Labは、他の方法ではテストが難しい領域で実際のサービスを仮想化するための環境仮想化ツールキットです。SVラボはDigital Lab内に展開され、Service Virtualizationシミュレーションを実行する準備ができています。 |
NVテストマネージャー |
Network Virtualizationは、さまざまなネットワーク条件下で実行されているアプリをテストするためのオプションのコンポーネントです。Network Virtualizationは、ソフトウェアテストプロセス中にテスト環境に障害や制約を課すことによって実際の状況をエミュレートし、それによってソフトウェアテストの精度を向上させます。 オンプレミスデバイスでのみサポートされます。 |
コネクターの展開シナリオ
コネクターは、デバイスをDigital Labに接続するための軽量ソフトウェアです。インストールプロセスの一部としてDigital Labサーバーマシンにインストールすることを選択できる組み込みコネクターは、ローカルサーバーと連携するように自動的に構成されます。ただし、コネクターは、開発者やテストエンジニアなど、別のマシンにスタンドアロンコンポーネントとしてインストールすることもできます。通常、次のシナリオの組み合わせが使用されます。
シナリオ | 説明 | 長所 |
---|---|---|
中央デバイスハブ | Digital Labサーバーマシンのコネクターに接続されたデバイスの中央ラボ。 | 効率。デバイスをセットアップおよび管理するためのタスクの重複を回避します。 |
分散デバイスハブ | 複数の場所 (オンサイト/オフサイト/グローバルに分散) のマシンにインストールされたコネクター。 |
スケーラブル。必要に応じて、新しいラボを追加できます。 |
個人所有のデバイスを持参してください | 開発者/テストエンジニアのマシンにインストールされたコネクター。 |
デバイス上のアプリのハンズオンテストをサポートします。 |
ネットワーク接続
次の図は、Digital Labサーバーの物理的な展開に焦点を当てた、よりドリルダウンしたビューを表しています。使用されるさまざまなプロトコルとポートも示されています。
クライアントツールとDigital Labサーバー接続
一般的なクライアントツールは、UFT One、LoadRunner、Sprinter、BPM、UFT Developer、およびAppiumスクリプトです。
テストツールクライアントは、次の目的でDigital Labサーバーに接続します。
- HTTP/HTTPSを介してデバイスを管理し、アプリをアップロードするためのユーザーインターフェイス (UI)。
- テストと管理のためのAPI (JSONコマンド)。WebSocket (WS) を介して送信されます。
- リモートスクリーンビューアークライアント。
Digital Labサーバーとコネクターの接続
コネクターは、Digital LabサーバーとのWebSocket (WS) 接続を確立し、同じソケット上でコネクターからサーバーへ、またはその逆の双方向非同期通信を可能にします。API呼び出しとファイルはWSを介して渡されます。
テストツール、コネクター、およびデバイスの接続性
コネクターは、モバイルライブラリ (Android Debug Bridge (ADB)、モバイルデバイスライブラリ) を使用してAPIトラフィックを通信するために、ポートをモバイルデバイスに転送します。また、エージェントへのWindows Sockets接続を開きます。コネクターは、リモートスクリーンビューアーのポートフォワードをマップします。コネクターは、デバイスをリモートで操作するときの待ち時間を最小限に抑えるために、リモートスクリーンビューアーをツールに直接公開します。Digital Labデバイス上のエージェントは、Windows Socketsポートでリッスンします。
高可用性
この機能は、UFT Digital Labでのみサポートされています。
次の図は、Digital Labアクティブ-パッシブ高可用性環境を示しています。
両方のサーバーが常に稼働している必要があることに注意してください。サーバーの1つはそれ自体をアクティブとしてマークし、もう1つはパッシブとしてマークします。ロードバランサーは、すべてのリクエストをアクティブサーバーにリダイレクトします。アクティブサーバーに障害が発生すると、パッシブサーバーがアクティブになり、ロードバランサーがすべてのリクエストをサーバーにリダイレクトし始めます。障害が発生したサーバーを監視して再起動し、パッシブになるようにしてください。
Amazon Device Farmとのインターフェイス
UFT Digital Labを使用すると、クラウドベースのAmazon Device Farmと連携して、さまざまなデバイスでテストを実行できます。
次の図では、UFT Digital LabコネクターがAWS Device Farmとどのようにインターフェイスするかを確認できます。
この統合のためにDigital Labを設定する方法の詳細については、AWS Device Farm統合を参照してください。