Was ist Lasttest? (Beispiele)
⚡ Intelligente Zusammenfassung
Lasttests messen das Verhalten einer Softwareanwendung bei gleichzeitigem Zugriff vieler Benutzer bis zum erwarteten Spitzenwert. Sie ermitteln die maximale Betriebskapazität, die begrenzenden Faktoren und die Frage, ob die vorhandene Infrastruktur ausreicht.

Was ist Belastungstest?
Load Testing ist ein nicht-funktionaler Softwaretestprozess, bei dem die Leistung einer Softwareanwendung unter einer bestimmten erwarteten Belastung getestet wird. Dabei wird ermittelt, wie sich die Softwareanwendung verhält, wenn mehrere Benutzer gleichzeitig darauf zugreifen. Ziel des Belastungstests ist es, Leistungsengpässe zu beheben und vor der Bereitstellung die Stabilität und reibungslose Funktion der Softwareanwendung sicherzustellen.
Dieser Test identifiziert normalerweise –
- Die maximale Betriebskapazität einer Anwendung
- Stellen Sie fest, ob die aktuelle Infrastruktur zum Ausführen der Anwendung ausreicht
- Nachhaltigkeit der Anwendung im Hinblick auf die Spitzenlast der Benutzer
- Anzahl der gleichzeitigen Benutzer, die eine Anwendung unterstützen kann, und Skalierbarkeit, um mehr Benutzern den Zugriff darauf zu ermöglichen.
Es handelt sich um eine Art nichtfunktionaler Test. In der Softwareentwicklung werden Lasttests häufig für webbasierte Client/Server-Anwendungen – sowohl Intranet als auch Internet – verwendet.
Warum sind Lasttests notwendig?
Bei einigen äußerst beliebten Websites kommt es zu schwerwiegenden Ausfallzeiten, wenn sie ein enormes Verkehrsaufkommen verzeichnen. E-Commerce-Websites investieren stark in Werbekampagnen, jedoch nicht in Lasttests, um eine optimale Systemleistung sicherzustellen, wenn dieses Marketing Traffic generiert.
Beispiele für Lasttests
- Toysrus.com konnte den durch die eigene Werbekampagne generierten Traffic nicht bewältigen und verlor dadurch sowohl das Marketingbudget als auch die angestrebten Umsätze.
- Die Website einer Fluggesellschaft war während eines Festivalangebots nicht in der Lage, mehr als 10000 Benutzer zu bedienen.
- Die Encyclopedia Britannica hatte den kostenlosen Zugang zu ihrer Online-Datenbank als Werbeangebot angekündigt. Sie war wochenlang nicht in der Lage, den enormen Datenverkehr zu bewältigen.
Bei vielen Websites kommt es zu verzögerten Ladezeiten, wenn sie starken Verkehr verzeichnen. Einige Fakten –
- Die Abbruchrate steigt nach etwa 3 Sekunden Seitenladezeit rapide an, und dieser Effekt verstärkt sich bei mobilen Verbindungen.
- Langsame Seiten kosten E-Commerce-Websites bei jedem Besuch messbare Umsätze, weshalb die Performance als betriebswirtschaftliche Kennzahl und nicht als technische Kennzahl betrachtet wird.
Warum Lasttests?
- Lasttests geben Vertrauen in das System und seine Zuverlässigkeit und Leistung.
- Lasttests helfen dabei, Engpässe im System bei starker Benutzerbelastung zu identifizieren, bevor sie in einer Produktionsumgebung auftreten.
- Lasttests bieten hervorragenden Schutz vor schlechter Leistung und berücksichtigen ergänzende Strategien für das Leistungsmanagement und die Überwachung einer Produktionsumgebung.
Ziele des Lasttests
Durch Belastungstests lassen sich die folgenden Probleme identifizieren, bevor die Anwendung auf den Markt oder in die Produktion gebracht wird:
- Reaktionszeit für jede Transaktion
- Leistung von Systemkomponenten unter verschiedenen Belastungen
- Leistung von Datenbankkomponenten unter verschiedenen Lasten
- Netzwerkverzögerung zwischen dem Client und dem Server
- Probleme beim Softwaredesign
- Serverkonfigurationsprobleme wie ein Webserver, Anwendungsserver, Datenbankserver usw.
- Probleme mit Hardwareeinschränkungen wie CPU-Maximierung, Speicherbeschränkungen, Netzwerkengpass usw.
Durch Lasttests wird ermittelt, ob das System einer Feinabstimmung bedarf oder Änderungen an Hardware und Software erforderlich sind, um die Leistung zu verbessern. Um Auslastungstests effektiv durchzuführen, können Sie verschiedene verwenden Leistungstest-Tools die Ihnen zur Verfügung stehen, um Ihnen bei der Identifizierung von Verbesserungspotenzialen zu helfen.
Voraussetzungen für Lasttests
Die wichtigste Messgröße für Lasttests ist die Antwortzeit. Bevor Sie mit dem Lasttest beginnen, müssen Sie Folgendes bestimmen:
- Ob die Reaktionszeit bereits gemessen und verglichen wird – Quantitativ
- Ob die Reaktionszeit auf den Geschäftsprozess anwendbar ist – Relevant
- Ob die Reaktionszeit vertretbar ist – Realistisch
- Ob die Reaktionszeit erreichbar ist – erreichbar
- Ob die Reaktionszeit mit einem Werkzeug oder einer Stoppuhr messbar ist – messbar
Umgebungseinrichtung vor dem Lasttest
| Hardware-Plattform | Software-Konfiguration |
|---|---|
|
|
Lastteststrategien
Es gibt viele Möglichkeiten, Lasttests durchzuführen. Im Folgenden finden Sie einige Lastteststrategien:
- Manueller Lasttest: Dies ist eine der Strategien zur Durchführung von Lasttests, sie liefert jedoch keine wiederholbaren Ergebnisse, kann keine messbaren Belastungsniveaus für eine Anwendung liefern und ist ein Prozess, der nicht koordiniert werden kann.
- Eigenentwickelte Lasttest-Tools: Eine Organisation, die sich der Bedeutung von Lasttests bewusst ist, kann ihre eigenen Tools zur Durchführung von Lasttests entwickeln.
- Open-Source-Lasttest-Tools: Es gibt mehrere Lasttest-Tools, die als Open Source verfügbar sind und kostenlos sind. Sie sind vielleicht nicht so anspruchsvoll wie ihre kostenpflichtigen Gegenstücke, aber wenn Sie ein begrenztes Budget haben, sind sie die beste Wahl.
- Lasttest-Tools der Enterprise-Klasse: Sie verfügen normalerweise über eine Aufnahme-/Wiedergabefunktion. Sie unterstützen eine Vielzahl von Protokollen. Sie können eine außergewöhnlich große Anzahl von Benutzern simulieren.
So führen Sie Lasttests durch
Der Auslastungstestprozess kann wie folgt kurz beschrieben werden:
- Erstellen Sie eine dedizierte Test Umgebung für Belastungstests
- Definieren Sie die Lasttestszenarien
- Bestimmen Sie Lasttesttransaktionen für eine Anwendung
- Bereiten Sie Daten für jede Transaktion vor
- Die Anzahl der Benutzer, die auf das System zugreifen, muss vorhergesagt werden
- Verbindungsgeschwindigkeiten ermitteln. Einige Benutzer sind möglicherweise über Mietleitungen verbunden, während andere möglicherweise eine Einwahlverbindung verwenden
- Ermitteln Sie die verschiedenen von den Benutzern verwendeten Browser und Betriebssysteme
- Eine Konfiguration aller Server wie Web-, Anwendungs- und DB-Server
- Ausführung und Überwachung von Testszenarien. Sammeln verschiedener Kennzahlen
- Analysieren Sie die Ergebnisse. Empfehlungen geben
- Feinabstimmung des Systems
- Erneut testen
Richtlinien für Lasttests
- Lasttests sollten geplant werden, sobald die Anwendung funktionsstabil ist.
- Im Datenpool sollte eine große Anzahl eindeutiger Daten bereitstehen
- Die Anzahl der Benutzer sollte für jedes Szenario oder Skript festgelegt werden
- Vermeiden Sie die Erstellung detaillierter Protokolle, um Speicherplatz auf der Festplatte zu sparen
- Vermeiden Sie das Herunterladen von Bildern auf der Website
- Bei der Ausführung von Lasttest-Testfällen sollte die Konsistenz der Antwortzeit über den verstrichenen Zeitraum protokolliert und mit verschiedenen Testläufen verglichen werden.
Unterschied zwischen Last- und Stresstests
| Load Testing | Belastbarkeitstest |
|---|---|
| Lasttests identifizieren die Engpässe im System unter verschiedenen Arbeitslasten und prüfen, wie das System reagiert, wenn die Last allmählich erhöht wird | Belastbarkeitstest Bestimmt den Bruchpunkt des Systems, um den maximalen Punkt anzuzeigen, nach dem es bricht. |
| Um die Obergrenze des Systems zu erkennen, legen Sie das SLA der App fest und prüfen Sie, wie das System eine hohe Belastung bewältigen kann. | Um herauszufinden, wie sich das System unter extremen Belastungen verhält und wie es sich nach einem Ausfall erholt. |
| Das Hauptziel von Lasttests besteht darin, eine erhöhte Last für eine Webanwendung zu erzeugen. | Durch Stresstests soll sichergestellt werden, dass die Server bei plötzlicher hoher Auslastung über einen längeren Zeitraum nicht abstürzen. |
| Die Attribute, die bei einem Lasttest überprüft werden, sind Spitzenleistung, Serveranzahl und Antwortzeit. | Diese Art von Tests überprüft die Stabilität, die Reaktionszeit usw. |
| Bei Belastungstests ist die Belastungsgrenze ein Schwellenwert für einen Bruch. | Bei Stresstests liegt die Belastungsgrenze oberhalb der Bruchschwelle. |
Unterschied zwischen Funktions- und Lasttests
| Funktionsprüfung | Load Testing |
|---|---|
| Ergebnisse von Funktionstests sind leicht vorhersehbar, da wir die richtigen Schritte und Voraussetzungen definiert haben | Ergebnisse von Belastungstests sind unvorhersehbar |
| Die Ergebnisse der Funktionstests variieren geringfügig | Die Ergebnisse der Belastungstests variieren drastisch |
| Häufigkeit der Ausführung Funktionsprüfung wird hoch sein | Die Häufigkeit der Ausführung von Lasttests wird gering sein |
| Ergebnisse von Funktionstests sind abhängig von den Testdaten | Der Lasttest hängt von der Anzahl der Benutzer ab. |
Testtools laden
LoadRunner
LoadRunner, ursprünglich von HP und jetzt Teil von OpenText Nach der Übernahme durch Micro Focus testet das Programm Anwendungen unter normaler und Spitzenlast. Es erzeugt Last durch virtuelle Benutzer, die realen Netzwerkverkehr simulieren, und stellt die Ergebnisse grafisch dar.
Lesen Sie mehr im LoadRunner-Tutorial.
Apache JMeter
Ein Open Source Java Dieses Tool ist die am weitesten verbreitete kostenlose Option. Es unterstützt HTTP, JDBC, JMS, FTP und mehr, speichert Testpläne als XML und lässt sich in CI-Pipelines integrieren. Siehe die JMeter Lernprogramm für eine Schritt-für-Schritt-Anleitung.
Gatling
Ein Open-Source-Tool, dessen Tests als Code in Scala geschrieben sind oder JavaEs bewältigt hohe Parallelität auf einfacher Hardware und erstellt detaillierte HTML-Berichte, was für Teams geeignet ist, die versionskontrollierte Testskripte bevorzugen.
k6
Ein Open-Source-Tool mit in geschriebenen Tests JavaDieses Skript wurde für die Durchführung von Performance-Tests durch Entwickler innerhalb einer CI-Pipeline und nicht als separate QA-Aktivität konzipiert.
Auswahl eines Werkzeugs
Pick JMeter Für eine möglichst breite Protokollabdeckung ohne zusätzliche Kosten empfiehlt sich Gatling oder k6, wenn das Team die Tests zusammen mit der Anwendung in der Quellcodeverwaltung speichern möchte, sowie ein kommerzielles Tool wie LoadRunner, wenn die Unterstützung von Unternehmensprotokollen und der Support des Anbieters die Lizenz rechtfertigen.
Vorteile und Nachteile von Lasttests
Im Folgenden sind die Vorteile von Belastungstests aufgeführt:
- Identifizierung von Leistungsengpässen vor der Produktion
- Verbessert die Skalierbarkeit des Systems
- Minimieren Sie das Risiko im Zusammenhang mit Systemausfallzeiten
- Reduzierte Ausfallkosten
- Steigerung der Kundenzufriedenheit
Nachteile von Lasttests:
- Die meisten Tools erfordern Programmierkenntnisse, um realistische Szenarien zu skripten.
- Tools können teuer sein, da die Preisgestaltung von der Anzahl der unterstützten virtuellen Benutzer abhängt.
Wichtige Kennzahlen, die während eines Lasttests erfasst werden sollten
Im Abschnitt zu den Voraussetzungen wird die Reaktionszeit als wichtigste Kennzahl festgelegt. In der Praxis benötigt ein Lasttestbericht sechsstellige Werte, da die Reaktionszeit allein nicht Aufschluss darüber gibt, warum ein System langsamer geworden ist.
| Metrisch | Was es dir sagt | Warnschild |
|---|---|---|
| Durchschnittliche Reaktionszeit | Die typische Benutzererfahrung | Steigt mit zunehmender Last |
| 95. Perzentil der Reaktionszeit | Die Erfahrungen der langsamsten Nutzer | Weit über dem Durchschnitt |
| Durchsatz | Anfragen pro Sekunde erfolgreich bearbeitet | Abflachung oder Absinken bei steigender Last |
| Fehlerrate | Anteil fehlgeschlagener oder abgelaufener Anfragen | Jeder Anstieg über den vereinbarten Schwellenwert hinaus |
| Gleichzeitige Benutzer | Tatsächliche simultane Sitzungen erreicht | Niedriger als im Szenario vorgesehen |
| Serverressourcennutzung | CPU-, Speicher-, Festplatten- und Netzwerkreserve | Jede Ressource, die über etwa 80 Prozent liegt |
Lesedurchsatz und Antwortzeit zusammen. Eine steigende Reaktionszeit bei steigendem Durchsatz bedeutet lediglich, dass das System stärker ausgelastet ist. fallenden Der Durchsatzabfall bedeutet, dass die Kapazitätsgrenze erreicht ist und nun Aufträge verloren gehen. Genau diesen Punkt soll der Test ermitteln.
Geben Sie niemals nur den Durchschnittswert an. Ein Durchschnittswert von 900 ms mit einem 95. Perzentil von 1.1 Sekunden beschreibt ein konsistentes System. Derselbe Durchschnittswert mit einem 95. Perzentil von 11 Sekunden bedeutet hingegen, dass jeder zwanzigste Nutzer eine inakzeptable Erfahrung macht, die durch den Durchschnittswert verschleiert wird.
Wie sich dieser Test im Vergleich zu anderen Leistungstests schlägt
Bei Leistungstests handelt es sich um eine Gruppe von Tests, die sich in der Form der angewendeten Last unterscheiden, weshalb sie so leicht verwechselt werden können.
| Testtyp | Was erhöht sich | Fragen, die es beantwortet |
|---|---|---|
| Lastprüfung | Gleichzeitige Nutzer bis zum erwarteten Spitzenwert | Werden die Zielvorgaben auch bei normalem Spitzenverkehr erreicht? |
| Volumentest | In der Datenbank gespeicherte Daten | Kommt es auch mit wachsenden Datensätzen zurecht? |
| Belastbarkeitstest | Überlastung bis zum Versagen | Wo geht es kaputt und wie? |
| Spike-Test | Laden, sofort und extrem | Überlebt es einen Schock und kann es sich davon erholen? |
| Dauertest | Dauer bei normaler Last | Verschlechtert sich die Leistung im Laufe der Zeit? |
| Soak-Test | Dauer, Überwachungsressourcen | Gibt es Speicher- oder Handle-Lecks? |
| Stabilitätstests | Unterschiedliche Bedingungen | Bleibt es auch unter veränderten Bedingungen zuverlässig? |
Die hier entscheidende Unterscheidung: Volumentests skalieren die Daten, Lasttests skalieren die Benutzer. Ein Bericht, der bei zehntausend Zeilen zwei Sekunden und bei zehn Millionen Zeilen zwei Minuten benötigt, hat ein Volumenproblem, kein Lastproblem, und auch zusätzliche Serverkapazität wird daran nichts ändern.



