Normale Testwerkzeuge zur automatisierten Testdurchführung identifizieren die anzusteuernden Controls anhand der Eigenschaften, die sie über die verschiedenen Schnittstellen abrufen können. Sie müssen jeweils bestimmen, welche Eigenschaften für die Erkennung herangezogen werden sollen. Die Ergebnisse werden dann in einer Mapping-Tabelle hinterlegt und dem erzeugten Objekt wird dann ein mehr oder weniger sprechender Name gegeben. Einige der Werkzeuge bilden die Objekthierarchie ab, andere verzichten auch darauf.

Funtestic basiert auf dem Prinzip des intelligenten Scanning. Im 1. Schritt werden rekursiv die zu sammelnden Informationen ermittelt. Ausgangspunkt hierfür ist bei gewöhnlichen Windows-Anwendungen beispielsweise die Win32-Klasse. In der rekursiven Scanning-Routine wird festgelegt, welche Klassen die Rekursion durchlaufen sollen. Dies kann ggf. weiter eingeschränkt werden (hier können sämtliche Merkmale herangezogen werden - Position, State, Verschachtelungstiefe etc.) oder aber auch ergänzt um beispielsweise MSAA oder Bildanalyse. Im 2. Schritt erfolgt dann die Sortierung, ebenfalls in einer Rekursion. Hier wird dann das jeweilige Control einer Kategorie zugeordnet (Eingabecontrol, Ausgabecontrol, statischer Text, Bild, auslösendes Control usw.), wobei sich hieraus dann später auch die Testdateneingabestrukturen ergeben.