Ein DHTML oder Ajax Test stellt besonders in den folgenden zwei Situationen spezielle Anforderungen an die Testautomatisierung von Web Anwendungen:
Da diese Änderungen erst nach Ankunft des HTML-Dokumentes im Browser umgesetzt werden, lassen sich Anpassungen beim DHTML oder AJAX Test auch erst nach Fertigstellung der Seite im Browser untersuchen. Deshalb testet web2test per Capture & Replay das GUI der Anwendung (siehe Webanwendungen testen mit Capture & Replay), da dieser Ansatz - im Gegensatz zu HTTP-Unit-Tests und zu HTTP-Request/Response, die beide unterhalb der Präsentationsschicht auf Übertragungsebene ansetzen - die Funktionalität auf Ebene der Anwendungsoberfläche überprüft.
Abildung 1: Berücksichtigung der besonderen Anforderungen beim DHTML und Ajax Test durch web2test
Ein weiterer Punkt, der web2test für einen DHTML und AJAX Test qualifiziert, ist die komponentenbezogene Aufnahme aller Nutzerinteraktionen. Damit wird zum einen möglichen Events vorgebeugt, die unbeabsichtigt vom Betriebssystem oder von anderen Anwendungen abgefangen werden können – wie etwa ein Mausklick auf eine feste Position des Bildschirms. Solche Events behindern nicht nur beim DHTML und AJAX Test, sie können auch zu unerwünschten Reaktionen dieser Anwendungen führen. Zum anderen ist auch die dynamische Veränderung der Oberfläche beim DHTML und AJAX Test kein Problem mehr, da Komponenten unabhängig von ihrer aktuellen Position wiedergefunden werden können.
Die Verbindung aus komponentenbezogener Aufnahme und dem Abspielen auf Ebene der Anwendungsoberfläche sorgt für eine reale Nutzersimulation des Testwerkzeuges und sie stellt die bislang effektivste Möglichkeit dar, um eine 100%-ige Unterstützung von DHTML und AJAX Tests sicherzustellen.
Um Nutzerinteraktionen komponentenbezogen aufnehmen zu können, müssen die Kompo-nenten jedoch auch eindeutig identifiziert werden. Die meisten Werkzeuge nutzen hierfür entweder die starren Strukturinformationen der HTML-Dokumente oder eindeutig vergebene Namen bzw. IDs. Beide Herangehensweisen stoßen jedoch beim DHTML oder AJAX Test schnell an ihre Grenzen. Grund: Eine dynamische Anpassung der Oberfläche führt auch zu einer Veränderung der Struktur, zudem werden die Namen und IDs in Verbindung mit diesen Techniken häufig ebenfalls dynamisch vergeben (siehe auch Testen von dynamischen IDs mit einem Test Tool für Webanwendungen).
Anders bei web2test: In die itCampus-Testsoftware wurden zur besseren Unterstützung von DHTML und AJAX Tests verschiedene Heuristiken integriert, die auch in diesen Fällen eine intelligente Wiederauffindung von Komponenten ermöglichen. So kommen beim DHTML und AJAX Test Algorithmen zum Einsatz, die sowohl die hierarchische Struktur des GUI als auch alle verfügbaren Informationen zu den Komponenten (z. B. Geometrie, child/parents, Sichtbarkeit) berücksichtigen.
Den Artikel “DHTML und Ajax Test” auf Englisch: