Beim Testen von Webseiten macht es einen großen Unterschied ob Sie:
Während sich bei statischen Seiten weder der Inhalt noch die Oberfläche ändert, kann bei dynamischen Seiten beides vorkommen. Für das Webseiten Testen statischer Seiten reichen entweder manuelle Tests oder einfache Werkzeuge, die z.B. per Screenshot-Vergleich die Geometrie oder die im Browser dargestellten Web-Inhalte überprüfen (Unterschiede zwischen screenshot- und komponentenbasierter Web Test Software). Das Problem ist die fehlende Flexibilität dieses Ansatzes beim automatisierten Webseiten Testen. Ändert sich das Layout der Webseite im Vergleich zum Status der Inhaltsseite zum Zeitpunkt der Aufnahme, schlägt diese Form des Webseiten Testens sofort fehl. Ein einziger geänderter Wert in einer Zeile einer Tabelle ist dafür schon ausreichend. Um dies zu vermeiden, müssen alle Vorbedingungen genau abgebildet und vor dem Test entsprechend sichergestellt werden – und dies erweist sich häufig als äußerst aufwendig.
Neben Layout-Änderungen lässt sich aber auch die komplette Funktionalität von Webseiten testen. Dies bietet sich besonders bei den komplexeren dynamischen Webseiten an, die häufig auch eine Vielzahl von Funktionen enthalten. Mit manuellem Testen kommt man hier auf Grund des hohen Funktionsumfanges in den meisten Fällen nicht weit. Als Alternative bietet sich das automatisierte Webseiten Testen an (lesen Sie folgenden Artikel über die Testautomatisierung von Web Anwendungen für weitere Informationen).
Abbildung 1: Unterschiede beim Webseiten Testen dynamischer und statischer Seiten
Um die Besonderheiten dynamischer Seiten besser verstehen zu können, sollte man zunächst zwischen dynamischen Inhalten und einer dynamischen Oberfläche unterscheiden (der Artikel DHTML und Ajax Test geht in diesem Zusammenhang näher auf dynamische Oberflächen ein). Während dynamische Inhalte beim automatisierten Webseiten Testen eher dazu führen können, dass Inhaltschecks auf Grund sich ändernder Werte fehlschlagen, stellt eine dynamische Oberfläche spezielle Anforderungen an die verwendete Technik. Das Problem der fehlschlagenden Checks beim Webseiten Testen mit dynamischen Inhalten lässt sich z.B. lösen, indem man die Checkwerte in der angebunden Datenbank beim jeweiligen Datensatz hinterlegt (hier finden Sie weitere Informationen zum datengetriebenen Testen von Webanwendungen). web2test bietet mit seinem Abhängigkeitsmechanismus außerdem die Möglichkeit konstante Voraussetzungen für jeden Testdurchlauf zu schaffen.
Abbildung 2: web2test Testsuite mit Abhängigkeiten zum Sicherstellen konstanter Vorbedingungen für das Webseiten Testen
Webseiten Testen bei dynamischer Oberfläche stellt die meisten Testwerkzeuge allerdings vor ein Problem. Wie kann ich Funktionen, die sich individuell auf der Oberfläche anordnen lassen, effektiv und problemlos testen? web2test löst dieses Problem des Webseiten Testens über eine reale Nutzersimulation beim Abspielen der Testfälle und eine komponentenbezogene Aufnahme von Events.
Den Artikel “Dynamische und statische Webseiten testen” auf Englisch: