アーキテクチャー
OpenText Functional Testing Labは、さまざまなテストアプリケーションへのモバイルデバイスアクセスを提供するスタンドアロンサーバーです。さまざまなテストクライアントがすべて同じサーバーインスタンスと対話できる分散アーキテクチャーがサポートされています。
環境
OpenText Functional Testing Labの個々のコンポーネントとそれらの関係は、次の図に示されています。
環境は、次のコンポーネントで構成されています。
コンポーネント | 機能 |
---|---|
サーバー |
これは、次のような単一のWebサーバーです。
|
外部PostgreSQLデータベース |
OpenText Functional Testing Labを既存の外部PostgreSQLデータベースに接続できます。これにより、組織は既存のDBリソースを管理および利用できます。 このオプションは、インストール時に指定します。詳細については、WindowsインストールまたはLinuxインストールを参照してください。 |
コネクター |
コネクターは、デバイスをOpenText Functional Testing Labに接続するための軽量ソフトウェアであり、サーバーと一緒に (組み込みコネクター)、またはスタンドアロンコンポーネントとしてインストールできます。コネクターは、分散した場所にある複数のマシン、またはテストツールマシンにインストールできます。詳細については、Windowsマシンにコネクターをインストールする、Linuxマシンにコネクターをインストールする、またはMacマシンにコネクターをインストールするを参照してください。 コネクターは、デバイスへの物理USB接続と、その上の論理ステートマシンを管理します。USB経由でデバイスに接続するためにポートをマップし、デバイスからツールへのリモートスクリーンビューアーストリームを管理します。デバイスの接続または切断、エージェントのインストールの完了、エージェントの開始など、USBライブラリからライフサイクルイベントを受信します。これらのイベントをOpenText Functional Testing Labサーバーに転送して、デバイスをプールに追加します。コネクターは、デバイスへのアプリのインストールとアンインストールも行います。 |
コネクターを介してアクセスされるテストデバイス |
これらは、テストが実行されるデバイス (スマートフォン/タブレット) です。次のアプリケーションがテストデバイスにコピーされます。
|
NVテストマネージャー |
Network Virtualizationは、さまざまなネットワーク条件下で実行されているアプリをテストするためのオプションのコンポーネントです。Network Virtualizationは、ソフトウェアテストプロセス中にテスト環境に障害や制約を課すことによって実際の状況をエミュレートし、それによってソフトウェアテストの精度を向上させます。 オンプレミスデバイスでのみサポートされます。 |
次の図は、OpenText Core Software Delivery Platform (SDP) 環境を示しています。
コネクターの展開シナリオ
コネクターは、デバイスをラボに接続するための軽量ソフトウェアです。インストールプロセスの一部としてOpenText Functional Testing Labサーバーマシンにインストールすることを選択できる組み込みコネクターは、ローカルサーバーと連携するように自動的に構成されます。ただし、コネクターは、開発者やテストエンジニアなど、別のマシンにスタンドアロンコンポーネントとしてインストールすることもできます。通常、次のシナリオの組み合わせが使用されます。
シナリオ | 説明 | 長所 |
---|---|---|
中央デバイスハブ | サーバーマシンのコネクターに接続されたデバイスの中央ラボ。 | 効率。デバイスをセットアップおよび管理するためのタスクの重複を回避します。 |
分散デバイスハブ | 複数の場所 (オンサイト/オフサイト/グローバルに分散) のマシンにインストールされたコネクター。 |
スケーラブル。必要に応じて、新しいラボを追加できます。 |
個人所有デバイスの業務利用 | 開発者/テストエンジニアのマシンにインストールされたコネクター。 |
デバイス上のアプリのハンズオンテストをサポートします。 |
ネットワーク接続
次の図は、サーバーの物理的な展開に焦点を当てた、よりドリルダウンしたビューを表しています。使用されるさまざまなプロトコルも示されています。
クライアントツールと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でのみサポートされています。
次の図は、アクティブ-パッシブ高可用性環境を示しています。
両方のサーバーが常に稼働している必要があることに注意してください。サーバーの1つはそれ自体をアクティブとしてマークし、もう1つはパッシブとしてマークします。ロードバランサーは、すべてのリクエストをアクティブサーバーにリダイレクトします。アクティブサーバーに障害が発生すると、パッシブサーバーがアクティブになり、ロードバランサーがすべてのリクエストをサーバーにリダイレクトし始めます。障害が発生したサーバーを監視して再起動し、パッシブになるようにしてください。
ホストされたラボ
以下の図は、OpenTextがホストするパブリックデバイスとブラウザーを使用したOpenText Functional Testing Labデプロイメントを示しています。
Amazon Device Farmとのインターフェイス
クラウドベースのAmazon Device Farmと連携して、さまざまなデバイスでテストを実行できます。
次の図は、OpenText Functional Testing LabコネクターがAWS Device Farmとどのようにインターフェイスをとるかを確認できます。
この統合を設定する方法の詳細については、AWS Device Farm統合を参照してください。
クラウドからローカルへのテスト
トンネリングソリューションを使用すると、OpenTextクラウドデバイスとクラウドブラウザーを使用して、プライベートネットワークでホストされているアプリをテストできます。次の図は、クラウド内の要素とローカルテスト環境間の通信を示しています。