Parasoft-Logo

Was ist Leistungstest?

Zum Abschnitt springen

Übersicht

Wie eine Motorkontrollleuchte zeigt sie Systemleistung, Auslastung und Leistungstest Die Tools testen unter normaler und extremer Belastung, um etwaige Fehler zu finden und sicherzustellen, dass Ihre Anwendung unter verschiedenen Betriebsbedingungen die erwartete Leistung erbringt.

Was sind Last- und Leistungstests?

Unternehmen stehen unter dem Druck, ein hervorragendes Kundenerlebnis zu bieten. Sie müssen sicherstellen, dass Ihre Software unabhängig von der Nutzungslast zuverlässig, korrekt und konsistent reagiert.

Leistungstests bewerten, wie sich eine Anwendung unter bestimmten Bedingungen verhält, und analysieren die Ergebnisse, damit Sie alle Engpässe oder Blockaden identifizieren und beheben können, die einen reibungslosen Betrieb verhindern.

Eine Strategie für Last- und Leistungstests bereitet Ihre Anwendungen auf unerwartete Anforderungen vor. Tools für Last- und Leistungstests stellen sicher, dass Ihr System plötzliche Verkehrsspitzen bewältigt und ein optimales Benutzererlebnis bietet.

Warum sind Last- und Leistungstests erforderlich?

An den meisten Tagen funktioniert Ihre Anwendung unter normalen Bedingungen. Aber hin und wieder kommt es zu Lastspitzen oder einem Leistungseinbruch eines abhängigen Systems.

Viele Organisationen führen nur Tests für eine Teilmenge der potenziellen Bedingungen durch, denen Benutzer ausgesetzt sein könnten. Agile Teams erkennen, dass sie Leistungstests für eine Vielzahl von Workloads durchführen müssen, um die Erwartungen der Benutzer zu erfüllen.

Leistungs- und Lasttest-Tools sind eine Kontrollleuchte für die Systemleistung. Sie testen unter regelmäßigen und extremen Belastungen, um Fehler zu finden und sicherzustellen, dass Ihre Anwendung der Hitze standhält. Die Testautomatisierung macht es einfacher und schneller, eine Kombination von Leistungstestschritten parallel auszuführen.

Arten von Leistungstests

 

Load Testing

Diese Tests simulieren die ungefähre Anzahl von Benutzern, die die Anwendung verwenden können. Bei der Reproduktion repräsentativer erwarteter Last- und Nutzungsbedingungen, zentriert auf Reaktionszeiten, helfen Lasttests dabei, mögliche Engpässe zu lokalisieren. Der Test ermöglicht es Entwicklern, basierend auf der erzeugten Last zu beurteilen, ob Anwendungen die Erwartungen hinsichtlich Reaktionsfähigkeit und Stabilität erfüllen.

Volumentest

Auch Kapazitätstest genannt. Wenn Tester Lasttests verwenden, füllen sie große Datenmengen in eine Datenbank und überwachen das Verhalten des Systems insgesamt. Der Zweck besteht darin, die Leistung der Softwareanwendungen unter verschiedenen Datenbankvolumen zu beobachten.

Belastbarkeitstest

Dies bedeutet, dass Tester die Anwendung unter extremen Arbeitsabläufen testen, wodurch die Tester beobachten können, wie die Anwendung große Datenmengen oder hohen Datenverkehr handhabt. Die Idee ist, den Bruchpunkt der Anwendung zu identifizieren.

Ausdauertests

Auch bekannt als Soak-Test. Tester verwenden diesen Test, um sicherzustellen, dass die Software die angegebene Last über einen längeren Zeitraum bewältigen kann. Dies kann auch überprüfen, ob Probleme mit Speicherlecks treten nicht auf, wenn die Anwendung über einen längeren Zeitraum ausgeführt wird.

Spike-Tests

Tester, die diese Testmaßnahmen anwenden, versuchen, die Auswirkungen auf den Betrieb eines Systems zu verstehen, wenn Aktivitäten auf dem System über der Norm liegen. Im Gegensatz zu Stresstests berücksichtigen diese Tests die Komplexität der Aktionen, die das System ausführt, und die Anzahl der beteiligten Benutzer, was dann zu einer Erhöhung der Anzahl der vom System generierten Geschäftsprozesse führt.

Skalierbarkeitstests

Engpässe entstehen, wenn die Kapazität nicht ausreicht, um die Arbeitslast zu bewältigen. Tester nutzen Skalierbarkeitstests, um die Skalierbarkeit der Softwareanwendung zu ermitteln und so die steigende Benutzerlast zu bewältigen. Dies hilft ihnen bei der Planung einer Kapazitätserweiterung Ihres Softwaresystems.

Best Practices für Leistungstests

Hier sind einige Best Practices für die Leistungsüberwachung und das Testen.

  • Verstehen Sie die Anwendung gründlich
    Was sind seine Fähigkeiten, welche Anwendungsfälle sind vorgesehen und in welchen Situationen soll es erfolgreich sein?
  • Verstehen Sie die verschiedenen Testarten
    Machen Sie sich gründlich mit den verschiedenen Testarten und ihrer Anwendung vertraut.
  • Berücksichtigen Sie alle möglichen Umgebungen und Geräte
    Berücksichtigen Sie alle möglichen Produktumgebungen und Geräte, einschließlich Browser und Betriebssysteme.
  • Verwenden Sie DevOps
    Durch die Einbindung von DevOps werden Testplan und Entwicklungsteams zusammengeführt. Dies hilft, Fehler schneller zu erkennen und zu beheben.
  • Einrichten der Umgebung und der Tools
    Richten Sie Ihre Testumgebung und Tools zur Validierung der Anwendungsleistung ein. Isolieren Sie es vom Benutzerakzeptanztest (UAT).
  • Kriterien definieren
    Definieren Sie grundlegende Betriebskriterien für den Erfolg und erweitern Sie diese auf extreme Bedingungen, unter denen der Betrieb aufrechterhalten werden sollte.
  • Design-Leistungstests
    Nutzen Sie API-Test-Szenarien für Leistungstests und passen Sie sie nach Bedarf an.
  • Konfigurieren, durchführen, erfassen
    Konfigurieren Sie die Leistungstestumgebung, führen Sie die Tests durch und sammeln Sie die Ergebnisse zur Analyse.
  • Überprüfen, identifizieren, erneut testen
    Überprüfen Sie die Ergebnisse, identifizieren Sie Leistungsbereiche, die Sie ansprechen möchten, und wiederholen Sie den Vorgang (erneuter Test) nach Bedarf.
  • Triage der Leistungsprobleme
    Beziehen Sie alle Beteiligten ein: Tester, Entwickler und Betriebspersonal.

Erste Schritte & Beispiele

Die von Ihnen erstellte Anwendung unterliegt sowohl funktionalen als auch nicht-funktionalen Testanforderungen. Best Practices für Last- und Leistungstests sind ein notwendiger Aspekt der Softwareentwicklung, insbesondere wenn die Last aufgrund plötzlicher Schwankungen der Nachfrage und des Netzwerkverkehrs variieren kann.

Verschaffen Sie sich einen Vorsprung, indem Sie Ihre vorhandenen API-Test-Szenarien als Grundlage für Leistungstests verwenden.

Beispiele für Testfälle

  1. Stellen Sie sicher, dass die Reaktionszeit 4 Sekunden oder weniger beträgt, wenn 1,000 Benutzer oder virtuelle Benutzer die Website gleichzeitig verwenden.
  2. Stellen Sie sicher, dass die Reaktionszeit der Anwendung unter Last in einem Bereich liegt, der bei langsamer Netzwerkverbindung akzeptabel ist.
  3. Beachten Sie die maximale Anzahl von Benutzern, die die Anwendung unterstützen kann, ohne abzustürzen.
  4. Zeichnen Sie die Ausführungszeit der Datenbank auf, wenn sie 500 Datensätze gleichzeitig liest oder schreibt.
  5. Überprüfen Sie die Speicher- und CPU-Nutzung des Datenbank- und Anwendungsservers während Spitzenlastsituationen.
  6. Überprüfen Sie die Reaktionszeit der Anwendung bei niedriger, mittlerer und hoher Last.

Die Verwendung dieser Testfälle in der Praxis Leistungstest Szenarien werden Sie feststellen, dass vage Begriffe wie „hohe Belastung“ und „akzeptabler Bereich“ durch konkrete Zahlen ersetzt werden. Tester legen die Leistungskriterienzahlen fest und berücksichtigen dabei die technische Landschaft der Anwendung und die Geschäftsanforderungen des Projekts.

Wann sollten Teams Leistungstests durchführen?

Moderne Softwareentwicklung legt Wert darauf, Leistung von Anfang an in Anwendungen zu integrieren, anstatt sie erst später im Lebenszyklus zu berücksichtigen. Mit anderen Worten: Wenden Sie Shift-Left-Prinzipien auf Leistungstests anDas frühzeitige Erkennen und Beheben von Leistungsproblemen verhindert spätere kostspielige Neuentwicklungen. Um agile Vorgehensweisen und häufige Releases zu unterstützen, ist die Automatisierung und kontinuierliche Durchführung von Leistungstests entscheidend.

Obwohl es unpraktisch ist, alle Leistungstests während Continuous Integration (CI)-Builds auszuführen, funktioniert ein ausgewogener Ansatz am besten. Führen Sie grundlegende Leistungstests während CI-Builds durch und planen Sie intensivere Tests je nach Zeit- und Ressourcenverfügbarkeit seltener ein. Die folgende Tabelle zeigt einige Beispiele.

Testfrequenz

Testtyp

Jeder CI-Build

Rauch, Geräteleistung

Täglich oder nächtlich

Laden Sie

Einmal pro Woche

Ausdauer, Stress

Durch die Verwendung eines solchen Shift-Left-Leistungstestprozesses können Teams die perfekte Balance finden: Sie erkennen Leistungsrückgänge schnell und verwalten gleichzeitig die Ressourcennutzung effizient.

Best Practices-Leitfaden für Leistungstests

Erfahren Sie Best Practices und Tipps zur Verbesserung und Optimierung von Leistungstests durch Automatisierung.

Whitepaper lesen »

Screenshot der Titelseite eines Parasoft-Whitepapers mit dem Titel „Leitfaden für bewährte Methoden zum Leistungstesten“

Beschleunigen von Leistungstests mit Service-Virtualisierung

Service-Virtualisierung vereinfacht und beschleunigt Leistungstests, indem sie die Komplexität und den Aufwand herkömmlicher realer Leistungstestumgebungen reduziert. Der Einsatz von Automatisierungstechniken führt zu geringeren Betriebskosten und reduzierten Laborkosten. Entwicklungsteams testen dank Virtualisierung früher und gründlicher.

Service-Virtualisierung simuliert Dienste wie APIs, Systeme anderer Teams oder in der Entwicklung befindliche Systeme, die für Tests verfügbar sein müssen, aber oft an den Produktionseinsatz gebunden sind. Um die Erstellung der virtuellen Assets für die Service-Virtualisierung zu vereinfachen, erstellen Tools wie Parasoft Virtualize Proxys.

Proxys fungieren als Vermittler zwischen Anwendungen und Backend-Systemen und überwachen die Kommunikation mit ansonsten unsichtbaren Abhängigkeiten. Dadurch können Service-Virtualisierungstools den Datenverkehr analysieren, Anfragen mit Antworten verknüpfen und Daten automatisch interpretieren. Durch die Anwendung von Servicedefinitionen in einer virtualisierten Umgebung können virtuelle Assets schneller und präziser erstellt werden.

Automatisierung vereinfacht die Erstellung und Konfiguration virtueller Dienste zur Unterstützung von Testfällen und ermöglicht eine nahtlose Bereitstellung in Testumgebungen. Service-Virtualisierung reduziert Kosten und Komplexität bei der Erstellung von Performance-Testumgebungen. Service-Virtualisierungstools bieten außerdem:

Blauer Kreis mit einem weißen Symbol in der Mitte, das eine hierarchische Struktur zeigt.

Realistische Simulationen

Blauer Kreis mit einem weißen Symbol, das eine Testumgebung darstellt

Testumgebungsmanagement

Blauer Kreis mit einem weißen Monitorsymbol in der Mitte

Stabile Testumgebung

Testdatenverwaltung

Berichte & Analysen

Rechteckiges Bannerbild mit überwiegend dunkelblauer Farbe und abgewinkelter Ecke in Standardblau. In der oberen rechten Ecke befindet sich eine Collage aus Parasoft-Produktsymbolen für DTP, C/C++test, CTP, Jtest, Selenic, Insure++, C/C++test CT, dotTEST, Virtualize und SOAtest.

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.

Demo anfordern