L'architettura Functional Tester abilita gli sviluppatori a scrivere un proxy per un determinato controllo UI. Gli sviluppatori possono abilitare Functional Tester ad elaborare le specifiche di un controllo mediante la scrittura di proxy. Possono essere inoltre fornite capacità di test funzionale.
I proxy forniscono Functional Tester con dettagli relativi ad un controllo per cui è scritto. Functional Tester ha una serie predefinita di metodi per eventuali proxy e richiama ogni metodo per acquisire dettagli specifici. Per eventuali proxy scritti per un controllo, tali metodi predefiniti vengono implementati in modo specifico per il controllo.
Relativamente ai controlli, Functional Tester fornisce una serie di proprietà e tipi di dati di verifica. Se i tipi di dati e la serie di proprietà attualmente forniti non è sufficiente ad eseguire il test del controllo, è possibile creare un nuovo proxy escludendo alcuni metodi; è possibile includere più proprietà o tipi di dati. Il funzionamento della registrazione di Functional Tester può essere inoltre modificato creando nuovi proxy.