Die Entwicklung von Anwendungen für das Web erfordert häufig die Verwendung von Anwendungsprogrammierschnittstellen (APIs). Die API ist das Herz und die Seele jeder Anwendung in Bezug auf die Datenübertragung, und Daten sind das, was Websites und Apps antreibt.

Wie ist es angesichts der Größenordnung, die Anwendungen mit bis zu Millionen aktiver Benutzer zu einem bestimmten Zeitpunkt erreichen, möglich, dass diese APIs performativ bleiben und nicht abstürzen? Wie gehen große Unternehmen diese geschäftskritische technische Herausforderung an? Die Antwort ist API-Leistungstests.

API-Leistungstests sind ein weites Feld. Dieser kurze Artikel hilft Ihnen, das Was, Warum und Wie von API-Leistungstests zu verstehen und Sie mit dem wesentlichen Jargon vertraut zu machen.

Was sind API-Leistungstests?

API-Leistungstests sind ein riesiger Dach mit vielen verschiedenen API-Testuntergruppen. Im Großen und Ganzen gibt es zwei Haupttypen von API-Tests:

Funktionstests
Funktionstests überprüfen die Funktionsweise der API. Beispielsweise kann ein Test dazu dienen, sicherzustellen, dass die API die gewünschte Ausgabe für eine bestimmte Eingabe zurückgibt. Diese Tests werden normalerweise während der Entwicklung einer API oder nach der Entdeckung eines Fehlers durchgeführt.

Nicht-funktionale Leistungstests
Leistungstests sind eine Art von nicht-funktionalen API-Tests. Diese Tests werden nach der Entwicklung der API durchgeführt und das Ziel ist es, die API mit virtuellen “realen Szenarien” zu testen. Lassen Sie uns einen genaueren Blick auf einige gängige Arten von API-Leistungstests werfen.

Auslastungstests
Beim Auslastungstest simuliert ein Client-Server-System zwischen API (Server) und Benutzer (Client), dass mehrere Benutzer gleichzeitig auf die API zugreifen. Diese virtuell erstellten Benutzer (VU) sind die “Last” im Lasttest.

Auslastungstests beantworten Fragen wie:

  • Wie wirkt sich eine bestimmte Anzahl von Website-Nutzern auf die Website-Leistung aus?
  • Wie viele gleichzeitige Benutzer kann eine Website oder Anwendung verarbeiten?
  • Wo liegen die Engpässe in meiner Webanwendung?
  • Was ist die Sollbruchstelle für meine Website?
  • Wann werden dem System die Ressourcen ausgehen?

Einige andere Arten von Leistungstests sind:

  • Spike-Tests. Spike-Tests setzen eine Softwareanwendung einem plötzlichen Anstieg der Benutzerlast aus.
  • Dauertest. Dadurch wird getestet, wie eine Softwareanwendung auf erhöhten, anhaltenden Benutzerdatenverkehr reagiert.
  • Volumentests. Volumentests, manchmal auch als Hochwassertests bezeichnet, testen eine Softwareanwendung anhand großer Datenmengen, um zu sehen, wie sie reagiert.
  • Skalierbarkeitstests. Skalierbarkeitstests bieten eine Möglichkeit zu sehen, wie Ihre Anwendung oder Ihr System auf verschiedene Benutzerebenen hoch- und/oder herunterskaliert wird.

Das war ein kurzer Blick auf das “Was”. Schauen wir uns nun das “Warum” an.

Warum Sie API-Leistungstests durchführen müssen: Fallstudien und Ressourcen

Wenn Ihr Online-Geschäft wächst, wächst auch die Benutzerbasis. Es ist viel wahrscheinlicher, dass eine API irgendwann abstürzt, wenn es keine regelmäßige Überwachung und Wartung gibt.

Eine berühmte Fallstudie Feb 2020 UK Heathrow Disruption ist ein solides Beispiel dafür, warum Lasttests von Software unerlässlich sind. Sie können auch diesen Artikel lesen, um mehr über die Bedeutung von Auslastungstests in der Softwareentwicklung zu erfahren, und in diesem Artikel die wirtschaftlichen Vorteile von Leistungstest-APIs verstehen.

Einfach ausgedrückt, helfen API-Leistungstests Ihnen, Ausfallzeiten mit allen entsprechenden Problemen zu vermeiden. Lassen Sie uns nun über das “Wie” von API-Leistungstests sprechen.

Belastungsleistungstests

So führen Sie API-Leistungstests mit LoadView-Tests von Dotcom-Monitor durch

Unsere LoadView-Plattform bietet verschiedene On-Demand-Lösungen für eine Vielzahl von Tests von Web-APIs, Webseiten und Webanwendungen, die innerhalb weniger Minuten über ein benutzerfreundliches Dashboard implementiert und ausgeführt werden.

Bei LoadView bieten wir problemlose, Cloud-basierte Lasttests in echten Browsern an, was bedeutet, dass keine externen Anwendungen oder Bibliotheken / Frameworks erforderlich sind. LoadView Testing vereinfacht API-Leistungstests. So geht’s.

Funktionsweise von LoadView
LoadView verwendet ein globales Netzwerk von Load Injector Servern (LIs), um Benutzerlasten zu generieren, um die Website-Leistung zu testen. LoadView bietet Funktionen zum Erstellen und Laden von Tests für verschiedene Ziele. Einige der von LoadView bereitgestellten Auslastungstesttypen sind:

  • HTTP/S
    Testen Sie die URL auf Barrierefreiheit, Leistung, korrekte Inhalte, Fehler, fehlerhafte Links und mehr.
  • Website
    Simulieren Sie das gleichzeitige Laden einer Onlineseite durch Benutzer. Wählen Sie aus Chrome, Microsoft Edge und Firefox sowie mobilen Browsern wie iOS, Android, Windows und BlackBerry.
  • Webanwendungen
    Erstellen Sie Testskripte mit EveryStep Web Recorder, um Webanwendungen mit gleichzeitigen Benutzern zu vergleichen, die bestimmte Aktionen auf echten Computern (Chrome und Edge) und mobilen Geräten ausführen.
  • Streaming-Medien
    Testen Sie die Leistung und Verfügbarkeit Ihrer Audio- und Medienstreams.
  • SOAP-Web-API
    Überprüfen Sie die Leistung, Verfügbarkeit und Antworten von SOAP-Webdiensten.
  • REST-Web-API
    Überprüfen Sie den Antwortinhalt, die Betriebszeit und die Leistung von REST-Webdiensten.
  • Sammlungen von Postboten
    Testen Sie Web-APIs, indem Sie Postman-Sammlungen in LoadView importieren.
  • Selen
    Testen Sie Webanwendungen, indem Sie Ihr Selenium-Testprojekt mit Tausenden von gleichzeitigen Benutzern an verschiedenen Standorten auf der ganzen Welt ausführen.

LoadView-Auslastungstestkonfigurationen

Lastart

Mit LoadView können Sie Lastschrittkurve, Zielbasierte Kurve oder Dynamisch einstellbare Kurve wählen. Mit diesen Lastkurvenoptionen können Sie die Lautstärke gleichzeitiger Benutzer an reale Szenarien anpassen und realistischere Testergebnisse liefern.

Testdauer
Testdauer und Testgrenzwerte bestimmen die gleichzeitige Anzahl der Benutzersitzungen und die Dauer des Tests. Weitere Informationen zu Testgrenzwerten finden Sie in unserer Dokumentation zu LoadView-Kapazitätsgrenzen.

Benutzerverhalten
Um zu simulieren, wie sich echte Besucher auf Ihrer Website bewegen, wird das Nutzerverhalten verwendet. Sie können zwischen regulären, maximalen oder benutzerdefinierten Optionen wählen. Wenn die Simulationsoption Normaler Benutzer verwendet wird, werden zufällige Verzögerungen im Bereich von drei bis sechs Sekunden hinzugefügt, um das Verhalten normaler Benutzer zu simulieren. Der Test wird so schnell wie möglich durchgeführt, wenn Sie “Maximum” auswählen. Sie können diese Funktion verwenden, um Belastungstests für Ihr System auszuführen und zu bestimmen, wo und wann es die maximale Kapazität erreicht.

Die Option “Benutzerdefiniert” bietet Ihnen die gleiche Möglichkeit, zufällige Verzögerungen wie die Option “Normal” auszuwählen, ermöglicht jedoch kürzere und längere Verzögerungen von null bis 30 Sekunden für eine bessere Personalisierung.

Geographische Standorte
Um realistischere Benutzersituationen nachzuahmen, je nachdem, wo Personen normalerweise auf Ihre Website zugreifen, können Sie aus einer Vielzahl von geografischen Zonen auswählen und virtuelle Benutzer mit LoadView zwischen Zonen aufteilen. Wählen Sie aus mehr als zwanzig Orten gleichzeitig.

Zusammenfassung des Tests
Testadministratoren können Diagramme anzeigen, die zeigen, wie sich die Antwortzeiten geändert haben, wenn die Last und die Benutzeranzahl variierten. Der Testausführungsplan, die durchschnittlichen Antwortzeiten, die Anzahl der Sitzungen, die Anzahl der Fehler nach Typ und die CPU-Auslastung der einzelnen Lastinjektoren sind einige der Diagramme, die Sie überprüfen können.

Hier werden auch Fehler angezeigt, zusammen mit Informationen darüber, welche Art von Problem aufgetreten ist und wann es während des Tests aufgetreten ist. Rohdaten aus einem bestimmten Test können als CSV-Dateien heruntergeladen werden, mit denen Sie benutzerdefinierte Berichte oder Präsentationen für Projektbeteiligte und Teammitglieder erstellen können.

Ergebnisse der durchschnittlichen Antwortzeit

Wenn Sie es noch nicht getan haben, können Sie Ihre kostenlose Testversion der LoadView-Plattform hier starten. Und wenn Sie eine Einzeldemo wünschen, buchen Sie eine Zeit mit einem unserer Performance-Ingenieure. Wir freuen uns, von Ihnen zu hören.