×
Mac Monitor mit Codeausschnitten

Case Study: Douglas.de



Testautomatisierung im agilen Projekt

Douglas steht für eine große Auswahl an hochwertigen Parfums und Beautyprodukten, die in über 1.200 Parfümerien weltweit angeboten werden. Neben dem klassischen Handelsgeschäft betreibt Douglas seit vielen Jahren den Online-Shop „douglas.de“, der zusätzlich zum gesamten Warensortiment Serviceleistungen, Eventspecials und personalisierte Features bereitstellt. Das agile Entwicklungsteam um douglas.de nutzt zur Durchführung automatisierter und manueller Tests webmate.

Der Onlinehandel im Consumer-Bereich ist hart umkämpft. Moderne Benutzerschnittstellen, die Integration sozialer Netzwerke und die reibungslose Integration des Kaufprozesses sind inzwischen die Grunderwartung der meisten Anwender. Schnell können Fehler neben Umsatzverlusten zu einem Abwandern eines Kunden führen. Um bei so hohen Qualitätsanforderungen in der Lage zu sein, neue Features schnell verfügbar zu machen, bedarf es neben agiler Entwicklung auch einer entsprechenden Testautomatisierung.

Ablaufgrafik der funktionalen Tests über Jenkins und Selenium

Funktionales Testing mit der Selenium API

Das Testteam von douglas.de verwaltet eine Menge funktionaler Tests, die als Selenium-Skripte realisiert sind. Als Remote-Selenium-Hub wird die Web-driver-API der webmate-Cloud-Lösung eingesetzt. Hierdurch steht ohne Mehraufwand eine große Anzahl von Browsern für die Testdurchführung zur Verfügung. Die funktionalen Tests werden regelmäßig vom Continuous Integration System Jenkins zur Ausführung gebracht, welches das Entwicklungsteam über Fehler informiert.

Debuggen mit Webmate Live-Testing

Wenn funktionale Fehler gemeldet werden, nutzen TesterInnen und EntwicklerInnen webmate Live-Testing, um den Fehler im betroffenen Browser zu reproduzieren. Hier stehen alle Werkzeuge zur Verfügung, die zur Fehlersuche in einer modernen Webanwendung benötigt werden - für eine große Zahl an Browsern und Browserversionen.

Automatische Cross-Browser-Layout-Tests

Während mit webmate-basierten Selenium-Tests eine hohe funktionale Testabdeckung in vielen Browsern erreicht werden kann, ist die Korrektheit des Layouts mit rein funktionalen Tests nur schwer zu überprüfen. Aus diesem Grund nutzt das Testteam von Douglas hierfür den vollautomatischen Cross-Browser-Layout-Vergleich von webmate. TesterInnen geben einen Referenz- und mehrere Vergleichs-Browser vor und webmate findet vollautomatisch Layout-Abweichungen zwischen den Browsern. Um die Teststabilität zu erhöhen, können dynamische Elemente wie Produkt-Slider vom Vergleich ausgenommen oder Seitenbereiche vollkommen ignoriert werden.

Screenshot einer Galen-Spezifikation

Layout-Spezifikationen mit Galen

In vielen Projekten basiert die Realisierung der Benutzerschnittstelle vollständig auf Mock-Ups und Photoshopdateien. Dies macht eine automatische Prüfung der korrekten Umsetzung schwierig bis unmöglich. Das auf Selenium basierende Open-Source-Projekt „Galen Framework“ bietet die Möglichkeit, das Layout von Webseiten formal zu spezifizieren und zu testen. Mit „Galen-Specs“ können Abhängigkeiten zwischen UI-Elementen so definiert werden, dass beispielsweise mehrere Buttons auf gleicher Höhe angeordnet werden sollen oder ein Textfeld zentriert dargestellt werden soll. Douglas nutzt Galen zur Überprüfung wichtiger Layout-Eigenschaften, wie der korrekten Platzierung von Call-to-Action-Buttons. Zur Durchführung von Galen-Tests wird die Standard-Selenium-API von webmate verwendet.