© Excellent backgrounds/Shutterstock.com
UI-Test mit Selenium WebDriver

Automatisiertes Testen von Weboberflächen


Testautomatisierung als solche ist mittlerweile in den meisten Softwareprojekten angekommen, sofern die Entwicklung nicht noch auf dem Stand der Neunzigerjahre des vergangenen Jahrhunderts stehengeblieben ist. So werden z. B. in Komponententests einzelne Klassen getestet, in Integrationstest wird das Zusammenspiel mehrerer Komponenten betrachtet usw. Bei den meisten Entwicklern sind Begriffe wie Mocking, TDD, JUnit, Arquillian etc. mittlerweile angekommen, wobei gerne noch (auch genormte) Begriffe durch die Projektbeteiligten durcheinander geworfen werden. Für den Test von Weboberflächen gehört im Java-Umfeld Selenium WebDriver zu den weit verbreiteten Testwerkzeugen. Dieser Artikel soll einen ersten Einstieg bieten.

Automatisierte UI-Tests von Weboberflächen zielen, wie es auch bei automatisierten Komponenten- und Integrationstests der Fall ist, u. a. darauf ab, erwartete Ergebnisse mit den tatsächlichen zu vergleichen (Soll-Ist-Vergleich), um somit eine verlässliche Aussage darüber treffen zu können, ob das Testobjekt (in diesem Fall die zu testende Webseite) gemäß einer vorliegenden Spezifikation implementiert wurde und dieses Testobjekt bestimmte Qualitätsmerkmale aufweist. Es existieren einige wichtige Argumente, die für eine Automatisierung von UI-Tests sprechen; hervorzuheben ist da zum einen, dass sich automatisierte Testfälle mit hoher Geschwindigkeit ausführen lassen können; schneller als es jede studentische Hilfskraft vermag. Darüber hinaus sorgt ein automatisierter UI-Test für einen kleinen „Integrationstest“ – von oben (der Weboberfläche) bis ganz nach unten (Service oder Datenbank) und anschließend wieder zurück – und gibt so grundsätzliche Auskunft über den Zustand der Anwendung. Dem gegenüber stehen wiederum hohe Implementierungsaufwände in der Einführung, sowie stetiger Aufwand im Anpassen der Testskripte aufgrund von Änderungen im Testobjekt, wobei diese Begründungen jedwede Art von Testautomatisierung in Frage stellen würden.

Für den automatisierten Test von Webseiten sollten darüber hinaus unter anderem mindestens folgende Anforderungen bestehen:

  • Die Testautomatisierung soll verschiedene Browser unterstützen. Die Nutzer der Webseite benutzen nicht nur einen einzigen Browser. Stellen Sie sich ein soziales Netzwerk vor, dass nur für den Internet Explorer verfügbar ist – undenkbar. Bei Spezialanwendungen mag es natürlich eine spezifizierte Vorgabe bezüglich des zu nutzenden Browsers geben, da sich dies aber auch von Anwendung zu Anwend...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang