Last- und Performancetests

Last- und Performancetests sind ein entscheidender Geschäftstreiber, um sicherzustellen, dass Ihre Produkte und Services eine schnelle und zuverlässige Nutzererfahrung bieten.

Application Performance Testing

Die richtigen Dinge messen

Serverseitige Performance

Performance, Zuverlässigkeit und Effizienz

Hochperformante digitale Erlebnisse beginnen auf dem Server. Unser Ziel ist es, das Zeitverhalten, die Kapazität und die Skalierbarkeit Ihrer Infrastruktur und Ihres Anwendungscodes zu validieren, um sicherzustellen, dass Ihre Plattform für reale Anforderungen bereit ist.

Mehr über serverseitige Tests >>

Clientseitige Performance

Die echte Nutzererfahrung

Reale Performance geht über Serverantwortzeiten hinaus – es geht darum, wie Ihre Nutzer die Anwendung wahrnehmen. Da Webseiten asynchron laden, bestimmen Faktoren wie die JavaScript-Ausführung, die Hardware und die Verbindungsgeschwindigkeit, wann eine Seite „fertig" wirkt.

Mehr über clientseitige Tests >>

API-Performance

Resilienz im großen Maßstab

In einem vernetzten Ökosystem sind Ihre APIs das digitale Bindeglied zwischen Ihren Services. Unsere Tests gehen über einfache „Up-or-Down"-Checks hinaus und messen, wie Ihre Endpunkte hochfrequenten Traffic bewältigen, damit der Datenaustausch auch unter Volllast schnell, konsistent und effizient bleibt.

Unser Performance-Test-Ansatz

Ein typischer Projektlebenszyklus.

Das Problem definieren

Identifizieren der spezifischen Geschäftsrisiken und Performance-Engpässe, die behoben werden müssen, damit die Anwendung die Nutzererwartungen erfüllt. Diese Phase legt das „Warum" hinter Ihren Testbemühungen fest und fokussiert Ressourcen effektiv.

Planung

Festlegung des Testumfangs, der Werkzeugauswahl und der Umgebungsanforderungen bei gleichzeitiger Abstimmung mit den Stakeholdern über den Projektzeitplan. Ein solider Plan stellt sicher, dass die Infrastruktur die simulierte Last ohne Überraschungen bewältigt.

Metriken definieren und erheben

Festlegung klarer Service Level Objectives (SLOs) wie Antwortzeiten, Durchsatz und Fehlerquoten zur objektiven Messung des Erfolgs. Diese Benchmarks dienen als Zielvorgaben für jede anschließende Testausführung.

Skripte erstellen

Entwickeln robuster automatisierter Skripte, die das reale Nutzerverhalten und Datenvariationen präzise nachbilden. Sauberes Skripting ist das Fundament einer Simulation, die tatsächlich widerspiegelt, wie das System in der Produktion genutzt wird.

Baseline

Durchführen erster Tests unter minimaler Last, um den „normalen" Leistungszustand des Systems zu bestimmen. Dies liefert einen kritischen Vergleichspunkt für die Identifizierung von Regressionen oder Verbesserungen bei Hochlastszenarien.

Probleme reproduzieren

Isolieren und Nachstellen identifizierter Performance-Probleme in einer kontrollierten Umgebung, um ihre Ursachen zu verifizieren. Dieser Schritt stellt sicher, dass Entwickler ein konsistentes Szenario zum Testen ihrer Korrekturen haben.

Ausführen, Tunen, Wiederholen

Vollskalierte Lasttests ausführen und Systemkonfigurationen oder Code iterativ anpassen, um die Performance zu optimieren. Dieser Zyklus wird fortgesetzt, bis die Anwendung ihre vordefinierten Performance-Ziele konsistent erreicht.

Auswerten und Dokumentieren

Die gewonnenen Erkenntnisse dokumentieren und eine Strategie für kontinuierliches Performance-Monitoring in der Produktion etablieren. Die Zusammenfassung der Erkenntnisse beugt künftigen Regressionen vor und bereitet das Team auf die nächste Skalierungsstufe vor.

Kontinuierliches Testen etablieren

Um das erreichte Performance-Niveau der Anwendung zu erhalten, empfehlen wir, einen kontinuierlichen Testpfad zu etablieren. Idealerweise ist dies ein automatisierter Prozess, der zu jeder Änderung schnell Feedback liefert.

Unsere Test-Werkzeuge

Leistungsstarke Werkzeuge, entwickelt auf Basis jahrelanger Erfahrung.

Xceptance Test Center - XTC

Projekte skalieren leicht gemacht.

Als cloudbasierter Dienst bietet Xceptance Test Center (XTC) eine einheitliche Schnittstelle für alle Ihre Testanforderungen.

Dieses kommerzielle SaaS-Angebot kombiniert Last- und Performancetests, Monitoring und Testautomatisierung für Webanwendungen und APIs, sodass Sie alles von der Konfiguration bis zur Ergebnisanalyse in einer Anwendung abwickeln können.

Sie können sogar vorhandene Ressourcen, wie Ihre XLT-Lasttests, weiterhin nutzen und gleichzeitig von den zusätzlichen Vorteilen profitieren, die XTC mit seiner zentralen Steuerung und dem Zugriff auf umfassende Ergebnisse bietet.

Erfahren Sie mehr auf unserer XTC-Produktseite.

Xceptance LoadTest - XLT

Flexibel, vielseitig, bewährt.

Als spezialisierte Lasttest-Experten haben wir unser eigenes Werkzeug entwickelt, Xceptance LoadTest (XLT), das genau auf unsere Bedürfnisse zugeschnitten ist. XLT ist ein erstklassiges Werkzeug für Last- und Performancetests, das auf Vielseitigkeit und Flexibilität ausgelegt ist. Es eignet sich sowohl für alltägliche als auch für außergewöhnliche Testherausforderungen.

Zu den wichtigsten Funktionen gehört die Möglichkeit, Tests in reinem Java-Code zu schreiben, die direkt in Ihrer bevorzugten IDE als JUnit-Tests ausgeführt und debuggt werden können. Als Open-Source-Werkzeug unter der Apache-Lizenz gewährleistet XLT, dass keine Herstellerabhängigkeit entsteht und keine zusätzlichen Lizenzkosten anfallen.

Erfahren Sie mehr auf unserer XLT-Produktseite.

Third-Party Mocking Service

Latenzberücksichtigende Emulation von Drittanbieter-Services.

Das Testen mit externen Services kann eine Herausforderung sein. Drittanbieter-Services sind oft nicht für Lasttests ausgelegt und können strenge Nutzungsbeschränkungen oder Performance-Engpässe mit sich bringen. Wir können Drittanbieter-Services wie Bestandsverwaltung, Steuerberechnung, Adressvalidierung und Zahlungsgateways simulieren. Unser Mocking-Service bietet eine latenzberücksichtigende Emulation mit hohem Durchsatz.

XCMailr - E-Mail-Service im großen Maßstab

E-Mails für Tests in großem Umfang.

Lasttests benötigen oft eine große Anzahl unterschiedlicher E-Mail-Adressen. Bestimmte Testszenarien, wie die Benutzerregistrierung oder die Bestellbestätigung, können auch ein erhebliches Volumen an ausgehenden E-Mails erzeugen. Es ist von entscheidender Bedeutung, dass diese E-Mail-Adressen tatsächlich existieren und dass während der Tests versendete E-Mails von einem echten Server empfangen werden.

Xceptance löst diese Herausforderung, indem es E-Mail-Domains besitzt und einen spezialisierten Dienst, XCMailr, anbietet, mit dem E-Mails während der Lasttests in großem Umfang empfangen werden können. Dieser Dienst ermöglicht auch die Auswertung von E-Mail-Inhalten, sodass Szenarien wie das Extrahieren von Gutscheincodes aus E-Mails oder die Validierung von Passwort-Recovery-Prozessen möglich sind.

XCMailr ist Open-Source und verfügbar auf GitHub.

Wissen zählt

Mehr über Last- und Performancetests erfahren

Performance-Erfolgskriterien

Die Auswertung der riesigen Datenmengen, die bei Last- und Performance-Tests anfallen, kann komplex sein. Um allen Beteiligten klare und umsetzbare Erkenntnisse zu liefern, hat Xceptance ein einzigartiges Lasttest-Bewertungssystem entwickelt. Dieses System vereinfacht komplizierte Metriken und macht sie in einem leicht verständlichen Format zugänglich.

Über detaillierte technische Berichte hinaus bieten wir Ihnen eine klare Orientierungshilfe, indem wir Ihre Lasttest-Ergebnisse anhand einer Skala von A+ bis F bewerten, ähnlich wie im amerikanischen Bildungssystem.

Die Noten A+ bis C stehen für eine hervorragende bis zufriedenstellende Performance. Die Note B steht für ein gutes Ergebnis und entspricht einer durchschnittlichen Performance im Vergleich zu ähnlichen Kunden und Projekten. Bei den Noten D oder F gibt es Bereiche, die deutlich verbessert werden müssen.

Unser Bewertungssystem berücksichtigt drei entscheidende Faktoren:

  • Reaktionszeiten: Wie schnell reagiert Ihre Anwendung auf Benutzeranfragen
  • Fehler: Anzahl und Art der während des Tests aufgetretenen Fehler
  • Vorhersagbarkeit: Konsistenz der Performance Ihrer Anwendung unter Last

Für eine genaue Bewertung werden die Seiten der Webanwendung in Gruppen eingeteilt (z.B. Startseite, Katalog, Checkout für E-Commerce). Jeder Gruppe werden dann spezifische Grenzwerte für Reaktionszeiten, Fehler und Vorhersagbarkeit zugeordnet. Die Bewertung einer Gruppe wird durch den schlechtesten ermittelten Wert innerhalb dieser Gruppe bestimmt. Die niedrigste Gruppenbewertung bestimmt dann die endgültige Gesamtnote.

Table with grades A+ to F of the Xceptance load test rating scheme

Serverseitige Performance

Das Ziel besteht darin, das Zeitverhalten, die Kapazität und die Skalierbarkeit sowohl der Infrastruktur als auch des Anwendungscodes zu testen. Dieser Prozess konzentriert sich auf die zu testende Plattform und erfolgt vor allem auf der Kommunikationsebene, z. B. HTTP/S. Client-Aktivitäten wie Browser- oder Geräte-Rendering werden dabei nicht überprüft. Von CDNs bereitgestellte Ressourcen (statische Inhalte) und Anfragen, die von der Client-Seite an Drittanbieter-Dienste wie Analysedienste gestellt werden, werden in der Regel nicht berücksichtigt.

API-Performancetests gehören ebenfalls zu dieser Kategorie, darunter:

  • APIs innerhalb größerer Webarchitekturen, wie z. B. Headless- und Progressive Web Apps (PWAs)
  • Allgemeine Web Services
  • REST-basierte APIs

Technisch gesehen sind serverseitige Tests von Webanwendungen und „reine" API-Performancetests weitgehend identisch, da beide das Senden von Anfragen an einen oder mehrere Server und die Auswertung der Antworten umfassen.

Der Hauptunterschied liegt in der Vorgehensweise. Bei Webanwendungen analysieren wir die Anwendung und ihre Client-Server-Kommunikation, um Testskripte zu erstellen, die die spezifische Logik der Anwendung beim Erstellen von URLs und Abrufen von Daten nachbilden. Bei API-Tests werden die Testskripte anhand der API-Dokumentation und gängiger Anwendungsfälle erstellt, um typische Interaktionsmuster zu simulieren.

Bitte beachten Sie, dass eine gute Performance auf Serverseite eine Voraussetzung für eine gute Performance auf Clientseite ist.

Die Ermittlung der serverseitigen Performance erfordert klassische Lasttests. Dazu werden spezielle Werkzeuge eingesetzt, die mithilfe von Lastagenten-Rechnern das Verhalten von Benutzern und clientseitigen Anwendungen simulieren, Anfragen an die zu testende Plattform senden, detaillierte Ergebnisse messen und umfassende Reports erstellen.

Clientseitige Performance

Dies ist die tatsächliche Performance Ihrer Webanwendung in einem Browser, wie sie von Ihren Endbenutzern wahrgenommen wird. Eine Webseite wird asynchron geladen, wobei verschiedene Daten aus mehreren Anfragen gesammelt, geparst, verarbeitet und gerendert werden.

Obwohl Lasttests die Antwortzeiten dieser darunterliegenden Anfragen messen, ist es nicht möglich, daraus die genaue Zeit abzuleiten, die ein echter Browser für die Anzeige der vollständig gerenderten Webseite benötigt. Diese Dauer hängt auch von Faktoren wie dem Browsertyp, der Größe des Darstellungsbereichs, der Hardware des Client-Computers, der Ausführung von JavaScript auf der Client-Seite und der Geschwindigkeit der Internetverbindung ab. Es ist sogar schwierig, genau zu definieren, wann eine Webseite als „vollständig" gilt.

Um die Performance auf der Client-Seite genau zu bewerten, bieten wir unseren Client-Side Performance Review an. Dabei handelt es sich um eine werkzeugunterstützte, umfassende Überprüfung der Performance Ihrer Anwendung in einem Browser.

Wir nutzen dabei etablierte KPIs wie Google Core Web Vitals und RAIL-Richtlinien, um die Performance sowohl für Desktop- als auch für responsive Designs über WLAN- und Fast-3G-Verbindungen zu messen.

Neben den Ergebnissen der Messungen umfassen unsere Deliverables auch wertvolle Empfehlungen zur Performance-Optimierung und Benutzerfreundlichkeit.