Postman Load Testing Tutorial



Viele der heutigen Webdienste integrieren APIs (Application Programming Interfaces), die den Austausch verschiedenartiger Informationen zwischen Systemen ermöglichen. APIs dienen als eine robuste Verbindung zwischen wichtigen Diensten und Nutzern. Wie bei der Überprüfung jeder wichtigen Systemkomponente ist auch die Bewertung von APIs unerlässlich. Der Einsatz von Drittanbieter-API-Testwerkzeugen wie Postman erleichtert sowohl manuelles als auch automatisiertes Testen und umfasst API-Überwachungsfunktionen.

Postman ist ein weithin anerkanntes Tool im Bereich der Testwerkzeuge zur Validierung von API-Anfragen. Während es allgemein für API-Tests weit verbreitet ist, ist die Nutzung von Postman für Lasttests nicht ganz so einfach.

In diesem Postman-Lasttest-Tutorial werden wir erläutern, was Postman ist, was Postman-Lasttests sind und wie man mit Postman Lasttests durchführt, damit Sie mit Postman mit dem Lasttest beginnen können.

Was ist Postman?

Postman ist ein weitverbreitetes Tool, das Entwicklern hilft, APIs in einer kollaborativen und benutzerfreundlichen Umgebung zu testen, zu entwerfen und zu verwalten. Mit Postman können Entwickler HTTP-Anfragen, insbesondere für RESTful APIs, einfach erstellen, senden und testen. Es unterstützt verschiedene HTTP-Methoden, Authentifizierungstypen und ermöglicht die Organisation sowie Automatisierung von API-Testabläufen, was es zu einem unverzichtbaren Werkzeug im API-Entwicklungsprozess macht. Postman wird häufig in API-gesteuerten Umgebungen eingesetzt, in denen Dienste über Microservices und Cloud-Plattformen verteilt sind. Heute wird Postman auch häufig in modernen API-Ökosystemen genutzt, die Microservices, containerisierte Anwendungen und cloud-native Architekturen umfassen, wodurch die API-Validierung ein wichtiger Bestandteil des Entwicklungsworkflows ist.

Postman ist ein API-Entwicklungstool, das im Softwareentwicklungszyklus eingesetzt wird:

  • API-Entwicklung
  • API-Test
  • API-Dokumentation

Aber Postman ist nicht nur für die Entwicklung da. Es kann auch wie ein Browser fungieren, um Anfragen zu senden und Antworten zu empfangen. Zudem können Skripte ausgeführt werden, die vor dem Senden der Anfragen und nach dem Empfangen der Antworten laufen, was Ihnen mehr Kontrolle über Ihre API-Interaktionen gibt. Anfragen können in Sammlungen gespeichert werden, um sie bei Bedarf in einer bestimmten Reihenfolge auszuführen, was Ihren Workflow organisierter macht.

Wenn es um API-Tests geht, ist Postman ein großartiges Werkzeug, um sicherzustellen, dass alles wie erwartet funktioniert. Es hilft dabei zu überprüfen, ob Ihre API Daten korrekt abruft, speichert und aktualisiert, was es zu einem zentralen Bestandteil funktionaler Tests macht. Wichtig ist jedoch, dass Postman nicht für Leistungstests ausgelegt ist. Zwar kann es kleine Tests zur Überprüfung der Antwortzeiten ausführen, simuliert jedoch keinen realen Datenverkehr oder hohe Lasten. Wenn Sie also sehen möchten, wie Ihre API unter Druck performt, benötigen Sie ein spezielles Lasttesttool.

Für umfassendere Leistungstests benötigen Sie ein spezialisiertes Lasttest-Tool wie LoadView. Tools wie LoadView können realistische Bedingungen simulieren, die dabei helfen, Ihre APIs unter Stress zu testen und umfassende Metriken zu sammeln, um sicherzustellen, dass sie hohen Verkehr und intensive Nutzung bewältigen können. Dies ist entscheidend, um sicherzustellen, dass Ihre API unter allen Umständen gut funktioniert und nicht nur in kontrollierten Testumgebungen.

Funktionen von Postman

Postman bietet den Nutzern eine umfangreiche Palette an Funktionen, die von der Postman-API und Workflow-Steuerungen bis hin zu integrierten Monitoren für Regressionstests reichen und somit umfassende API-Testmöglichkeiten gewährleisten. Trotz der Vielzahl an Funktionen gibt es einige Kernfunktionen, die für jeden API-Tester essentiell sind. Schauen wir uns diese Schlüsselmerkmale etwas genauer an.
 

  • Anfragen importieren – Postman beinhaltet eine Importfunktion, mit der Nutzer rohen CURL-Text einfügen können, der in eine formatierte Anfrage mit Details wie Request-URL, Headern, Anfrageinhalt, Abfrageparametern und Autorisierungstoken umgewandelt wird.
  • Unterstützung mehrerer Protokolle – Die API-Client-Funktion von Postman ermöglicht das Senden von REST-, SOAP-, WSDL- und GraphQL-Anfragen.
  • Testfälle schreiben – Sie können Testfälle schreiben, um APIs auszuführen und bei der Validierung von Antworten zu helfen, einschließlich Assertions für JSON/XML-Antworten und Überprüfung der Antwortcodes.
  • Sammlungen – Postman unterstützt die Erstellung von Sammlungen, die APIs in einer Ordnerstruktur für verschiedene Projekte organisieren. Es bietet die Möglichkeit, eine Sammlung auszuführen, wodurch alle darin enthaltenen APIs nacheinander getestet werden.
  • JSON-Schema-Validierung – JSON (JavaScript Object Notation) Schema kann genutzt werden, um die Struktur von Anfragen und Antworten zu definieren. Dies hilft dabei, JSON-Inhalte innerhalb von Postman zu organisieren und zu strukturieren, um deren Klarheit und Lesbarkeit zu verbessern.
  • Umgebungs- und dynamische Variablen verwenden – In Postman können Sie Variablen erstellen, denen unterschiedliche Werte zugewiesen werden können. Dies ist nützlich, wenn Sie mit identischen APIs in verschiedenen realen Umgebungen arbeiten.
  • API in Code konvertieren – Postman ermöglicht das Konvertieren von API-Anfragen in Code in allen gängigen Programmiersprachen wie JavaScript, Golang, Java, PHP, Python und vielen mehr.

Vorteile von Postman-Lasttests

  • Leistungsbewertung: Lasttests helfen dabei, die Leistung Ihrer APIs unter verschiedenen Gleichzeitignutzerzahlen zu beurteilen. Dadurch können Sie verstehen, wie Ihr System mit steigenden Lasten umgeht und ob es die Leistungsanforderungen erfüllt.
  • Skalierbarkeitstests: Die Lasttestfunktionen von Postman ermöglichen es Ihnen, die Skalierbarkeit Ihrer API zu testen und zu bestimmen, wie gut sie wachsenden Daten- und Verkehrsvolumen standhält.
  • Flaschenhals-Erkennung: Lasttests helfen dabei, potenzielle Engpässe oder Schwachstellen in Ihrer API-Infrastruktur zu identifizieren. Diese Informationen sind wichtig, um Ihr System zu optimieren und feinabzustimmen, damit es höhere Lasten effizient verarbeiten kann.
  • Stresstests: Postman ermöglicht die Simulation von Stressbedingungen durch das Erzeugen hoher Lasten auf Ihrer API. Das hilft Ihnen, die Belastbarkeitsgrenzen und Systemeinschränkungen zu verstehen, sodass Sie notwendige Verbesserungen vornehmen können.
  • Concurrency-Tests: Lasttests in Postman erlauben es, zu testen, wie gut Ihre API funktioniert, wenn mehrere Nutzer gleichzeitig Anfragen stellen. Dies ist wichtig für Anwendungen, die gleichzeitige Nutzerinteraktionen bewältigen müssen.
  • Kosteneffizienz: Durch frühzeitiges Erkennen und Beheben von Performance-Problemen im Entwicklungszyklus können Lasttests mit Postman zu Kosteneinsparungen beitragen, indem sie potenzielle Ausfallzeiten oder kostspielige Nachbesserungen in der Produktion verhindern.
  • Verbessertes Nutzererlebnis: Indem Sie sicherstellen, dass Ihre API hohe Lasten bewältigen und unter Stress gut performen kann, bieten Sie Ihren Nutzern eine reibungslosere und zuverlässigere Erfahrung.

Grenzen von Lasttests mit Postman

Obwohl Postman hervorragend für API-Tests und Entwicklung geeignet ist, gibt es bei Lasttests Einschränkungen. Ein wesentlicher Nachteil ist die Unfähigkeit, hohe gleichzeitige Nutzerzahlen oder komplexe Szenarien effektiv zu simulieren. Postmans Hauptfokus liegt auf funktionalen Tests und Validierung, nicht auf Leistung unter Last. Außerdem skaliert die grafische Benutzeroberfläche und die Skripting-Fähigkeiten nicht gut bei massivem Datenverkehr oder detaillierter Leistungsanalyse im Vergleich zu spezialisierten Lasttesttools wie LoadView. Für umfassende Lasttestanforderungen wird daher empfohlen, spezialisierte Tools zu verwenden, anstatt sich ausschließlich auf Postman zu verlassen.

 

Lasttests mit dem Postman REST/RESTFUL Tool

Beim Testen einer Backend-Anwendung ist die Funktionalitätsprüfung ein Standardprozess, um sicherzustellen, dass alles wie vorgesehen funktioniert. Ihre Anwendungen werden von vielen, wenn nicht Hunderten oder Tausenden Nutzern gleichzeitig genutzt, daher müssen wir auch Leistungstests durchführen, um zu sehen, wie gut sie diesem Verkehr standhalten. Wir müssen jede Änderung an der Anwendung benchmarken und validieren.

Falls Sie Postman verwenden, um die Funktionalität Ihrer Web-API zu testen und Lasttests auf der Basis der API-Anfragesammlungen generieren möchten, können Sie ein Lasttest-Tool wie LoadView verwenden. LoadView bietet browserbasierte Lasttests für APIs sowie Webanwendungen (extern und intern) und Websites und Server.

Postman Lasttest-Einrichtung

Wir werden schrittweise durchgehen, wie man einen Lasttest für eine Webanwendung auf Basis einer Postman-Sammlung einrichtet.

Schritt 1

Bevor wir beginnen, müssen Sie die Postman-Sammlung exportieren. Sie können die Option „Public Link holen“ wählen und sie problemlos in LoadView importieren.

  • Hinweis: Stellen Sie sicher, dass die Postman-Sammlung nur lokale Variablen verwendet, da Umgebungsvariablen nicht in der Sammlung gespeichert werden.
Postman Collection Export

Schritt 2

Öffnen Sie die LoadView-Plattform und wählen Sie Neuen Lasttest erstellen.

 

Schritt 3

Hier sehen Sie die verschiedenen Lasttesttypen, die in LoadView verfügbar sind.

Web-Apps, Websites und APIs. Für unseren Anwendungsfall wählen Sie die Option Postman Collection, um API-Tests zu starten.

Load testing type Postman

Schritt 4

Ein neues Fenster öffnet sich, hier müssen Sie die exportierte Postman-Sammlung importieren und auf Gerät erstellen klicken.

Postman Collection Request

Schritt 5

Nach der erfolgreichen Erstellung eines Geräts sehen Sie den Bildschirm Testszenario, in dem Sie den Lasttyp festlegen können. Dies hängt vom Ziel Ihres Tests ab.

  • Lastbasierte Kurve. Führt Ihre Lasttests mit einer bekannten Anzahl von Nutzern durch und erhöht den Datenverkehr nach einer festgelegten Aufwärmzeit.
  • Zielbasierte Kurve. Diese Testkonfiguration wird verwendet, wenn Sie die gewünschte Transaktionsrate pro Sekunde für Ihre spezifische API erreichen und gleichzeitig die Anzahl der gleichzeitigen Benutzer skalieren wollen.
  • Dynamische Kurve. Diese Konfiguration erlaubt das Festlegen dynamischer Werte für Nutzerzahl, Maximalnutzer und Testdauer. Diese Einstellungen können während des Tests in Echtzeit angepasst werden.
Postman Collection Load Types

Schritt 6

Nachdem Sie ein Testszenario mit einer Liste all Ihrer APIs erstellt haben, können Sie Ihre Last- und Stresstests für Ihre APIs ausführen.

Nach dem Durchlauf des Lasttests erhalten Sie umfassende Berichte, Dashboards und Metriken, die zeigen, wie Ihre API und Systeme unter verschiedenen Lasten performt haben. Viele Teams korrelieren diese Lasttestergebnisse auch mit Observability-Plattformen, um Infrastrukturmetriken, Datenbankleistungen und Service-Abhängigkeiten während hohem API-Verkehr zu überwachen.

Integration des Postman-Sammlungslasttests mit Jenkins

Nachdem wir die Integration und Ausführung von Postman-Sammlungslasttests mit LoadView besprochen haben, können wir diese Tests in unsere CI/CD-Pipeline integrieren, um konsistentes Feedback und Leistungsergebnisse zu erhalten.

LoadView bietet eine nahtlose Integration mit Jenkins und ermöglicht das Stresstesten von Webseiten, Webanwendungen und APIs mit gleichzeitigen Verbindungen in echten Browsern aus einer vollständig verwalteten Cloud-Umgebung. Das LoadView-Plugin für Jenkins erlaubt Lasttests für alle neuen Updates oder zusätzlichen Features.

Sehen wir uns die Schritte an, die für das zuvor erstellte Postman-Sammlungsszenario in LoadView verwendet wurden, und wie es mit Jenkins integriert wird.

Schritt 1

Zur Integration Ihrer Tests mit Jenkins verwenden Sie dasselbe Postman-Testscenario aus dem vorherigen Abschnitt.

Schritt 2

Erzeugen Sie eine einzigartige UID und kopieren Sie die Integrations-UID. Diese wird als Sicherheitstoken für die Integration in Jenkins genutzt.

Postman Jenkins Integration UID

Schritt 3

Die Test-Szenario-ID für unsere Postman-Sammlung finden Sie auf der Szenario-Setup-Seite oder auf der Testverlauf-Seite (Test Manager > das Testaktionen-Menü > Verlauf).

Postman Collection Test History

LoadView-Plugin in Jenkins

So konfigurieren Sie das LoadView-Plugin:

  1. Melden Sie sich bei Ihrem Jenkins-Konto an.
  2. Gehen Sie in Jenkins zu Credentials > Add Credentials > LoadView Security Token (UID). Konfigurieren und validieren Sie die Anmeldedaten.
    • Art – LoadView Security Token (UID).
    • Geltungsbereich – Wählen Sie Global.
    • ID – Belassen Sie die Standard-ID oder geben Sie eine eindeutige ID an.
    • Beschreibung – Geben Sie eine eindeutige Beschreibung ein, um die Anmeldedaten zu unterscheiden.
    • UID – Fügen Sie die LoadView-UID für Web-API-Lasttests aus Ihrem LoadView-Konto ein. Nachdem die UID hinzugefügt wurde, klicken Sie auf UID validieren, um sicherzustellen, dass Jenkins Zugang zur LoadView-API hat.
  3. Wählen Sie als nächstes einen Job aus und klicken Sie auf Konfigurieren.
Jenkins LoadView Security Token

4. Gehen Sie zu Build > Post-build Actions > Add post-build action > LoadView-Lasttest-Szenario ausführen. Geben Sie die Einstellungen für den LoadView-Stresstest für den Build an:

  • Anmeldeinformationen – Wählen Sie den API-Schlüssel anhand der Beschreibung aus.
  • Szenario-ID – Fügen Sie die ID des Testszenarios ein, das Sie für den Build nutzen möchten. Kopieren Sie die ID von der Szenarioseite in LoadView.
  • Fehlergrenze – Geben Sie einen akzeptablen Prozentsatz an Sitzungen mit Fehlern an (z.B. kein Zugriff auf Zielressource, keine Schlüsselwörter/Bilder gefunden, etc.). Überschreitet der Fehlerprozentsatz den angegebenen Wert, wird der Build in Jenkins als fehlgeschlagen markiert.
  • Durchschnittliche Zeit – Geben Sie eine Grenze für die durchschnittliche Antwortzeit während der Testausführung an. Wird die Grenze überschritten, wird der Build als fehlgeschlagen markiert.

5. Klicken Sie auf Speichern.

LoadView Testergebnisse ansehen

Schließlich haben wir unsere Postman-Sammlung erfolgreich mit Jenkins unter Nutzung von LoadView integriert. Während unser Stresstest läuft, wird der Status in der Jenkins-Konsole im Echtzeitmodus angezeigt.

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

Fazit: Lasttests Ihrer API mit Postman

In diesem Leitfaden haben wir gezeigt, wie Sie mit LoadView gleichzeitige Nutzer mit Ihrer Postman-Sammlung simulieren können und wie Sie diesen Schritt mit der Jenkins-Integration von LoadView automatisieren. Die Werkzeuge zur Beurteilung dieser Anwendungen wurden kürzlich vereinfacht, was erheblich bei der Prüfung komplexer Systeme hilft, die auf internen und externen Anwendungen basieren. Diese Vereinfachung unterstützt bei der klareren Identifikation von Engpässen und Problemen.

Bei LoadView ist es unser Ziel, Ihr Partner für alle Ihre Lasttestbestrebungen zu sein, Sie in jeder Entwicklungsphase zu unterstützen und jede Komplexität zu meistern. Lasttests müssen nicht kompliziert sein, und die Plattform von LoadView macht den Prozess des Lasttestens Ihrer APIs einfach. Sie können Ihre Postman-Sammlung nahtlos mit LoadView integrieren, um Ihre Lasttests durchzuführen.

Das Expertenteam von LoadView steht Ihnen und Ihrem Team zur Verfügung, um Sie bei der Entwicklung und Verbesserung Ihrer Lastteststrategie zu unterstützen. Unsere Plattform ist intuitiv und auch für Nicht-Techniker einfach zu bedienen. LoadView bietet das Testen in echten Browsern, Point-and-Click-Skripting und umfassende, leicht verständliche Berichte, die Rätselraten beim Lasttesten eliminieren und eine effektive Zusammenarbeit über Entwicklerfunktionen hinweg ermöglichen.

Beginnen Sie noch heute mit dem Lasttest Ihrer APIs mit LoadView. Melden Sie sich für die kostenlose Testversion an und erhalten Sie kostenlose Lasttests. Oder vereinbaren Sie eine unserer privaten Demos mit einem unserer Performance-Ingenieure. Unser Ingenieur führt Sie durch die gesamte LoadView-Plattform und zeigt Ihnen, wie Sie LoadView in Postman-Sammlungen integrieren und die Schritte mit Jenkins automatisieren.

Bringen Sie Ihre Concurrent User Tests auf die
nächste Stufe

Erleben Sie unvergleichliche Funktionen mit unbegrenzter Skalierbarkeit. Keine Kreditkarte, kein Vertrag.