Functional Tester は、各プロセス (クライアントまたはサーバー・プロセス) 内で TestContext オブジェクトを作成し、それを共用メモリーに登録します。 TestContext オブジェクトは、テスト対象プロセスへの参照です。 登録された TestContext オブジェクトは、任意の通信のための関連プロセスの参照として使用されます。 通常、TestContext オブジェクトは、テスト可能なオペレーティング・システム・レベル・プロセスあるいはテスト・クライアントと関連しています。 プロセスごとに、複数の TestContext オブジェクトを含めることも可能です。
2 つの AUT TestContext オブジェクトは、直接相互に通信することはできません。 これらはクライアント TestContext オブジェクトを介して通信します。
Functional Tester プロセス・モデルのすべてのプロセスは、TestContext オブジェクトを利用して、IPC 呼び出しとそのプロセスの要求を管理します。 クライアント・プロセスは複数の AUT プロセスと対話しますが、各 AUT プロセスは一度に 1 つのクライアント・プロセスにのみ応答します。例えば、再生時の検索プロセスでは、検索中の TestObject に使用可能なすべての AUT プロセスと通信します。
ObjectManager は、AUT と対話するすべてのサーバー・サイドのプロセス通信およびメタ・アクションを処理します。 AUT との主な記録および再生の対話はここから発して、すべての AUT TestContext オブジェクトと対話します。 ObjectManager エージェントは、特定の TestContext オブジェクトと関連付けられた ObjectManager メタ・アクションを処理します。 TestContext オブジェクト内に、Functional Tester TestDomain 固有の通信を管理するために TestDomain オブジェクトが確立されます。 例えば、AUT ブラウザー・プロセスの場合、HTML TestContext オブジェクトおよび Java™ TestDomain オブジェクトが確立されます。これらが確立されるのは、ブラウザーに HTML ドメインの HTML エレメントおよび Java ドメインのアプレットが含まれているためです。
TestDomain オブジェクトでは、コントロール・レベルの通信を管理するために ProxyTestObjects が作成されます。 任意の Functional Test アクティビティーを実行する際に通信する必要があるコントロールに対して、ProxyObjects が作成されます。 ProxyObjects は AUT の各コントロールと 1 対 1 の関係にあります。 異なる AUT コントロールとの間の対話はすべて、ProxyTestObject を介して行われます。