Qualitätssicherung: Automatisierte Frontend-Tests mit Selenium IDE

Update im August 2010: Siehe auch weitere Infos in unserem öffentlichen Wiki samt Preisinformationen: http://seibert.biz/selenium

Ein Formular, das nach dem Ausfüllen eine Fehlermeldung ausgibt, ist für den User ein Ärgernis und generiert keine Anfragen. Oder: Eine interaktive Funktion funktioniert nach Wartungsarbeiten am Code plötzlich nicht mehr. Solche und ähnliche Szenarien sind keinem Web-Entwickler fremd.

Regelmäßige Akzeptanztests und systematisches Bug-Tracking sind deshalb unverzichtbare Voraussetzungen für dauerhaft hochqualitative Web-Anwendungen. Freilich ist das Testen einer Website oder von Web-Applikation oft ein mühseliger und aufwändiger Prozess, insbesondere dann, wenn es sich um sehr komplexe Seiten oder Websites mit vielen Interaktionsmöglichkeiten oder Anwendungen handelt, die sich dynamisch verändern. Besonders ineffizient ist es, sämtliche mögliche User-Aktionen immer wieder manuell zu prüfen und miteinander zu kombinieren.

Mit dem Framework Selenium IDE steht jedoch ein auf HTML und Java basierendes Plug-in für den Firefox-Browser zur Verfügung, das automatisierte Frontend-Tests ermöglicht. Wie ein Macro-Recorder zeichnet das Plug-in sämtliche Aktionen des Users auf, die anschließend als Testfälle zur Verfügung stehen. Die komplette Bedienung sowie das Aufnehmen und Abspielen dieser Akzeptanztests erfolgt über den Browser, wobei die Testgeschwindigkeit stets regulierbar ist.

Die Software generiert den selenium-eigenen Selenese-Quellcode automatisch und speichert Testabläufe standardmäßig als HTML-Dateien. Testfälle können jedoch auch in die Sprachen Perl, PHP, Java, C#, Ruby und Python exportiert oder manuell im Quellcode angelegt werden.

Interessant ist nun, dass sich diese Testfälle anschließend beliebig oft wiederholen und auch nachträglich modifizieren lassen: Das Programm durchläuft ausgewählte oder auch sämtliche Pages einer Website automatisiert. Dabei überprüft das Tool nicht nur statische Seiten inklusive sämtlicher Links, sondern auch Formulare, Log-ins in Newsletter-Accounts usw., JavaScript- und AJAX-Funktionen sowie das WebClient-Verhalten.

Die Vorteile von Selenium IDE liegen auf der Hand:

  • systematisches und regelmäßiges Bug-Tracking
  • effiziente und effektive Software-Entwicklung und Qualitätssicherung
  • beliebig oft wiederholbare (und modifizierbare) Test-Sessions
  • automatisierte Tests von interaktiven Elementen sowie Dialog- und WebClient-Verhalten
  • Exportierbarkeit von Testfällen in andere Programmiersprachen
  • Web-Basiertheit und komplette Bedienung über den Browser
  • Open-Source-Software

Die wesentlichen Funktionen von Selenium IDE und die Arbeit mit dem Tool sind die Themen dieses Video-Tutorials (englisch):

Gerade bei der Weiterentwicklung und der regelmäßigen Qualitätssicherung von Web-Anwendungen tragen automatisierte Akzeptanztests maßgeblich zur Effizienz und Effektivität bei, ersparen sie Entwicklern doch nicht zuletzt eine Menge Tipparbeit. Selenium IDE ist ein Open-Source-Tool und unterliegt der Apache-2.0-Lizenz.

Sicherlich ersetzt die Arbeit mit Selenium IDE keine systematische Qualitätssicherung in Web-Projekten und erst recht kein sorgfältiges und professionelles Interaktions-Design. Der Nutzen des Plug-ins hinsichtlich der Zeit- und Kostenersparnis und der damit einhergehenden Produktivitätssteigerung im Rahmen von Testvorgängen ist dennoch beträchtlich.

Weiterführende Informationen:
Die Selenium-IDE-Website
Frontend-Entwicklung auf der Website von //SEIBERT/MEDIA/TECHNOLOGIES
Testen von Web-Inhalten im Browser mit Selenmium IDE (Video-Referat von Thorsten Biedenkapp)
Extreme Programming: Vorgehensmodell zur Software-Entwicklung bei //SEIBERT/MEDIA
Fehlerberichte: Wie Sie Software-Fehler melden sollten

Den //SEIBERT/MEDIA-Podcast abonnieren


Mehr über die Creative-Commons-Lizenz erfahren