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.

  • 🔑 Kernidee: Die Serviceschicht wird direkt genutzt, ohne dazwischenliegende Benutzerschnittstelle.
  • 🔁 Methodenabdeckung: Führen Sie GET-, POST-, PUT- und DELETE-Anfragen an jede verfügbare Ressource durch.
  • ️ Client-Setup: Installieren Sie Advanced Rest Client, bevor Sie die allererste Anfrage senden.
  • 📋 Build anfordern: Geben Sie den Endpunkt an. URLMethode, Header, Parameter und JSON-Nutzlast.
  • ✅ Antwortprüfungen: Prüfen Sie, ob Antwortcode, Antwortnachricht und Antworttext den Erwartungen entsprechen.
  • 🔐 Sicherheitstiefe: Wiederholte Anrufe mit fehlenden, abgelaufenen und privilegierten Tokens, um 401- und 403-Antworten zu erzwingen.
  • 🤖 KI-Unterstützung: Maschinelles Lernen entwirft Testlasten für Grenzfälle, die manuelle Tester regelmäßig übersehen.

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
#1 Besten GESAMTTesten Sie Sigma
9.8/ 10
★ ★ ★ ★ ★
Holen Sie sich eine kostenlose Demo
PractiTest
9.5/ 10
★ ★ ★ ★ ★
Besuchen Sie PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
Besuchen Sie Testiny
besten FürTestautomatisierungTestmanagementKleine und mittlere QA-Teams
Hauptmerkmal✓Generieren Sie automatisierte Tests in Sekundenschnelle✓Zentralisiertes Testmanagement✓Manuelle + automatisierte Testfälle
Integrationen✓Jenkins, Slack, Jira✓Jira, Jenkins, Slack✓Jira, GitHub, GitLab
Kostenlose TestversionKostenlose Demo14-Tag kostenlose TestversionKostenlose Demo
Holen Sie sich eine kostenlose DemoBesuchen Sie PractiTestBesuchen Sie Testiny

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.

So installieren Sie den Advance Rest Client

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.

Öffnen Sie den Advanced REST-Client

Schritt 2) Geben Sie die URL API zum Testen

Geben Sie die Beispiel-REST-API ein. URL zum Testen in der URL Textfeld.

URL API zum Testen

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

HTTP-Methode

Schritt 4) Stellen Sie den Header-Satz bereit

Geben Sie im Textfeld „Header“ einen Header-Satz ein. Klicken Sie auf „Header-Satz einfügen“.

Header-Set

Schritt 5) Bestätigen Sie die eingestellten Header

Klicken Sie anschließend auf DIESES SET VERWENDEN.

Header-Set

Schritt 6) Geben Sie den erforderlichen Textinhalt an

  1. Wechseln Sie nun zur Registerkarte „Körper“.
  2. Legen Sie den erforderlichen Textkörperinhaltstyp und die Editoransicht fest, z. B. Textkörperinhaltstyp: application/json
  3. Editoransicht: Roheingabe.
  4. 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"]}

Schritte zum Testen der REST-API

⚠️ 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

  1. Klicken Sie auf die Schaltfläche Senden.
  2. Sie können auf die Schaltfläche DETAILS klicken, um die Antwortkopfzeilen anzuzeigen.

Schritte zum Testen der REST-API

Hier sind die Antwortdetails:

Schritte zum Testen der REST-API

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.

Validierung der Ergebnisse

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:

  1. Keine Zugangsdaten: Entfernen Sie den Authorization-Header. Erwarten Sie den Fehlercode 401 (Nicht autorisiert) und keine Datensatzdaten im Antworttext.
  2. Fehlerhafte Anmeldeinformationen: Wenn ein Zeichen des Tokens beschädigt ist, ist erneut mit einem 401-Fehler zu rechnen, dessen Ursache nicht erklärt wird.
  3. 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.
  4. 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.
  5. 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:

  1. 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.
  2. Erstellen interessanter Parameterwertkombinationen für Aufrufe mit zwei oder mehr Parametern
  3. 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.
  4. Sequenzierung von API-Aufrufen gemäß der Reihenfolge, in der die Funktion ausgeführt wird
  5. Damit die API bei aufeinanderfolgenden Aufrufen nützliche Ergebnisse liefert.

Häufig gestellte Fragen

REST-Tests arbeiten mit leichtgewichtigem JSON oder XML über einfache HTTP-Verben. SOAP-Tests validieren eine strikte XML-Hülle anhand einer WSDL-Konvention.tract, daher benötigt es einen schemafähigen Client wie z. B. SoapUI statt eines einfachen REST-Clients.

Nein. Clients wie Advanced Rest Client und Postman Sie können damit Anfragen über ein Formular erstellen. Programmierung ist nur dann notwendig, wenn Sie dieselben Vorgänge mit einer Bibliothek wie beispielsweise [Bibliotheksname] automatisieren. Seien Sie versichert.

Die meisten Teams betrachten Zeiten unter 300 Millisekunden als gut und unter einer Sekunde als akzeptabel für einen einzelnen Lesevorgang. Alles über einige Sekunden hinaus beeinträchtigt die aufrufende Anwendung. Daher sollten die Zeiten bei jedem Durchlauf aufgezeichnet und bei Abweichungen ein Fehler gemeldet werden.

Die KI liest eine OpenAPI-Spezifikation und generiert Anfrage-Payloads, einschließlich Grenz- und fehlerhafter Varianten, die Tester häufig übersehen. Sie gruppiert außerdem ähnliche Fehler und hebt Endpunkte hervor, deren kürzliche Änderungen ein erhöhtes Ausfallrisiko bergen.

Nein. KI weiß nicht, was das Unternehmen als korrekt ansieht, welche Zugriffsregeln relevant sind oder welche Daten sensibel sind. Sie skaliert die Fallgenerierung, während ein Tester weiterhin entscheidet, was eine gültige Antwort tatsächlich bedeutet.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: