Was ist ein Leistungstest?

Eine vielfältige Gruppe junger Menschen, die sich in einem Konferenzraum gegenseitig anlächeln.

Autoren

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Was ist ein Leistungstest?

Leistungstests beurteilen die Systemleistung oder Anwendungsleistung mit Lasten unterschiedlicher Größe.

Zu den wichtigsten Kriterien zählen Geschwindigkeit (wie schnell es arbeitet), Stabilität (ob es ohne Abstürze funktioniert), Skalierbarkeit (wie reibungslos steigende Lasten bewältigt werden) und Reaktionsfähigkeit (wie schnell es auf Benutzer-Prompts reagiert).

Das Konzept der Software-Performance liegt jeder Computernutzung zugrunde, und eine schlechte Performance kann die Bemühungen eines Unternehmens um eine hochwertige Benutzererfahrung zunichte machen. Wenn Entwickler die Leistungstests nicht ausreichend überwachen oder nicht häufig genug durchführen, kann es zu Leistungsengpässen kommen. Diese Situation kann dazu führen, dass ein System selbst seine typischen Datenverkehrslasten während erwarteter Zeiträume nicht mehr bewältigen kann. Noch problematischer wird es, wenn unerwartete Spitzenauslastungen zu zusätzlicher Nachfrage führen.

Diese Herausforderung könnte den gesamten öffentlichen Betrieb eines Unternehmens gefährden. Der Ruf für dauerhafte Qualität entwickelt sich in der Regel erst nach langer Zeit. Sie können jedoch schnell und dauerhaft beschädigt werden, wenn die Öffentlichkeit anfängt, sich zu fragen, ob ein System oder eine Anwendung zuverlässig funktioniert. Die Geduld der Endbenutzer wird zunehmend zu einem begrenzten Gut. Da der Ruf eines Unternehmens oft auf dem Spiel steht, ist viel auf dem Spiel, wenn Leistungsprobleme zum Thema werden.

Die neuesten Tech-News – von Experten bestätigt

Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben sich angemeldet.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Die sechs Schritte des Leistungstests

Definieren wir zunächst die Methodik, die in den meisten Performance-Test-Szenarien verwendet wird. Sechs Schritte definieren den typischen Leistungstestprozess.

1. Definieren Sie Leistungskriterien und Anforderungen

Der erste Schritt im Leistungstestprozess umfasst die Festlegung nützlicher Parameter, wie beispielsweise die Festlegung der Leistungsziele der Anwendung.

Legen Sie anschließend fest, was akzeptable Leistungskriterien sind (wie Reaktionszeiten, Durchsatz, Ressourcenauslastung und Fehlerquoten).

In dieser Phase identifizieren die Mitarbeiter auch KPIs, um die Leistungsanforderungen und geschäftlichen Prioritäten sinnvoll zu unterstützen.

2. Entwurf und Planung von Tests

Nicht alle Tests sollten in jeder Situation angewendet werden. Entwickler oder andere Tester müssen definieren, was der Test analysieren soll.

Sie beginnen damit, die wichtigsten Nutzungsszenarien zu identifizieren und Testfälle zu entwerfen, die reale Benutzerinteraktionen widerspiegeln. Der nächste Schritt besteht darin, die Testdaten und die Workload anzugeben, die während des Testprozesses verwendet werden.

Nach dem Sperren dieser Variablen wählen die Tester die zu verwendenden Leistungstest-Tools, Testskripte und Testtechniken für die Leistung aus. Dieser Schritt umfasst die Einrichtung von Gating, dem Prozess, bei dem codebasierte Qualitätskontrollen den Zugang zu späteren Produktionsschritten entweder gewähren oder verweigern.

Bei Leistungstests wird auch die Bandbreite überprüft, um sicherzustellen, dass die Datenübertragungsraten für den Workload-Verkehr ausreichend sind.

3. Richten Sie Testumgebungen ein

Bevor der Leistungstest offiziell beginnen kann, muss noch ein letzter Schritt durchgeführt werden. Tester erstellen eine Testumgebung, die die reale Produktionsumgebung des Systems exakt nachahmt, und bestätigen dann, dass die zu testenden Software-Anwendungen (Application Under Test, AUT) in der Testumgebung bereitgestellt wurden.

Die abschließende Vorbereitung umfasst die Integration von Überwachungstools, um die vom System während des Tests generierten Leistungskennzahlen zu erfassen.

4. Führen Sie Tests durch

Nachdem die Testparameter nun klar definiert sind, ist es an der Zeit, die Leistungstests durchzuführen. Tester oder Automatisierung führen die ausgewählten Testszenarien durch, und diese Tests werden zusammen mit Tools für Leistungstests verwendet.

Tester überwachen in der Regel die Systemleistung in Echtzeit, um den Durchsatz, die Reaktionszeiten und die Ressourcennutzung zu überprüfen. Während der gesamten Testszenarien überwachen die Tester das System auf Leistungsengpässe oder andere leistungsbezogene Unregelmäßigkeiten, die sich in den Testmetriken widerspiegeln.

5. Studienergebnisse

Als Nächstes werten die Tester die Leistung aus, die während des Testprozesses gesammelt wurde. Sie analysieren die gesammelten Daten und suchen nach Bereichen der Leistung, die verbessert werden müssen.

Dann vergleichen die Tester diese Ergebnisse mit den Benchmarks, die im ersten Schritt des Testprozesses festgelegt wurden. Durch diesen Vergleich können die Tester erkennen, wo die Testergebnisse von der erwarteten Leistung abweichen und wo es zu Engpässen gekommen sein könnte.

6. Optimieren, testen, wiederholen

Nachdem Leistungsprobleme durch die Analyse von Testdaten identifiziert wurden, arbeiten die Entwickler mit dem Code, um ihn mit dem System zu aktualisieren. Sie verwenden Code-Optimierungen, Ressourcen-Upgrades oder Konfigurationsänderungen, um die genannten Leistungsprobleme zu beheben.

Nach der Implementierung von Änderungen wiederholen Entwickler die Software-Testsequenz, um zu bestätigen, dass sie die Änderungen erfolgreich angewendet haben. Entwickler wiederholen die Verfahren so lange, bis die Leistungsergebnisse mit den definierten Benchmarks übereinstimmen.

IBM DevOps

Was ist DevOps?

Andrea Crawford erklärt, was DevOps ist, welchen Wert DevOps hat und wie DevOps-Praktiken und -Tools Ihnen dabei helfen, Ihre Anwendungen durch die gesamte Delivery Pipeline der Softwareentwicklung von der Idee bis zur Produktion zu bringen. Das von führenden IBM Experten geleitete Programm soll Führungskräften das nötige Wissen vermitteln, um Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Wer profitiert von Leistungstests?

Leistungstests gehen tief „unter die Haube“, um die System- oder Anwendungsleistung zu überprüfen. Daher ist es naheliegend, dass Softwareentwicklungs-Teams die häufigsten Nutzer von Leistungstestmethoden sind. Zu dieser ersten Benutzergruppe gehören Fachleute, die aktiv am Entwicklungsprozess beteiligt sind: Entwickler, Qualitätssicherungsingenieure (QA) und DevOps-Teams. Jeder erhält etwas Einzigartiges aus den Leistungstests:

  • Entwickler nutzen Leistungstests, um Leistungsprobleme frühzeitig im Softwareentwicklungslebenszyklus (SDLC) zu erkennen, damit sie Entwicklungsänderungen priorisieren und effizienter umsetzen können.
  • QA-Teams verlassen sich auf Leistungstests, um zu ermitteln, ob die Betriebsgeschwindigkeit, Funktionsstabilität und Skalierbarkeit einer Anwendung bei unterschiedlichen Workloads ausreichend funktionieren.

Die nächsten Nutzer sind zwar keine Entwickler, aber sie arbeiten dennoch an der Basis und haben das Systemleistungsmanagement als wichtigen Bestandteil ihrer Arbeit:

  • Projektmanager verwenden Leistungstests, um Risiken zu bewerten und die Auswirkungen auf das System abzuschätzen, die sich aus Systemänderungen ergeben könnten.
  • Chief Technology Officers (CTOs) oder Mitarbeiter in ähnlicher Funktion benötigen Leistungstests, um festzustellen, wie sich wechselnde Anforderungen in langfristiges Wachstum umsetzen lassen.
  • Unternehmenseigentümern geht es vor allem darum, Einnahmequellen zu schützen. Leistungstests bestätigen, dass die Ladezeiten ausreichend schnell sind und ein unaufmerksamer Kundenservice den Umsatzprozess nicht beeinträchtigt.

Aber nicht nur die Unternehmensleitung führt Leistungstests durch. Viele Unternehmen und Unternehmen jeder Größe nutzen Leistungstests auch häufig für verschiedene Zwecke:

  • Große Unternehmen, die regelmäßig ein hohes Verkehrsaufkommen verzeichnen, sind auf Leistungstests angewiesen, um sicherzustellen, dass ihre Anwendungen auch bei hohen Workloads funktionieren. Dieser Ansatz ist besonders wichtig für Unternehmen, die stark von Online-Plattformen mit einer großen Nutzerbasis abhängig sind.
  • Kleine Unternehmen (und Start-ups) benötigen im Rahmen ihrer Wachstumsplanung Leistungstests. Diese Unternehmen nutzen Leistungstests, um sie vor zukünftigen Engpässen zu warnen, die sich negativ auf ihre Fähigkeit zu erfolgreichem Wachstum auswirken könnten.
  • Unternehmen (jeder Größe), die sich auf die Einführung neuer Anwendungen vorbereiten, sind klug darin, Leistungstests als Mittel zur Vorhersage von Problemen mit realen Betriebsszenarien durchzuführen. Das Gleiche gilt für Unternehmen, die wichtige Änderungen an ihren IT-Systemen vornehmen.
  • Finanzinstitute tragen eine enorme Verantwortung und sind mit erheblichen Branchenvorschriften konfrontiert. Solche Unternehmen führen regelmäßig Leistungstests durch, um ihre Basisstandards aufrechtzuerhalten, insbesondere in Zeiten mit hohem Transaktionsvolumen.

Arten von Leistungstests

Entwickler führen verschiedene Arten von Leistungstests durch, um bestimmte Arten von Ergebnisdaten zu erhalten und eine bestimmte Teststrategie zu unterstützen. Hier sind die gängigsten Testarten.

Lasttests

Lasttests geben an, wie sich das System bei der Arbeit mit den erwarteten Lasten verhält. Das Ziel von Lasttests ist es, das Systemverhalten bei Workloads in routinemäßiger Größe unter normalen Arbeitsbedingungen mit einer durchschnittlichen Anzahl von gleichzeitigen Benutzern zu zeigen.

Beispiel: Für eine E-Commerce-Website simuliert ein Tester, ein Benutzer der Website zu sein und die Schritte des Einkaufens von Artikeln, des Platzierens von Produkten in den Einkaufswagen und des Bezahlens dieser Käufe durchzugehen.

Testen der Skalierbarkeit

Lasttests zeigen, ob das System normale Lastbedingungen unterstützen kann. Die Skalierbarkeit setzt das System unter Druck, wenn das Datenvolumen oder die Benutzerlast zunimmt. Sie zeigt, ob ein System ein erhöhtes Tempo einhalten und dennoch etwas leisten kann.

Beispiel: Bei der vertikalen Skalierung könnte ein Entwickler die CPU und den Speicher eines Datenbankservers aufbauen, damit dieser eine größere Menge an Datenabfragen aufnehmen kann.

Stresstests

Stresstests sind vergleichbar mit einem Tauchtest, der von einer U-Boot-Besatzung durchgeführt wird. Hier wird das System bis an seine bekannten Betriebsgrenzen gebracht – und sogar noch darüber hinaus –, um genau zu bestimmen, wie viel das System aushalten kann, bevor es seinen Bruchpunkt erreicht.

Beispiel: Failover-Tests sind eine extreme Form von Stresstests, die mit der Simulation von Komponentenausfällen beginnen. Ziel ist es, zu sehen, wie lange es dauert, bis sich das System erholt und den Betrieb wieder aufnimmt.

Spike-Test

Hier testen wir eine andere Art von Belastung – wenn der Benutzerverkehr oder das Datenvolumen plötzlich einen starken und drastischen Anstieg der Aktivität verzeichnet. Das System muss verschiedene Änderungen absorbieren, während es seinen normalen Betrieb fortsetzt.

Beispiel: Unternehmen, die Websites betreiben, müssen sich nicht nur auf Ausfälle vorbereiten, sondern auch auf den Anstieg von Nutzern, die versuchen, gleichzeitig auf die Website zuzugreifen, sobald diese wieder online ist. Sie müssen auch beurteilen, ob das System diesen plötzlichen Anstieg der Nachfrage bewältigen kann. Mit Spike-Tests lässt sich berechnen, wie reibungslos ein Ablauf voraussichtlich verlaufen wird.

Volumentests

Manchmal geht es bei der Leistung auch um den Benutzerverkehr. Im Gegensatz dazu befasst sich der Volumentest damit, wie ein System große Datenmengen verwaltet. Kann das System die Daten vollständig verarbeiten und eine Datenspeicherung ohne Datenverschlechterung bereitstellen?

Beispiel: Eine medizinische Klinik verwaltet riesige Mengen an Patientendaten und ist gesetzlich verpflichtet, auf diese Patientenakten und zugehörige medizinische Daten zugreifen zu können. Dieser ständige Zustrom von Daten kann ein System belasten. Durch Volumentests können Benutzer feststellen, ob ihr System der Herausforderung gewachsen ist, ständig mehr Daten zu verarbeiten.

Dauertests

Betrachten Sie es als Langzeit-Leistungstest. Die eigentlichen Ursachen, nach denen bei Ausdauertests (auch Soak-Tests genannt) gesucht wird, sind Datenverluste und Probleme mit Speicherlecks, die häufig über einen längeren Zeitraum auftreten.

Beispiel: Social-Media-Plattformen sind rund um die Uhr in Betrieb, und ihre kontinuierliche Nutzung kann zu Problemen mit der Plattformstabilität, der Datenspeicherung und den Benutzerkonten führen. Dauertests vermitteln Ihnen ein Bild des aktuellen Betriebs und geben Hinweise auf die zukünftige Leistung.

Weit verbreitete Tools zum Testen der Leistung

Entwickler und Tester können aus zahlreichen Tools für Leistungstests wählen. Hier sind einige der Beliebtesten.

  • JMeter: Die JMeter-Anwendung von Apache ist eine beliebte Open-Source-Software, die für die Leistungsprüfung von Workloads entwickelt wurde. Das Tool kann mithilfe von Thread-Gruppen virtuelle Benutzer generieren, um Verkehrsszenarien mit echten Benutzern nachzubilden, einschließlich Bedingungen, die eine Überlastung durch Benutzer beinhalten. Diese Extremsituationen werden als Untersuchung eines zu testenden Systems (SUT) bezeichnet. JMeter liefert wertvolle Testmetriken wie Antwortzeiten, die messen, wie schnell ein zu testendes System (SUT) auf Benutzeranfragen reagiert. Es verfolgt auch Fehlerraten – den Prozentsatz fehlgeschlagener Anfragen – und den Durchsatz, der angibt, wie viele Anfragen ein SUT innerhalb eines bestimmten Zeitraums verarbeiten kann.
  • LoadRunner: Wie bei JMeter erstellt LoadRunner eine große Anzahl virtueller Benutzer. LoadRunner generiert dann künstliche Benutzeraktivitäten für diese Millionen virtueller Benutzer, wie beispielsweise Nachrichten zwischen Komponenten oder Benutzerinteraktionen mit der Benutzeroberfläche. Solche Interaktionen werden in den von LoadRunner generierten Testskripten gespeichert. Es wurde berichtet, dass im Jahr 2025 mehr als 2.600 Unternehmen den Micro Focus LoadRunner als Tool für Performance-Tests und QA-Aktivitäten nutzten.
  • RoadRunner: „PHP” stand einst für „Personal Home Page”, doch der Begriff entwickelte sich weiter und bedeutet nun „Hypertext Preprocessor”. Es bezieht sich jetzt auf eine serverseitige Skriptsprache (was bedeutet, dass Entwickler Code auf Servern und nicht in Client-Webbrowsern ausführen). Open-Source RoadRunner (nicht zu verwechseln mit dem ähnlich klingenden LoadRunner) dient als PHP-Anwendungsserver und Prozessmanager. Er optimiert die Anwendungsleistung, indem es die Boot-Ladezeit überflüssig macht und die Latenz begrenzt. RoadRunner ermöglicht ein dynamisches Analyse-Framework für gleichzeitig laufende Java-Programme. RoadRunner bietet eine Anwendungsprogrammierschnittstelle (API), die Ereignisströme auswertet.

Auswirkungen der KI auf die Leistungstests

Wie bei fast allen Themen rund um Computer sorgt auch die künstliche Intelligenz (KI) dafür, dass Softwaretests jetzt ein ganz neues Effizienzniveau erreichen. Dadurch wird der gesamte Prozess der Leistung schneller, genauer und einfacher zu automatisieren.

Insbesondere kann KI kürzere Testzyklen nutzen, sodass die Durchführung von Tests weniger Zeit in Anspruch nimmt. Dank der akribischen Genauigkeit der KI sind selbst subtilere Leistungsänderungen erkennbar, die menschlichen Testern möglicherweise entgehen würden. Außerdem kann KI mithilfe von prädiktiven Analysen Betriebstrends und historische Daten auswerten und vorhersagen, wo und wann die nächsten Engpässe auftreten könnten. Es kann auch dieses vorausschauende Systemverhalten nutzen und sogar die Testparameter auf dieser Grundlage anpassen.

Das mit Abstand Bedeutendste, was KI (bislang) für Leistungstests geleistet hat, ist jedoch die Unterstützung ihrer Bemühungen in großem Maßstab durch die Ermöglichung von Automatisierung. Diese Automatisierung ist insofern bemerkenswert, als sie in der Lage ist, den gesamten Prozess der Leistungsprüfung vollständig durchzuführen.

KI kann nicht nur die Durchführung von Tests automatisieren, sondern auch die für die Ausführung vorgesehenen Testskripte schreiben. Darüber hinaus kann es Testergebnisse im Backend interpretieren und Anleitungen zur Behebung von Problemsituationen anbieten.

Eine der interessantesten und vielversprechendsten Auswirkungen der KI auf Leistungstests ist die zunehmende Zusammenarbeit zwischen Mensch und KI. Diese Anordnung macht deutlich, dass menschlicher Instinkt und Wissen nach wie vor eine wichtige Rolle spielen. Tatsächlich ist es in manchen Situationen immer noch das Wichtigste, den menschlichen Impulsen zu folgen.

Einige Experten sind davon überzeugt, dass die Leistungsprüfung der Zukunft auf diesem hybriden Ansatz beruht. Es verbindet die Mentalität und Rechenleistung eines Computers mit dem menschlichen Gespür für Zusammenhänge und Nuancen.

Weiterführende Lösungen
IBM DevOps Accelerate

Automatisieren Sie die Software-Bereitstellung für jede Anwendung On-Premises, in der Cloud oder auf dem Mainframe.

DevOps Accelerate erkunden
DevOps-Lösungen

Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.

DevOps-Lösungen erkunden
Cloud-Beratungsleistungen 

Schalten Sie mit IBM Cloud Consulting Services neue Funktionen frei und steigern Sie die geschäftliche Agilität. Entdecken Sie, wie Sie mit Hybrid-Cloud-Strategien und Expertenpartnerschaften gemeinsam Lösungen entwickeln, die digitale Transformation beschleunigen und die Leistung optimieren können.

Cloud-Services
Machen Sie den nächsten Schritt

Erschließen Sie das Potenzial von DevOps, um sichere cloudnative Anwendungen mit kontinuierlicher Integration und Bereitstellung zu entwickeln, zu testen und bereitzustellen.

DevOps-Lösungen erkunden DevOps in Aktion entdecken