Reinventing Quality

ERROR: Content Element with uid "4430" and type "dce_dceuid16" has no rendering definition!

Motivation:
Performance ist eines der wichtigsten Merkmale der Softwareentwicklung im Webumfeld. Von besonderer Bedeutung ist dabei eine fortlaufende Auswertung der gemessenen Werte in Bezug auf Zeit und Seitengröße. Um eine schnelle und einfache Analyse der Ergebnisse vornehmen zu können, ist die visuelle Darstellung für transparente Messwerte entscheidend.
Durch die immer größere Verbreitung mobiler Endgeräte mit Internetzugang, wird die Summe potentieller Nutzer größer und durch die verschiedenen Internetgeschwindigkeiten Performance immer bedeutsamer.

Basis:
Zu Beginn ist eine Evaluierung verschiedener Tools zum Messen und Optimieren der Geschwindigkeiten notwendig. In die Bewertung fließen sowohl technische als auch fachliche Aspekte ein. So ist die Möglichkeit das Tool in die Continous Build Chain einzubinden unerlässlich. Zusätzlich müssen die gemessenen Werte konsistent gespeichert werden, um Trends und Optimierungsmöglichkeiten aufzeigen zu können. Desweiteren muss die Option gegeben sein, eigene Schwellwerte für verschiedene Messungen festzulegen und jederzeit diese nach Bedarf verändern zu können.

Lösung:
Unsere Entscheidung war webpagetest.org einzusetzen. Es ist in der CI-Umgebung eingebunden und läuft bei jeder Codeänderung mit. Die gemessenen Metriken werden automatisch in einer Datenbank gespeichert und visuell in einem Dashboard aktualisiert dargestellt. Als weiteres Feature liefert webpagetest.org best practices für Desktop- und Mobile Webseiten. Um aussagekräftige Daten sammeln zu können, werden verschiedene Browser zur Messung angeboten.

Ergebnis:
Bei ImmobilienScout24 / MisterSpex gibt es verschiedene Product Owner, die jeweils für einen Teil der Plattform zuständig sind. Jeder hat ein hohes Interesse an einer guten Performance, damit die Nutzer die bestmögliche Userexperience erfahren.
Der Product Owner stellt seinem Team eine Story zur Umsetzung ein. Durch die Vollautomatisierung bekommen die Entwickler während der Entwicklungsphase sofort Feedback und gegebenenfalls Verbesserungsvorschläge, um das Produkt performanter zu erstellen.

Ausblick:
Um die verschiedenen Internetgeschwindigkeiten und Standorte der Nutzer zu simulieren, wäre es denkbar die Latenz und Bandbreite des Netzwerks zu verändern. So können Vergleiche zwischen einer U-Bahnfahrt mit langsamer Edge Internetverbindung und dem heimischen WLAN mit VDSL erstellt werden.
Weiterhin wäre es denkbar, dass eine Codeänderung automatisch abgelehnt wird, wenn ein gemessener Schwellwert überschritten wird. Zusätzlich können Alarme per Email versendet werden, um Performanceprobleme transparent zu machen und schnell auf die Geschwindigkeitsverluste reagieren zu können.
Google bietet mit mod_pagespeed verschiedene vordefinierte Konfigurationen für Server an, mit denen automatisch die bestmöglichen Ladezeiten erzielt werden sollen. Auch hier ist es denkbar verschiedene Konfigurationen auszuprobieren und automatisiert auszuwerten.

Vortragsessenz:
Der Zuhörer bekommt eine fertige Lösung präsentiert mit der er sofort seine Entwicklung performanceoptimieren kann. Sie ist individuell einsetzbar und lässt sich auf jede beliebige Webanwendung anwenden. Die Lösung wurde durch die Testabteilung erarbeitet und in die CI-Umgebung der Entwicklungsteams integriert. Die weitere Optimierung der Performance erfolgt durch die Entwicklungsteams selbst.

Pascal Gomolka, ImmobilienScout24

Pascal Gomolka ist als Quality Engineer für ImmobilienScout24 tätig. Er verfügt über 4 Jahre Erfahrung im Bereich der Qualitätssicherung im Webumfeld. Als Quality Engineer ist er für die Qualität in verschiedenen agilen Entwicklungsteams verantwortlich.

Eric Hentschel, Mister Spex GmbH

Eric Hentschel ist als Senior Quality Engineer für die Mister Spex GmbH tätig. Er verfügt über 9 Jahre Erfahrung im Bereich der Qualitätssicherung im Webumfeld. Nach anfänglichem Testmanagement im Umfeld klassischer Softwareentwicklung begleitete er die agile Transition bei einem großen Immobilienportal und war für die Qualität in verschiedenen agilen Entwicklungsteams verantwortlich.