Es gibt verschiedene Ansätze für funktionales Web Testen ohne dabei Modifikationen am zu testenden Softwaresystem vorzunehmen:
Während bei HTTP-Unit-Tests und HTTP-Request/Response unterhalb der Präsentationsschicht angesetzt wird, lassen sich bei der Steuerung und Beobachtung auf GUI-Ebene auch die Darstellung und die Interaktionsmöglichkeiten eines Nutzers mit berücksichtigen. Deshalb kommt dieser Ansatz in Form von Capture & Replay (siehe auch Webanwendungen testen mit Capture & Replay) bei web2test zum Einsatz.
Für funktionales Web Testen auf GUI-Ebene gibt es wiederum verschiedene Heran-gehensweisen:
web2test nutzt für das funktionale Web Testen (weitere Einsatzmöglichkeiten finden Sie unter Web Testen) die Technologie des „Browser embeddings“, da dies der beste Weg ist, um Benutzereingaben in der Art aufzeichnen und abspielen zu können, als ob diese durch reale Nutzeraktionen verursacht wurden (lesen Sie den Artikel über Webseiten Testen für Informationen wie eine reale Nutzersimulation das Testen dynamischer Webseiten unterstützt). Zudem müssen für die Abbildung der Testszenarien keine Komponenten im Browser oder über einen Web Application Server ausgetauscht oder modifiziert werden. Insbesondere Letzteres kann Testergebnisse verfälschen und verkompliziert darüber hinaus das funktionale Web Testen, da zusätzliche Infrastrukturen vorgehalten werden müssen.
Abbildung 1 web2tests Ansatz des Browser embedding für funktionales Web Testen
Das „Browser embedding“ funktioniert bei web2test folgendermaßen:
Die Testsoftware nutzt ActiveX zum embedding des Internetexplorers und GRE zum embedding von Mozilla. Über die embedding Schnittstelle hat web2test direkten und konstanten Zugriff auf alle Browserinformationen (z.B. Rendering Informationen und DOM Struktur). Es können somit alle Browser-, DOM- und Javascript-Events während der Laufzeit registriert, ausgelöst oder manipuliert werden, was wiederum eine Vielzahl von Möglichkeiten eröffnet, um das funktionale Web Testen individuell an besondere Anforderungen anzupassen. web2test zeichnet alle Events komponentenbezogen auf (für weitere Informationen zum komponentenbezogenen Ansatz siehe Ansätze funktionaler Web Test Software). Über die embedding Schnittstelle werden diese direkt auf den entsprechenden DOM Elementen ausgeführt.
Den Artikel “ Funktionales Web Testen” auf Englisch: