アーキテクチャー

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

環境

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

Architecture diagram of Functional Testingl Lab components and the relationship between them.

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

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

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

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

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

外部PostgreSQLデータベース

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

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

コネクター

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

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

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

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

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

NVテストマネージャー

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

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

 

次の図は、OpenText Core Software Delivery Platform (SDP) 環境を示しています。

Architecture diagram of the Core Software Delivery Platform Functional Testing Lab environment components and the relationship between them

トップに戻る

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

コネクターは、デバイスをラボに接続するための軽量ソフトウェアです。インストールプロセスの一部としてOpenText Functional Testing Labサーバーマシンにインストールすることを選択できる組み込みコネクターは、ローカルサーバーと連携するように自動的に構成されます。ただし、コネクターは、開発者やテストエンジニアなど、別のマシンにスタンドアロンコンポーネントとしてインストールすることもできます。通常、次のシナリオの組み合わせが使用されます。

シナリオ 説明 長所
中央デバイスハブ サーバーマシンのコネクターに接続されたデバイスの中央ラボ。 効率。デバイスをセットアップおよび管理するためのタスクの重複を回避します。
分散デバイスハブ 複数の場所 (オンサイト/オフサイト/グローバルに分散) のマシンにインストールされたコネクター。

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

個人所有デバイスの業務利用 開発者/テストエンジニアのマシンにインストールされたコネクター。

デバイス上のアプリのハンズオンテストをサポートします。

トップに戻る

ネットワーク接続

次の図は、サーバーの物理的な展開に焦点を当てた、よりドリルダウンしたビューを表しています。使用されるさまざまなプロトコルも示されています。

Architecture diagram of Network connectivity and protocols

クライアントツールとOpenText Functional Testing Labサーバー接続

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

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

  • HTTP/HTTPSを介してデバイスを管理し、アプリをアップロードするためのユーザーインターフェイス (UI)。
  • テストと管理のためのAPI (JSONコマンド)。WebSocket (WS) を介して送信されます。
  • リモートスクリーンビューアークライアント。

OpenText Functional Testing Labサーバーとコネクターの接続

コネクターは、OpenText Functional Testing LabサーバーとのWebSocket (WS) 接続を確立し、同じソケット上でコネクターからサーバーへ、またはその逆の双方向非同期通信を可能にします。API呼び出しとファイルはWSを介して渡されます。

テストツール、コネクター、およびデバイスの接続性

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

トップに戻る

高可用性

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

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

Functional Testing Lab servers active passive high availability

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

トップに戻る

ホストされたラボ

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

achitecture diagram of the Functional Testing Lab deployment with OpenText hosted public devices and browsers

トップに戻る

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

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

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

Archtecture diagram of interface with Amazon Device Farm

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

トップに戻る

クラウドからローカルへのテスト

トンネリングソリューションを使用すると、OpenTextクラウドデバイスとクラウドブラウザーを使用して、プライベートネットワークでホストされているアプリをテストできます。次の図は、クラウド内の要素とローカルテスト環境間の通信を示しています。

Architecture diagram showing the communication between the elements in the cloud to local testing environment

 

トップに戻る