Die grundlegenden und immer wiederkehrenden Funktionen der Testsoftware wurden in ein Framework ausgelagert. Dazu werden die folgenden Teilaufgaben betrachtet:
Grafische Benutzerschnittstelle (GUI) – Das GUI dient zur Steuerung des Prüfprozesses. Die Aufteilung des Desktops und das dynamische Einbetten und Entfernen von VIs sind Subsystem-Funktionen.
Sequencer - Der Sequencer führt Testsequenzen aus und gibt Testergebnisse zurück. Oft ist ein Wrapper für TestStand implementiert. Es können aber auch statische Abfolgen von Prüf-VIs abgearbeitet werden.
Machine - Das Machine-Subsystem steuert und reagiert auf Ereignisse innerhalb des Funktionstesters, der das Setzen und Lesen nicht-prüfbezogener Digitalein- und -ausgänge implementiert.
Logging - Das Logging-Subsystem dokumentiert den Betrieb des Funktionstesters.
Report Generator - Der Report Generator ist für die Prüfberichterstellung verantwortlich. Hierbei können sowohl textbasierte Formate wie auch die direkte Kommunikation mit einer Datenbank implementiert werden. Die Subsysteme kapseln ihre Funktionalität und verbergen jeweils ihre konkrete Implementierung. Die Verteilung erfolgt über eine eigenständige Komponente, welche die Koordination und das kooperative Verhalten zentral festlegt. Das individuelle Verhalten der einzelnen Komponenten wird in die verschiedenen Abstraktionsebenen vererbt.