Functional Tester는 각 프로세스(클라이언트 또는 서버 프로세스) 내에 TestContext 오브젝트를 작성하고 이를 공유 메모리에 등록합니다. TestContext 오브젝트는 테스트할 프로세스에 참조가 됩니다. 등록된 TestContext 오브젝트는 모든 통신과 연관된 프로세스에서 참조로 사용됩니다. 일반적으로 TestContext 오브젝트는 테스트할 수 있는 운영 체제 레벨 프로세스 또는 테스트 클라이언트와 관련이 있습니다. 프로세스 당 둘 이상의 TestContext 오브젝트를 가질 수 있습니다.
두 개의 AUT TestContext 오브젝트는 서로 직접 통신할 수 없습니다. 클라이언트 TestContext 오브젝트를 통해 통신합니다.
Functional Tester 프로세스 모델의 모든 프로세스는 TestContext 오브젝트를 사용하여 해당 프로세스의 요청 및 IPC 호출을 관리합니다. 클라이언트 프로세스는 여러 AUT 프로세스와 상호작용하지만 각 AUT 프로세스는 한 번에 하나의 클라이언트 프로세스에만 응답합니다. 예를 들어, 찾기 프로세스는 재생 중에 찾고 있는 TestObject에서 사용 가능한 모든 AUT 프로세스와 통신합니다.
ObjectManager는 AUT와 상호작용하는 메타 조치 및 모든 서버 측 프로세스 통신을 처리합니다. 코어 레코드 및 재생과 AUT의 상호작용은 여기에서 시작되며 모든 AUT TestContext 오브젝트와 상호작용합니다. ObjectManager 에이전트는 특정 TestContext 오브젝트와 관련된 ObjectManager 메타 조치를 처리합니다. TestContext 오브젝트 내에서 TestDomain 오브젝트가 설정되어 Functional Tester TestDomain에 맞는 통신을 관리합니다. 예를 들어, AUT 브라우저 프로세스의 경우 HTML TestContext 오브젝트 및 Java™ TestDomain 오브젝트가 설정됩니다. 브라우저에 HTML 도메인의 HTML 요소 및 Java 도메인의 애플릿이 들어 있기 때문에 이들 오브젝트가 설정됩니다.
TestDomain 오브젝트에서는 제어 레벨 통신을 관리 하기 위해 ProxyTestObjects가 작성됩니다. ProxyObject는 모든 Functional Test 활동을 수행하는 동안 통신해야 하는 제어에 사용되도록 작성됩니다. ProxyObject는 AUT의 각 제어와 일대일 관계에 있습니다. 여러 AUT 제어 간의 모든 상호작용은 ProxyTestObject를 통해 이루어집니다.