REST-API-Test-Tutorial: Beispielhafte manuelle Testfälle
⚡ Intelligente Zusammenfassung
REST-API-Tests validieren RESTful-Webdienste, indem sie HTTP-Anfragen wie GET, POST, PUT und DELETE senden und anschließend den Statuscode, die Antwortheader und die vom Server zurückgegebene Nutzlast überprüfen.

Was ist REST-API-Testen?
REST-API-Tests REST-API-Testing ist eine Open-Source-Technik zur automatisierten Webprüfung, die zum Testen von RESTful APIs für Webanwendungen eingesetzt wird. Ziel des REST-API-Testings ist es, die Antworten der REST-API durch das Senden verschiedener HTTP/S-Anfragen zu protokollieren, um deren korrekte Funktion zu überprüfen. REST-API-Testing erfolgt mittels der Methoden GET, POST, PUT und DELETE.
REST steht für Representational State Transfer. Es handelt sich um einen Architekturstil und einen Kommunikationsansatz, der bei der Entwicklung von Web ServicesREST hat sich als logische Wahl für die Entwicklung von APIs etabliert, da es Benutzern ermöglicht, effizient mit Cloud-Diensten in Kontakt zu treten und zu interagieren.
Eine API (Application Programming Interface) ist eine Reihe von Programmieranweisungen für den Zugriff auf eine webbasierte Softwareanwendung. Anders ausgedrückt: Es handelt sich um eine Reihe von Befehlen, die ein Programm verwendet, um direkt mit einem anderen zu kommunizieren und die Funktionen des jeweils anderen zu nutzen, um Informationen zu erhalten.
Zum Beispiel kann ein Google Eine Website kann eine API für Suche, Übersetzungen und Kalender bereitstellen. Im Allgemeinen sehen APIs wie im folgenden Beispiel aus, mit Servernamen, Pfaden und Parametern.
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
Aber warum überhaupt Testaufwand in diese Ebene investieren?
Warum REST-API-Tests wichtig sind
Eine REST-API fungiert als Schnittstelle zwischen Benutzeroberfläche und Datenbank und ist somit die Schicht, in der der Großteil der Geschäftslogik implementiert ist. Ein Fehler in einer Preisregel oder einer Berechtigungsprüfung wird in der API-Antwort deutlich, lange bevor jemand einen falschen Betrag auf dem Bildschirm bemerkt. Tests an dieser Stelle decken Probleme daher frühzeitig und näher an ihrer Ursache auf.
Geschwindigkeit ist der zweite Grund. Eine Anfrage wird in Millisekunden abgeschlossen und benötigt weder Browser noch Rendering-Engine oder fehleranfällige Element-Locators. Ein Tester kann Dutzende von Endpunkten testen, während ein einziger Interface-Test eine Seite lädt. Dieselbe Anfrage verhält sich dabei identisch, egal ob es sich beim Frontend um eine Website, eine mobile App oder eine Partnerintegration handelt.
Stabilität ist der dritte Grund. Layouts ändern sich ständig, aber ein veröffentlichter REST-ContainertracEs wird erwartet, dass t konstant bleibt. Tests, die gegen diese Annahme durchgeführt wurden, …tracUm Überarbeitungen zu überstehen, schützen sie die Teile des Produkts, auf denen andere Teams tatsächlich aufbauen.
Arten von API-Methoden
Es gibt hauptsächlich 4 Arten von API-Tests Methoden: GET, POST, DELETE und PUT.
- STARTE– Die GET-Methode wird verwendet, um …tracInformationen vom angegebenen Server über eine bestimmte URI abrufen. Bei einer GET-Anfrage sollte nur Folgendes passieren:tracDie Daten sollten keine weiteren Auswirkungen haben.
- jetzt lesen– Eine POST-Anfrage wird verwendet, um eine neue Entität zu erstellen. Es kann auch verwendet werden, um mithilfe von HTML-Formularen Daten an den Server zu senden, beispielsweise Kundeninformationen, Datei-Upload usw.
- SETZEN– Erstellen Sie eine neue Entität oder aktualisieren Sie eine vorhandene.
- LÖSCHEN– Entfernt alle aktuellen Darstellungen der durch einen URI gegebenen Zielressource.
So testen Sie die REST-API
Für das Testen einer REST-API muss eine Anwendung mit einer Beispiel-API interagieren. Zum Testen einer API benötigen Sie zwei Dinge:
- Testtool/Framework zur Steuerung der API
- Schreiben Sie Ihren eigenen Code auf, um die Beispiel-REST-API zu testen
REST-API-Testfälle können mit Tools wie den folgenden getestet werden:
- Erweiterter Rest-Client
- Postman-Rest-Client
- Curl unter Linux
Hier verwenden wir den Advanced Rest Client. Im Folgenden finden Sie die Schritte zum Herunterladen des Advanced Rest Clients.
Wie erhalte ich einen erweiterten REST-Client?
- Zurück Nach Google Chrome's Webshop
- Suchen Sie nach „Advanced Rest Client“ oder gehen Sie direkt dorthin werden auf dieser Seite erläutert und Installieren Sie die Erweiterung
- Wählen Sie im App-Bereich von Chrome das Symbol „Advanced Rest Client“ aus – chrome://apps/
Der Eintrag im Webshop wird wie unten dargestellt angezeigt.
Nach der Installation führen Sie bitte den unten stehenden Test durch, um ein Gerät zu testen. REST-konforme API.
Schritte zum Testen der REST-API
Hier verwenden wir die REST-Client-Erweiterung im Chrome-Browser. Um dies besser zu verstehen, verwenden wir eine Dummy-API zum Testen:
http://ip.jsontest.com/
Schritt 1) Öffnen Sie den Advanced REST-Client
Starten Sie die App Advanced REST Client (ARC), sobald sie erfolgreich installiert wurde.
Schritt 2) Geben Sie die URL API zum Testen
Geben Sie die Beispiel-REST-API ein. URL zum Testen in der URL Textfeld.
Schritt 3) Wählen Sie die HTTP-Methode aus
Wählen Sie die Methode für die Art der HTTP-Methoden im API-Test aus, die aufgerufen werden soll, z. B. POST
Schritt 4) Stellen Sie den Header-Satz bereit
Geben Sie im Textfeld „Header“ einen Header-Satz ein. Klicken Sie auf „Header-Satz einfügen“.
Schritt 5) Bestätigen Sie die eingestellten Header
Klicken Sie anschließend auf DIESES SET VERWENDEN.
Schritt 6) Geben Sie den erforderlichen Textinhalt an
- Wechseln Sie nun zur Registerkarte „Körper“.
- Legen Sie den erforderlichen Textkörperinhaltstyp und die Editoransicht fest, z. B. Textkörperinhaltstyp: application/json
- Editoransicht: Roheingabe.
- Unter „Payload“ übergeben Sie den Anfragetext der Demo-API zum Testen in Form von Schlüssel-Wert-Paaren, z. B. {"key1":"value1","key2":"value2"}. Bei einer POST-API müssen Sie einen Anfragetext oder Parameter übergeben. Diese übergeben Sie ebenfalls unter „Payload“.
{"property" : ["Sites"], "report_type" : ["ALL"]}
⚠️ Warnung: Der Inhaltstyp ist application/json mit einer ungültigen Nutzlast. JSON Gibt den Fehlercode 400 (Bad Request) zurück.
Schritt 7) Senden Sie die Details, um den Test zu starten
- Klicken Sie auf die Schaltfläche Senden.
- Sie können auf die Schaltfläche DETAILS klicken, um die Antwortkopfzeilen anzuzeigen.
Hier sind die Antwortdetails:
Die Reaktion muss noch anhand eines erwarteten Ergebnisses bewertet werden.
Validierung der Ergebnisse
Beim Testen von Web-APIs müssen wir hauptsächlich den Antwortcode, die Antwortnachricht und den Antworttext überprüfen.
Antwortcodes lassen sich in fünf Familien einteilen:
| Familie | Kategorie | Bedeutung |
|---|---|---|
| 1xx | Informational | Empfangen, wird noch bearbeitet |
| 2xx | Erfolg | Abgeschlossen; 200 OK, 201 erstellt |
| 3xx | Redirection | Eine weitere Maßnahme ist erforderlich. |
| 4xx | Client-Fehler | Ungültige Nutzdaten, Token oder Ressource |
| 5xx | Server Error | Gültige Anfrage, Serverfehler |
Nachfolgend sind die möglichen Antwortcodes aufgeführt.
Eine einzelne Anfrage beweist, dass der Endpunkt funktioniert. Eine ganze Reihe von Anfragen beweist, dass er dauerhaft funktioniert.
REST-API-Testfälle, die Sie abdecken müssen
Eine nützliche REST-API-Suite erstreckt sich über mehrere Kategorien, anstatt immer wieder denselben Standardaufruf mit unterschiedlichen Daten zu verwenden:
- Der glückliche Weg: Senden Sie eine gültige Anfrage an jeden Endpunkt und bestätigen Sie den Statuscode, das Schema und jeden Feldwert.
- Negative Fälle: Wenn Sie fehlerhaftes JSON, eine nicht unterstützte Methode und eine fehlende Ressourcen-ID senden, erwarten Sie die Fehlercodes 400, 405 und 404 anstelle von 500.
- Grenzwerte: Wenn ein Feld 1 bis 200 Zeichen akzeptiert, testen Sie 0, 1, 200 und 201. Die Validierungsregeln brechen an den Grenzen ab.
- Spezielle Charaktere: Um Kodierungsfehler aufzudecken, sollten Sie Buchstaben mit Akzenten, Emojis, Anführungszeichen und Mehrbyte-Texte durch jedes Feld schicken.
- Mittract-Prüfungen: Vergleichen Sie die Antwort mit der veröffentlichten OpenAPI- oder Swagger-Spezifikation, um undokumentierte Änderungen frühzeitig zu erkennen.
- Sequenzierung: Rufen Sie die Endpunkte in einer realistischen Reihenfolge auf, z. B. POST, dann GET, dann DELETE, da der Zustand zwischen den Aufrufen erhalten bleibt.
- Leistungsvernunft: Erfassen Sie die Reaktionszeiten bei jedem Durchlauf und kennzeichnen Sie jeden Endpunkt, der den mit dem Team vereinbarten Schwellenwert überschreitet.
REST-API-Testtool
Für unterschiedliche Testphasen eignen sich unterschiedliche Werkzeuge.
| Werkzeug | Typ | am besten für |
|---|---|---|
| Erweiterter Rest-Client | Desktop-Client | Schnelle manuelle Anrufe |
| Postman | Desktop-Client | Sammlungen und Teamarbeitsbereiche |
| JMeter | Lastprüfung | Reaktionszeiten unter Last |
| SoapUI | Funktionsprüfung | REST und SOAP zusammen |
| Seien Sie versichert | Java | Automatisierung stabiler Fälle |
| cURL | Command line | Einfügen von Anrufen in Fehlerberichte |
Hier finden Sie die Zusammenfassung API-Testwerkzeuge.
Die meisten realen Endpunkte verweigern die Antwort, bis die Anfrage beweist, wer sie gesendet hat.
REST-API-Authentifizierung und Sicherheitsprüfungen
Öffentliche Demo-Endpunkte beantworten Anfragen von jedem, aber eine produktive REST-API ist durch ein Authentifizierungsschema geschützt, und ein Autorisierungsfehler ist weitaus schädlicher als ein falscher Feldwert. Zuerst muss der Mechanismus identifiziert werden: ein statischer API-Schlüssel, HTTP-Basic-Anmeldeinformationen, ein OAuth-2.0-Bearer-Token oder ein signiertes JSON-Web-Token.
Sobald eine authentifizierte Anfrage erfolgreich war, sollten die möglichen Fehlerpfade gezielt durchgearbeitet werden:
- Keine Zugangsdaten: Entfernen Sie den Authorization-Header. Erwarten Sie den Fehlercode 401 (Nicht autorisiert) und keine Datensatzdaten im Antworttext.
- Fehlerhafte Anmeldeinformationen: Wenn ein Zeichen des Tokens beschädigt ist, ist erneut mit einem 401-Fehler zu rechnen, dessen Ursache nicht erklärt wird.
- Abgelaufene Anmeldeinformationen: Verwenden Sie ein abgelaufenes Token erneut. Bestätigen Sie, dass es abgelehnt und nicht eingelöst wird – ein häufiger Fehler aufgrund von Zeitabweichungen.
- Falsche Berechtigungsstufe: Authentifizieren Sie sich als Benutzer mit eingeschränkten Rechten und rufen Sie einen Endpunkt auf, der nur Administratoren zugänglich ist. Erwarten Sie den Fehlercode 403 Forbidden, nicht 200.
- Der Rekord eines anderen Benutzers: Ändern Sie die ID, sodass Benutzer A die Daten von Benutzer B anfordert. Ein Erfolg hierbei ist ein schwerwiegender Fehler in der Zugriffskontrolle.
Abschließend ist zu bestätigen, dass jeder Anruf über HTTPS erfolgt und dass fehlgeschlagene Antworten keine Protokolleinträge enthalten. traces oder Versionsbanner, und dass schnelle Wiederholungen den Fehler 429 Too Many Requests auslösen.
Das Testen von REST-APIs birgt Schwierigkeiten, die beim Testen von Schnittstellen nicht auftreten.
Herausforderungen für API-Tests
Die interessanten Probleme für Tester beim Testen von REST-APIs sind:
- Um sicherzustellen, dass die Testumgebung die Parameter der API-Aufrufe so variiert, dass sowohl die Funktionalität überprüft als auch Fehler aufgedeckt werden, umfasst dies die Untersuchung von Randbedingungen und die Zuweisung gemeinsamer Parameter.
- Erstellen interessanter Parameterwertkombinationen für Aufrufe mit zwei oder mehr Parametern
- Die Inhalte identifizieren, unter denen die API-Aufrufe erfolgen müssen. Dies kann die Festlegung externer Umgebungsbedingungen (Peripheriegeräte, Dateien usw.) sowie intern gespeicherter Daten umfassen, die die API beeinflussen.
- Sequenzierung von API-Aufrufen gemäß der Reihenfolge, in der die Funktion ausgeführt wird
- Damit die API bei aufeinanderfolgenden Aufrufen nützliche Ergebnisse liefert.













