Digital Labアーキテクチャー

Digital Labは、さまざまなテストアプリケーションへのモバイルデバイスアクセスを提供するスタンドアロンサーバーです。Digital Labは、異なるテストクライアントがすべて同じDigital Labサーバーインスタンスと対話できる分散アーキテクチャーをサポートします。

Digital Lab環境

UFT Digital Labの個々のコンポーネントとそれらの関係は、次の図に示されています。

Digital Lab環境は、次のコンポーネントで構成されています。

コンポーネント 機能
Digital Labサーバー

これは、次のような単一のWebサーバーです。

  • モバイルデバイスへのテストツールクライアント呼び出しを仲介し、実際のモバイルデバイスでテストを記録および実行するためのテストツール内のユーザーインターフェイスを提供します。
  • テスト用のアプリを受け入れ、アプリのバージョンを管理します。
  • 再利用可能なデータを格納するPostgreSQLデータベースが含まれています。たとえば、アップロードされたアプリとコネクターのメタデータ、証明書、ユーザー情報などです。
  • 管理者が次のことを行うためのユーザーインターフェイス (ラボ管理コンソール) を提供します。
    • ユーザーを管理する
    • アプリを管理し、OSやバージョンなどのプロパティを表示する
    • デバイスの制御: デバイスをリモートで再起動、ロック解除、または開く
    • コネクターを表示および管理する

    • プロキシ定義やパッケージングサービスなど、ユーザー向けにさまざまな設定を構成する

外部PostgreSQLデータベース

Digital Labを既存の外部PostgreSQLデータベースに接続できます。これにより、組織は既存のDBリソースを管理および利用できます。

このオプションは、インストール時に指定します。詳細については、Digital Lab - WindowsインストールまたはDigital Lab - Linuxインストールを参照してください。

コネクター

コネクターは、デバイスをDigital Labに接続するための軽量ソフトウェアであり、サーバーと一緒に (組み込みコネクター)、またはスタンドアロンコンポーネントとしてインストールできます。コネクターは、分散した場所にある複数のマシン、またはテストツールマシンにインストールできます。詳細については、WindowsマシンにコネクターをインストールするLinuxマシンにコネクターをインストールする、またはMacマシンにコネクターをインストールするを参照してください。

コネクターは、デバイスへの物理USB接続と、その上の論理ステートマシンを管理します。USB経由でデバイスに接続するためにポートをマップし、デバイスからツールへのリモートスクリーンビューアーストリームを管理します。デバイスの接続または切断、エージェントのインストールの完了、エージェントの開始など、USBライブラリからライフサイクルイベントを受信します。これらのイベントをDigital Labサーバーに転送して、デバイスをプールに追加します。コネクターは、デバイスへのアプリのインストールとアンインストールも行います。

コネクターを介してアクセスされるテストデバイス

これらは、テストが実行されるデバイス (スマートフォン/タブレット) です。次のアプリケーションがテストデバイスにコピーされます。

  • Digital Labエージェントは、AUT、OS (特定のアプリの外部の制御)、およびテストツールクライアントにUIとリモートコントロールを提供するリモートスクリーンビューアーサーバーへのコマンドを管理します。
  • AUT – テスト中のアプリケーション。
SVラボ

UFT Digital Labのみ。

SV (Service Virtualization) Labは、他の方法ではテストが難しい領域で実際のサービスを仮想化するための環境仮想化ツールキットです。SVラボはDigital Lab内に展開され、Service Virtualizationシミュレーションを実行する準備ができています。

NVテストマネージャー

Network Virtualizationは、さまざまなネットワーク条件下で実行されているアプリをテストするためのオプションのコンポーネントです。Network Virtualizationは、ソフトウェアテストプロセス中にテスト環境に障害や制約を課すことによって実際の状況をエミュレートし、それによってソフトウェアテストの精度を向上させます。

オンプレミスデバイスでのみサポートされます。

 

次の図は、ValueEdge Digital Lab環境を示しています。

トップに戻る

コネクターの展開シナリオ

コネクターは、デバイスを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)、モバイルデバイスライブラリ (libimobiledevice)) を使用してAPIトラフィックを通信するために、ポートをモバイルデバイスに転送します。また、エージェントへのWebSocket接続を開きます。コネクターは、リモートスクリーンビューアーのポートフォワードをマップします。コネクターは、デバイスをリモートで操作するときの待ち時間を最小限に抑えるために、リモートスクリーンビューアーをツールに直接公開します。Digital Labデバイス上のエージェントは、WebSocketポートでリッスンします。

トップに戻る

高可用性

この機能は、UFT Digital Labでのみサポートされています。

次の図は、Digital Labアクティブ-パッシブ高可用性環境を示しています。

両方のサーバーが常に稼働している必要があることに注意してください。サーバーの1つはそれ自体をアクティブとしてマークし、もう1つはパッシブとしてマークします。ロードバランサーは、すべてのリクエストをアクティブサーバーにリダイレクトします。アクティブサーバーに障害が発生すると、パッシブサーバーがアクティブになり、ロードバランサーがすべてのリクエストをサーバーにリダイレクトし始めます。障害が発生したサーバーを監視して再起動し、パッシブになるようにしてください。

トップに戻る

OpenTextでホストされたラボ

以下の図は、OpenTextがホストするパブリックデバイスとブラウザーを使用したUFT Digital Labのデプロイメントを示しています。

トップに戻る

Amazon Device Farmとのインターフェイス

UFT Digital Labを使用すると、クラウドベースのAmazon Device Farmと連携して、さまざまなデバイスでテストを実行できます。

次の図では、UFT Digital LabコネクターがAWS Device Farmとどのようにインターフェイスをとるかを確認できます。

この統合のためにDigital Labを設定する方法の詳細については、AWS Device Farm統合を参照してください。

トップに戻る