Bessere Performance durch automatisiertes Testing

Stefanie Berger

Stefanie BergerJuni 2021

Ursprung von schlechter Performance

Um schlechte Performance zu verhindern, müssen wir zuerst feststellen, wie schlechte Perfomance entsteht. Performance Test und Lasttests werden im klassischen Projektvorgehen oft nur einmal durchgeführt – am Ende der Entwicklung und kurz vor Go-live. Während der Lasttests wird die Applikation unter der zu erwartenden Last getestet: zum Beispiel, ob in einem Commerce-System eine Vielzahl von Personen gleichzeitig den Warenkorb befüllen können. Die Tests entdecken Performance-Engpässe oder führen sogar zum Crash der Webapplikation. Performance-Probleme sind vielfach auf Änderungen im Code oder auf Anpassungen bei Schnittstellen zurückzuführen.

Der Schlüssel liegt darin, das Performance Testing direkt in die Deployment Pipeline zu integrieren.

Integration in die Deployment Pipeline

Das Ziel ist, die Auswirkungen von Code auf die Performance möglichst früh festzustellen und zu beheben. Doch wie kann dies im agilen Vorgehen, wenn wir zum Beispiel alle drei Wochen neuen Code mit neuen Funktionen in die Live-Applikation einspielen, gelingen? Der Schlüssel liegt darin, das Perfomance Testing direkt in die Deployment Pipeline zu integrieren. So können wir die Performance Tests automatisiert ausführen. Entweder können wir so die Performance Tests automatisiert, zum Beispiel nach einem Deployment, ausführen oder manuell per Klick starten.

Das Bild zeigt eine grafische Übersicht zu einem Testing eines Website-Performance-Durchlaufs – der Lasttest läuft Nachts auf dem Testsystem, welches mit dem Live-System identisch ist.

Integration in das agile Projektvorgehen

Wie das Beispiel in der Grafik zeigt, laufen die Lasttest jede Nacht auf dem Testsystem. Damit die Lasttests aussagekräftig sind, muss das Testsystem identisch wie die Produktion aufgebaut sein. Probleme erkennen wir nun direkt, wenn sie erstmalig nach einem Deployment auftauchen. Zu diesem Zeitpunkt ist es für die Entwickler:innen besser nachvollziehbar, welche Code-Änderungen sich auf die Performance ausgewirkt haben. Somit können wir die Probleme früher und günstiger beheben, als wenn der Test erst Monate nach der Entwicklung erfolgt.

Dank Performance Testing können wir schneller und besser nachvollziehen, welche Code-Änderungen sich auf die Performance auswirken.

Integration ins agile Projektteam

Die Ergebnisse der Performance Tests sind für alle Projektmitglieder inklusive Kund:innen sichtbar. Der Vergleich zum Resultat vom letzten Deployment hilft dem DevOps-Team zu entscheiden, ob ein Deployment auf die Produktion möglich ist. Zeigen die Tests eine Verschlechterung der Performance auf, sucht das Team gemeinsam nach der Ursache und nach einer Lösung. Es kann sein, dass wir weitere Entwicklungen zurückstellen, bis wir das Problem beheben konnten. Nur so können wir sicherstellen, dass Performance-Probleme nicht über mehrere Releases mitgezogen werden.

Automatisiertes Performance Testing zahlt sich aus

Automatisiertes Performance Testing zahlt sich aus: fürs Entwicklungsteam, für die Organisation und für die Kund:innen. Diese wissen vor der Auslieferung des Releases, ob die Änderungen und die neuen Features der zu erwartenden Last standhalten werden. Zudem sind die einmaligen Aufwände für die Testkonzeption durch die kontinuierliche Ausführung nachhaltig investiert. Performance bleibt zwar weiterhin eine verwundbare Stelle in der Webapplikation, doch das Risiko eines Vorfalls im Live-Betrieb können wir so nachhaltig reduzieren.

Mehr aus unserem Magazin

Januar 2020

Die Heinzelmännchen der Zukunft: Ohne Mütze, dafür mit künstlicher Intelligenz

Um den gestiegenen Anforderungen an Software und Webapplikationen gerecht zu werden, setzen wir auf Application-Performance-Monitoring-Tools. Diese geben einen tiefen Einblick in die Qualität der Lösungen und unterstützen uns bei der Überwachung der Systeme – neu mit künstlicher Intelligenz.

Die Heinzelmännchen der Zukunft: Ohne Mütze, dafür mit künstlicher Intelligenz
Stefanie Berger

Stefanie Berger

Kontakt für Ihre digitale ​Lösung mit Unic

Termin buchen

Sie möchten Ihre digitalen Aufgaben mit uns besprechen? Gerne tauschen wir uns mit Ihnen aus.​

Jörg Nölke
Jörg Nölke
Gerrit Taaks
Gerrit Taaks

Wir sind da für Sie!

Termin buchen

Sie möchten Ihr nächstes Projekt mit uns besprechen? Gerne tauschen wir uns mit Ihnen aus.

Melanie Klühe
Melanie Klühe
Stefanie Berger
Stefanie Berger
Philippe Surber
Philippe Surber
Stephan Handschin
Stephan Handschin