Skip to main content

Laut einer SlashData-Umfrage aus dem Jahr 2020 verwendeten fast 90 % der befragten Entwickler APIs in irgendeiner Form. Es ist daher nicht verwunderlich, dass selbst wenn Sie als manueller oder Automatisierungstester einen Jobwechsel anstreben, das Bewerbungsgespräch aus API-bezogenen Fragen bestehen wird. 

In diesem Artikel führe ich Sie durch einige der häufigsten und wichtigsten Fragen zum Thema API-Testing in Vorstellungsgesprächen und gebe zu jeder die ideale Antwort. Los geht’s!

1. Was ist API-Testing?

API-Testing ist eine Art von Softwaretests, bei der APIs (Application Programming Interface) dahingehend bewertet werden, ob sie den Anforderungen an Funktionalität, Verlässlichkeit, Performance und Sicherheit entsprechen. Da APIs keine grafische Benutzeroberfläche (GUI) besitzen, wird das API-Testing auf der Nachrichtenebene des Systems durchgeführt. 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

2. Was sind die Vorteile von API-Testing?

API-Tests bieten verschiedene Vorteile. Zu den wichtigsten zählen:

  • Testen ohne GUI: Tester können API-Tests durchführen, ohne die Software direkt benutzen zu müssen. Das ist ein großer Vorteil, da QA-Ingenieure so schon früh Fehler erkennen können und Entwickler diese beheben können, bevor sie sich auf die GUI auswirken.
  • Test der Kernfunktionalität: Wenn die Code-Ebene einer Anwendung getestet wird, bevor GUI-Tests durchgeführt werden, kann die allgemeine Qualität überprüft werden. Dies hilft, kleine Fehler frühzeitig aufzudecken, die auf GUI-Ebene zu größeren Problemen werden könnten. Der Zugriff auf den Kern macht es möglich, Tests parallel zur Entwicklung durchzuführen, was die Zusammenarbeit und Kommunikation fördert.
  • Zeitersparnis: API-Tests benötigen in der Regel weniger Zeit als funktionale GUI-Tests. GUI-Tests dauern länger, da Web-Komponenten abgefragt werden müssen. Automatisierte API-Tests erfordern insbesondere weniger Code und bieten eine bessere und schnellere Testabdeckung im Vergleich zu automatisierten GUI-Tests.
  • Unabhängig von der Programmiersprache: Ein API-Test verwendet XML oder JSON zum Datenaustausch. Diese Übertragungsarten sind nicht von einer Programmiersprache abhängig; daher können automatisierte API-Tests in jeder Programmiersprache geschrieben werden. 

3. Worin unterscheidet sich API-Testing von UI-Testing?

Beim API-Testing liegt der Fokus viel stärker auf der Prüfung der Geschäftslogik, Datenantworten, Sicherheit sowie bei Performance-Engpässen. Im Gegensatz dazu wird beim UI-Testing das Aussehen einer Weboberfläche überprüft oder, ob bestimmte Schaltflächen, Formulare, Dropdown-Elemente usw. funktionieren.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

4. Aus welchen Komponenten besteht eine HTTP-Anfrage?

Eine HTTP-Anfrage besteht aus fünf Elementen:

  • Eine HTTP-Methode (siehe unten), die die jeweilige Aktion definiert.
  • Eine URI (Uniform Resource Identifier) ist die Kennung der Ressource auf dem Server.
  • Eine HTTP-Version, z. B. HTTP v1.1.
  • Der Request Header enthält Metadaten (als Schlüssel-Wert-Paare) für die HTTP-Anfrage. Informationen wie der Client-(Browser-)Typ, unterstützte Formate, Nachrichtenformat, Cache-Einstellungen und weitere Metadaten können hier stehen.
  • Der Anfragetext (Request Body) steht für die Daten, die vom Client an die API gesendet werden.

5. Was sind die am häufigsten verwendeten HTTP-Methoden bei REST-APIs?

Die wichtigsten HTTP-Methoden beim Testen von REST-APIs sind die Methoden, die CRUD-Operationen ausführen:

  • GET ist die HTTP-Methode, mit der Informationen von einer Ressource gelesen werden.
  • Mit der POST-Methode werden Ressourcen erstellt oder aktualisiert.
  • PUT modifiziert eine bestehende Ressource.
  • DELETE entfernt eine bestimmte Ressource.

6. Was ist der Unterschied zwischen den PUT- und POST-Methoden?

Diese Frage wurde mir im Vorstellungsgespräch oft gestellt, und die Antwort wurde oben teilweise schon gegeben. 

Wenn Sie eine einzelne Ressource ändern müssen, die Teil einer Ressourcensammlung ist, verwenden Sie die PUT-Methode. Wenn Sie eine untergeordnete Ressource zu einer Ressourcensammlung hinzufügen möchten, verwenden Sie die POST-Methode. Wird der PUT-HTTP-Aufruf mehrfach gesendet, bleibt das Ergebnis gleich. Wird jedoch die POST-Anfrage mehrfach abgeschickt, können sich die Ergebnisse unterscheiden, zum Beispiel können mehrere Ressourcen entstehen oder ein Fehler wird zurückgegeben.

Wenn Sie beispielsweise eine Ressource zum Erstellen und Aktualisieren von Benutzern haben, wird der Benutzer bei derselben PUT-Methode jedes Mal aktualisiert. Die wiederholte Verwendung der POST-Methode für einen Benutzer führt entweder dazu, dass mehrere Benutzer erstellt werden oder dass ein Fehler auftritt, weil der Benutzername oder die E-Mail-Adresse bereits vergeben ist.

7. Was sind die Klassen der HTTP-Statuscodes?

Dies ist eine weitere häufige Interviewfrage und wichtig zu wissen, wenn Sie API-Tests durchführen. Die HTTP-Antwortcode-Klassen sind:

  • 1xx: Die Antworten in dieser Kategorie sind informierende Rückmeldungen. Sie bedeuten, dass der Client die Anfrage fortsetzen oder die Antwort ignorieren sollte, wenn sie bereits beendet ist.
  • 2xx: Ein 200-Code steht für Erfolg. 
  • 3xx: Diese Antworten sind Umleitungsantworten. Das bedeutet, dass es mehrere mögliche Antworten auf die Anfrage gibt. Eine davon sollte von der Benutzeragentin oder dem Benutzer ausgewählt werden. 
  • 4xx: Die Codes dieser Gruppe bezeichnen einen Client-Fehler. Das bedeutet, dass der Server die Anfrage nicht verarbeiten kann und sie als Fehler auf der Client-Seite betrachtet, z. B. wegen einer unbekannten URL, einer falschen Syntax der Anfrage usw.
  • 5xx: Der 500-HTTP-Statuscode erscheint, wenn ein Fehler auf der Serverseite vorliegt und der Server die Anfrage nicht ausführen kann.

Wenn Sie mehr über die Statuscodes erfahren möchten, finden Sie die vollständige Liste online

8. Was sind einige gängige Tools für die API-Automatisierung?

Auf diese Frage würde ich mit einigen Tools antworten, mit denen ich bereits gearbeitet habe oder zumindest etwas vertraut bin. Wenn Sie also Erfahrung mit API-Testwerkzeugen haben, nennen Sie diese. Wenn nicht, können Sie einige bekannte nennen, z. B. Katalon, Postman oder SoapUI. Lassen Sie sich von unserem Artikel über die besten API-Testtools inspirieren. 

9. Was sind einige gängige Authentifizierungsmethoden im API-Testing?  

Eine passende Antwort auf diese Frage wäre:

  • Sitzungs-/Cookie-basierte Authentifizierung
  • Basis-Authentifizierung
  • Digest-Authentifizierung
  • OAuth

10. Was ist der Unterschied zwischen Authentifizierung und Autorisierung?

Kurz gesagt, ist die Authentifizierung der Prozess der Überprüfung der Identität eines Benutzers, während Autorisierung den Zugriff auf bestimmte Bereiche oder Funktionen bestätigt. 

11. Warum wird API-Testing automatisierten UI-Tests vorgezogen?

Mit Blick auf die klassische Testautomatisierungspyramide ist in unserer Branche bekannt, dass UI-End-to-End-Tests an der Spitze stehen sollten – das bedeutet, sie sollten den geringsten Anteil an Tests ausmachen. Das liegt daran, dass UI-automatisierte Tests mehr Zeit in Anspruch nehmen und anfälliger für Flakiness sind, da sie viele Abhängigkeiten haben. API-Automatisierungstests bilden die Integrationsschicht der Pyramide, sind wesentlich schneller und in der Regel zuverlässiger.

12. Was ist der Unterschied zwischen API- und Unit-Testing?

Unit-Tests zählen zu den White-Box-Tests, während API-Tests meist Black-Box-Tests sind. Da Endnutzer die Benutzeroberfläche bedienen, müssen API-Tests das System als Ganzes abbilden. Bei Unit-Tests ist entscheidend, ob jede Komponente oder jedes Modul fehlerfrei funktioniert. Um eine solide Modularität zu erreichen, sollten die Abhängigkeiten minimiert werden. 

13. Welche Testarten können auf APIs angewendet werden?

Die meisten Testarten, die auf UI-Tests angewendet werden, funktionieren auch für APIs. Ein paar der bedeutendsten Testarten, die Sie für diese API-Interviewfrage nennen können, sind:

  • Funktionstests: In den meisten Fällen möchten Sie prüfen, ob die APIs genau das tun, wofür sie gedacht sind. Das bedeutet, Sie führen funktionale Testfälle für APIs durch. 
  • Manuelles Testen: Nur weil Sie kein Automatisierungstester sind, heißt das nicht, dass Sie keine APIs testen können. Sie können Tools wie Postman nutzen, um Anfragen zu senden und die Antworten manuell zu überprüfen.
  • Automatisiertes Testen: Es ist eine gute Idee, API-Testfälle zu automatisieren. Viele der oben genannten Tools können Ihnen dabei helfen, oder Sie können Ihr eigenes API-Framework erstellen. 
  • Lasttests: Durch das Simulieren von Traffic auf APIs können Tester Engpässe identifizieren, bevor diese in die Produktion gelangen. Ohne reale Last ist es möglicherweise schwierig, diese Engpässe in Entwicklungsumgebungen aufzudecken. Es gibt Lasttest-Tools, die es ermöglichen, HTTP-Aufrufe an einen bestimmten Endpunkt zu schicken und die Antwortzeit, Fehler und Fehlerquoten sowie andere nützliche Daten aus den Antworten zu messen. Sie unterstützen auch die Simulation großer Datenmengen, um zu bewerten, wie sich eine Anwendung verhält.
  • Sicherheitstests: Mit Sicherheitstests wird die API-Implementierung vor äußeren Bedrohungen geschützt. Zu den Phasen der Sicherheitstests gehört das Überprüfen von Verschlüsselungstechniken und der Architektur der API-Zugriffskontrolle. Auch das Zugriffsmanagement der Nutzer und die Überprüfung der Berechtigungen gehören dazu.
  • Penetrationstests: Bei dieser Art von Tests versuchen Anwender, die mit der API nicht vertraut sind, das Bedrohungspotenzial aus der Distanz zu evaluieren. Der Fokus liegt dabei auf bestimmten Funktionalitäten, Ressourcen, Workflows oder der gesamten API samt ihrer Komponenten.

Ob Sie nun manuell testen oder in der Testautomatisierung arbeiten, es ist wichtig, zu wissen, wie man mit APIs umgeht. Wenn Sie sich auf Fragen zum API-Testen im Vorstellungsgespräch vorbereiten, hoffe ich, dass Ihnen dieser Artikel weiterhilft.

Vergessen Sie nicht, den Newsletter des CTO Club zu abonnieren, um weitere Testtipps und Tutorials zu erhalten!