4 Minuten Lesezeit (806 Worte)

Last- und Performance-Testing

In der heutigen digitalen Welt, in der die Benutzererwartungen ständig steigen, ist die Leistungsfähigkeit von Anwendungen und Systemen von entscheidender Bedeutung. Ein Ausfall oder eine langsame Reaktion kann Kunden verärgern und Geschäftsverluste verursachen. Daher sind Last- und Performance-Tests zu einem unverzichtbaren Bestandteil des Software-Entwicklungs- und Bereitstellungsprozesses geworden. In diesem Artikel werden die Grundlagen von Last- und Performance-Tests erläutert, inklusive eines kleinen Überblicks, welche Tools dafür eingesetzt werden können.

Hintergrund

Mit Last- und Performance-Tests (kurz L&P Tests) wird die Leistung und Performance von Software unter unterschiedlichen Belastungen geprüft. Dies sollte vor dem Go-live im Entwicklungsprozess und vor jeder Einführung von Änderungen einer Software durchgeführt werden. Bei der Durchführung der L&P-Tests wird festgestellt, ob die Software bei ihrer Ausführung auf der vorgesehenen Hardware den gewünschten Anforderungen entspricht. 

Gründe für das Scheitern

Der Zweck von L&P-Tests ist es, die Einhaltung der Leistungsanforderungen an Software zu testen und bei nicht erreichen dieser, die Entwicklerteams darauf hinzuweisen. Dadurch können die Gründe ermittelt und abgestellt werden.

Mögliche Gründe für das Nichterreichen der Anforderungen können sein:

  • keine passende Infrastruktur
  • zu schwache Hardware
  • zu klein ausgelegte Middleware
  • keine performanten Anwendungskomponenten
  • zu hohe Anforderungen

Testumfang

Der Umfang von Performance-Tests konzentriert sich immer auf die Durchführung von Endbenutzer Aufgaben einer Software, bei denen zu erwarten ist, dass diese regelmäßig und häufig benutzt werden.

Wird z. B. eine Zeiterfassung und Stundenprüfung getestet, so würde der Test verschiedene Aktionen umfassen, die ein Benutzer dafür durchführen müsste, bspw. die Anmeldung, das Anlegen einer Arbeitszeit, das Speichern des neuen Eintrages und das Abmelden.

Das Mengengerüst, mit dem die L&P-Tests durchgeführt werden, ergibt sich in der Regel aus dem maximal zu erwartenden gleichzeitigen Benutzeraufkommen. Dies stellt für die Tests die Minimalmenge dar, mit der am Ende die Software getestet wird. Ermittelt werden kann das Mengengerüst dabei aus Erfahrungswerten, dem Monitoring oder auch einfach physikalischen Grenzen wie bspw. der maximalen Anzahl an Rechnern in einem Unternehmen.

Um eine valide Aussage über die Performance einer Software machen zu können, muss neben der repräsentativen Hardware und der Benutzermenge auch ein entsprechender Füllstand in dazugehörigen Datenbanken vorliegen.

Testarten

Die Tests können in verschiedene Arten unterteilt werden. Die Grundlage für jeden Test bildet der sogenannte Systemtest. Dabei werden alle Geschäftsprozesse noch einmal mit der gewählten Software und einem Benutzer getestet, um sicherzustellen, dass diese funktional korrekt funktionieren. Dies ist immer die Grundlage für die anderen Testverfahren.

Bei einem Ramp-Up-Test wird die Menge an Benutzern, die eine Software benutzen, kontinuierlich erhöht, um den Punkt zu finden, an dem die Grenzen des Systems erreicht sind. Benutzt wird dieses Verfahren häufig bei Software, zu der es noch keine Erfahrungswerte gibt. Die Steigerung der Benutzer findet meistens in Paketen statt, bei denen die Anzahl der Benutzer immer über einen bestimmten Zeitraum gehalten wird, bevor das nächste Benutzerpaket hinzukommt.

Der Standardtest bildet den Normalfall ab, der am Ende für den kontinuierlichen Vergleich herangezogen wird. Dabei wird die Software mit dem vorher bestimmten Mengengerüst für eine festgelegte Zeit unter Last gesetzt. Dies sind in der Regel zwischen 4 und 6 Stunden, um einen Arbeitstag grob zu simulieren. Die Ergebnisse dieses Tests werden häufig mit denen der letzten Softwareversion verglichen, um Performanceänderungen festzustellen.

Die letzte Testart ist der Dauertest, bei dem ein Standardtest über einen längeren Zeitraum durchgeführt wird.

Analyse und Reporting

Während den verschiedenen Testarten werden die einzelnen an der Software beteiligten Systeme überwacht, um mögliche Engpässe feststellen zu können. Dazu gehören die Prozesse der Software, ihre Antwortzeiten und die ihrer Unteraktionen. Ebenso beobachtet werden die Monitoring-Daten der beteiligten Server (CPU, Memory, Storage, Network) und die einzelnen Request-Antworten.

Alle Daten werden im Reporting aufbereitet, um diese an die einzelnen Entwicklerteams und das Projektmanagement weitergeben zu können.

Mögliche Software

Die hier aufgeführte Software ist nur exemplarisch und muss für die eigenen Bedürfnisse angepasst oder ausgewählt werden. 

s_aturn von Zott

Das Kernstück der Last- und Performance-Tests bildet der Lasttest-Server s_aturn der Firma Zott (zott.net). Dieser führt die tatsächlichen Lasttests durch und misst die Zeiten der einzelnen Requests.

Zusätzlich übernimmt er die Aufbereitung der Ergebnisse und stellt diese, falls gewünscht, auch als Vergleich dar – entweder im HTML-Format oder als PDF.

Die einzelnen Testtreiber müssen in C geschrieben werden. Die Vorlagen für das Reporting nutzen das TeX-Format.

Monitoring

Für das Monitoring kann der jMeter verwendet werden. Vorteil ist, dass auf den beteiligten Servern keine mächtige Software installiert werden muss und jMeter sehr ressourcensparend ist. Er misst sich dadurch nicht selbst.

Für eine bessere Visualisierung während der Tests kann zusätzlich Elastic Search verwendet werden. Dieses ist in Bezug auf die Darstellung etwas komfortabler.

Versionierung

Da der s_aturn Server selbst keine Möglichkeit für eine Versionierung mitbringt, muss hierfür auf eine extra Lösung zurückgegriffen werden. Die optimale Lösung hierfür ist Git, welches ohne Probleme benutzt werden kann, da der s_aturn in seinen Projekten nur textbasierte Dateien verwendet. 

Hier finden Sie eine Übersicht zu Seminaren aus diesem Fachbereich:

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Freitag, 01. März 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie