Was ist Performance Testing?
Performance Testing bewertet, wie sich eine Website, Anwendung, API, Datenbank, Netzwerk oder ein Server unter verschiedenen Nutzungsbedingungen verhält. Es hilft Teams dabei, Geschwindigkeit, Reaktionsfähigkeit, Durchsatz, Stabilität, Skalierbarkeit und Ressourcennutzung zu messen.
Das Ziel ist es, Performance-Probleme zu erkennen, bevor die Nutzer davon betroffen sind. Ein System kann während der Funktionstests korrekt arbeiten, jedoch bei steigendem Traffic langsamer werden, Fehler zurückgeben oder nicht mehr verfügbar sein. Performance Testing hilft Teams zu verstehen, ob die Anwendung das erwartete Nutzungsniveau unterstützt und wo Engpässe behoben werden müssen.
Häufige Performance-Metriken sind Antwortzeit, Durchsatz, Fehlerrate, gleichzeitige Nutzer, Anfragen pro Sekunde, CPU-Auslastung, Speicherverbrauch, Netzwerkaktivität und Datenbankleistung.
Methoden des Performance Testing
Performance Testing ist eine breite Kategorie, die mehrere Testmethoden umfasst. Jede Methode beantwortet eine andere Performance-Frage.

Abbildung 1: Methoden des Performance Testing
- Load Testing: Load Testing simuliert den erwarteten Nutzerverkehr auf einer Website, Anwendung oder API. Es misst, wie sich das System unter normalen und Spitzenlasten verhält.
- Endurance Testing: Endurance Testing, auch Soak Testing genannt, misst, wie ein System über einen längeren Zeitraum unter Last performt. Es hilft, Speicherlecks, Ressourcenerschöpfung, Warteschlangenbildung und langsame Verschlechterung zu erkennen.

Abbildung 2: Endurance Testing
- Volume Testing: Volume Testing bewertet, wie eine Anwendung performt, wenn sie große Datenmengen verarbeitet.
- Scalability Testing: Scalability Testing misst, wie gut ein System performt, wenn Nutzerlast, Anfragevolumen, Datenvolumen oder Transaktionsvolumen steigt oder fällt.
- Spike Testing: Spike Testing bewertet, wie ein System auf plötzliche Anstiege oder Rückgänge im Traffic reagiert.
- Stress Testing: Stress Testing treibt ein System über die erwartete Last hinaus, um den Belastungspunkt zu identifizieren und zu beobachten, wie es versagt und sich erholt.
Vergleich der Testmethoden: Ein Praxisbeispiel
Betrachten Sie eine E-Commerce-Website, die sich auf starken Feiertagsverkehr vorbereitet. Das Unternehmen möchte sicherstellen, dass die Seite normalen Einkauf, Spitzenverkehr, plötzliche Anstiege und lange Lastphasen bewältigen kann, ohne langsamer zu werden oder auszufallen.
Load Testing kann den erwarteten Kundenverkehr simulieren. Spike Testing kann einen plötzlichen Ansturm nach einer E-Mail-Kampagne oder einem Blitzverkauf modellieren. Stress Testing kann die Seite über den erwarteten Verkehr hinaus belasten, um den Belastungspunkt zu finden. Endurance Testing kann den Verkehr über einen längeren Zeitraum ausführen, um zu sehen, ob die Performance nachlässt.
Die Ergebnisse des Performance Testing helfen dem Website-Besitzer, Engpässe zu identifizieren, die Anwendung zu optimieren und die Infrastruktur vor dem Feiertagsverkehr vorzubereiten.
Performance Testing ist oft an geschäftliche Anforderungen gebunden. Beispielsweise erwartet ein Kunde, dass eine Ticketreservierungsanwendung 50.000 Anfragen pro Minute bewältigen kann. Performance Testing hilft, zu prüfen, ob diese Anforderung realistisch ist und ob das System sie erfüllen kann.
Was ist Load Testing?
Load Testing misst, wie eine Anwendung unter realistischem Nutzeraufkommen performt. Ziel ist es zu bestätigen, dass die Website, Anwendung oder API die erwarteten Nutzungsmengen bewältigt, während akzeptable Antwortzeiten, Durchsatz und Fehlerraten eingehalten werden.
Load Testing hilft Teams, Fragen zu beantworten wie:
- Wie performt das System unter normalem Verkehr?
- Wie ändert sich die Performance während Spitzenlast?
- Wie viele gleichzeitige Nutzer oder Transaktionen kann das System unterstützen?
- Ab wann beginnen die Antwortzeiten schlechter zu werden?
- Welche Seiten, APIs oder Workflows schaffen Engpässe?
Methoden des Load Testing
Volume Testing: Volume Testing misst, wie ein System sich verhält, wenn es große Datenmengen verarbeitet. Dies kann große Dateien, Datenbankeinträge, Nachrichten, Transaktionen oder API-Payloads umfassen.
Scalability Testing: Scalability Testing misst, ob eine Anwendung ihre Performance bei steigender Last beibehält. Es hilft Teams zu entscheiden, ob das System mehr Kapazität, bessere Caches, Datenbankoptimierung, verbessertes Autoscaling oder architektonische Änderungen benötigt.
Load Testing: Ein Praxisbeispiel
Betrachten Sie einen Online-Shop, der eine große Anzahl von Verkäufen in der Feiertagssaison erwartet. Das Unternehmen muss wissen, ob die Anwendung den erwarteten Verkehr beim Browsen, der Produktsuche, Warenkorbtätigkeit, dem Checkout, der Zahlung und der Auftragsbestätigung bewältigen kann.
Load Testing würde normalen und Spitzenverkehr simulieren, um Antwortzeit, Durchsatz, Fehler und Ressourcennutzung zu messen. Die Ergebnisse würden dem Team helfen, die Seite zu optimieren und das Risiko von Ausfallzeiten oder Fehltransaktionen im Feiertagsansturm zu reduzieren.
Wenn beispielsweise erwartet wird, dass eine Anwendung 5.000 Anfragen pro Minute verarbeitet, kann Load Testing bestätigen, ob das System nahe diesem Wert akzeptabel performt. Dies hilft Teams, das Risiko von Ausfällen vor dem Eintreffen echter Nutzer zu reduzieren.
Was ist Stress Testing?
Stress Testing bewertet, wie sich eine Anwendung unter extremen Bedingungen verhält. Statt nur den erwarteten Verkehr zu testen, wird die Last erhöht, bis das System langsamer wird, Fehler zurückgibt, instabil wird oder ausfällt.
Ziel ist es, den Belastungspunkt zu finden, zu verstehen, wie das System versagt, und zu prüfen, ob es sich sauber erholen kann. Stress Testing hilft Teams auch dabei zu entscheiden, wo Kapazitäts-, Architektur- oder Infrastrukturverbesserungen nötig sind.
Methoden des Stress Testing
Spike Testing: Spike Testing misst, wie eine Anwendung auf plötzliche und erhebliche Verkehrszunahmen reagiert. Dies ist nützlich für Blitzverkäufe, Eilmeldungen, Produkteinführungen, Registrierungsfenster und große Marketingkampagnen.
Volume Testing: Volume Testing kann auch im Stress Testing eingesetzt werden, wenn Teams verstehen möchten, wie die Anwendung bei ungewöhnlich großen Datenmengen reagiert.
Configuration Testing: Configuration Testing bewertet, wie eine Anwendung unter verschiedenen Hardware-, Software-, Infrastruktur- oder Umgebungs-Konfigurationen performt. Dies hilft Teams, Instanzgrößen, Skalierungsregeln, Datenbankeinstellungen, Cache-Konfigurationen und Bereitstellungsoptionen zu vergleichen.
Stress Testing: Ein Praxisbeispiel
Betrachten Sie eine Bankanwendung, die gegen Ende des Geschäftsjahres hohe Transaktionsvolumina erwartet. Das Unternehmen muss nicht nur wissen, ob die Anwendung den erwarteten Verkehr bewältigen kann, sondern auch, was passiert, wenn der Verkehr die Prognose übersteigt.
Stress Testing kann die Anwendung über die erwartete Nachfrage hinaus belasten, um den Punkt zu identifizieren, an dem Antwortzeiten schlechter werden, Fehler zunehmen oder Dienste ausfallen. Spike Testing kann plötzliche Aktivitätsausbrüche simulieren, während Volume Testing zeigt, wie das System bei steigendem Transaktionsdatenvolumen reagiert. Die Ergebnisse helfen Teams, Kapazität, Resilienz und Wiederherstellungsverhalten zu verbessern.
Wenn eine API für 5.000 gleichzeitige Anfragen ausgelegt ist, das System aber mehr empfängt, könnte es langsamer werden oder ausfallen. Das Wissen über diese Grenze erlaubt Teams, die Anwendung zu skalieren, Engpässe zu beseitigen oder Schutzmechanismen zu setzen, bevor der Produktionsverkehr diesen Punkt erreicht.
Wesentliche Unterschiede zwischen Performance Testing, Load Testing und Stress Testing
Performance Testing, Load Testing und Stress Testing sind verwandt, aber nicht dasselbe. Performance Testing ist die übergeordnete Kategorie. Load Testing und Stress Testing sind spezifische Performance-Testarten.
Performance Testing misst allgemeine Geschwindigkeit, Stabilität, Reaktionsfähigkeit, Skalierbarkeit und Ressourcennutzung. Load Testing konzentriert sich auf erwarteten und Spitzenverkehr. Stress Testing treibt das System über die normalen Grenzen hinaus, um Belastungspunkte und Wiederherstellungsverhalten zu finden.
| Thema | Leistungstests | Load Testing | Stress Testing |
| Definition | Die übergeordnete Testkategorie, die Geschwindigkeit, Stabilität, Skalierbarkeit, Reaktionsfähigkeit und Ressourcennutzung bewertet. | Eine Art Performance Testing, die bewertet, wie sich ein System unter erwarteter und Spitzenlast verhält. | Eine Art Performance Testing, die ein System über die erwarteten Grenzen hinaus belastet, um Ausfallpunkte zu finden. |
| Hauptziel | Gesamtleistung des Systems unter verschiedenen Bedingungen verstehen. | Bestätigen, ob die Anwendung den erwarteten Verkehr und die Geschäftsnachfrage bewältigen kann. | Belastungspunkt finden und verstehen, wie das System versagt und sich erholt. |
| Typisches Lastniveau | Variiert je nach Testart und Ziel. | Normale, erwartete und Spitzenlasten. | Extreme Lasten oder Bedingungen, die über das normale Maß hinausgehen. |
| Primäre Metriken | Antwortzeit, Durchsatz, Fehlerrate, Ressourcennutzung, Verfügbarkeit und Stabilität. | Antwortzeit, gleichzeitige Nutzer, Transaktionen pro Sekunde, Durchsatz und Fehlerrate. | Fehlerrate, Belastungspunkt, Wiederherstellungszeit, Sättigung und Ausfallverhalten. |
| Typische Einsatzszenarien | Baseline Testing, Load Testing, Stress Testing, Spike Testing, Scalability Testing und Endurance Testing. | Erwarteter Verkehr, Spitzenverkehr, Kampagnenverkehr, E-Commerce Checkout Last, API-Anfragevolumen und Nutzerreise-Test. | Überprognostizierter Verkehr, plötzliche Überlast, Ressourcenerschöpfung, Failover-Verhalten und Systemwiederherstellungstests. |
| Testansatz | Performance unter definierten Bedingungen messen und Ergebnisse mit Zielen oder Basislinien vergleichen. | Realistischen Verkehr anwenden, um zu prüfen, ob das System Leistungsziele erreicht. | Belastung erhöhen, bis das System verschlechtert, ausfällt oder eine definierte Stopbedingung erreicht. |
| Gängige Werkzeuge | LoadView, JMeter, Gatling, LoadRunner, k6, BlazeMeter und weitere Performance-Testplattformen. | LoadView, JMeter, Gatling, LoadRunner, k6, BlazeMeter und weitere Load-Testing-Tools. | LoadView, JMeter, Gatling, LoadRunner, k6, BlazeMeter und weitere Stress-Testing-Tools. |
| Beispiel | Messung von Antwortzeit, Durchsatz, Fehlern und Ressourcennutzung über mehrere Testarten. | Test, ob eine E-Commerce-Seite den erwarteten Black-Friday-Verkehr bewältigt. | Belastung der E-Commerce-Seite über den erwarteten Black-Friday-Verkehr hinaus, um Ausfallpunkte zu finden. |
Vergleich von Performance-, Stress- und Load Testing: Zusammenfassung
Performance Testing ist die breit gefasste Praxis, zu messen, wie ein System unter verschiedenen Bedingungen performt. Load Testing ist eine spezielle Art des Performance Testing, die sich auf erwartete und Spitzenlasten konzentriert. Stress Testing ist eine weitere Art des Performance Testing, die das System über die erwarteten Grenzen hinaus belastet, um Belastungspunkte und Wiederherstellungsverhalten zu identifizieren.
Alle drei sind nützlich, beantworten jedoch unterschiedliche Fragen. Performance Testing fragt: „Wie performt das System?“ Load Testing fragt: „Kann das System die erwartete Nachfrage bewältigen?“ Stress Testing fragt: „Was passiert, wenn das System zu stark belastet wird?“
Die Kombination dieser Methoden gibt Teams ein klareres Verständnis von Geschwindigkeit, Stabilität, Kapazität, Skalierbarkeit und Risiko, noch bevor Nutzer betroffen sind.
Um diese Methoden in der Praxis anzuwenden, können LoadViews Performance Testing Services Ihrem Team helfen, Load- und Stress-Tests zu planen und durchzuführen, Ergebnisse zu analysieren und Verbesserungen zu priorisieren.