Image
API Testing Tools

Die besten API Testing Tools im Überblick - Testautomatisierung von REST APIs

🕒 Lesedauer: 4 Minuten

In den letzten Jahren entwickelten sich in der Softwareentwicklung viele neue Ansätze, um die höhere Integration der eingesetzten Softwarelösungen und die immer höhere Verarbeitungsgeschwindigkeit, die der Endkunde mehr und mehr erwartet, zu erfüllen. Dadurch mussten einheitliche Schnittstellen geschaffen werden und hierfür idealerweise standardisierte Protokolle Verwendung finden.

Durch die immer größer werdende Vernetzung und damit der Einzug des HTTP-Protokolls, wurden auf dieser Basis unterschiedliche Schnittstellen entwickelt, die beiden populärsten sind die SOAP API und REST API.

In diesem Beitrag möchte ich einige populäre API Testautomatisierung Tools vorstellen, die wir erfolgreich in Projekten einsetzen konnten und auch immer wieder bei Kunden vorfanden.

1. Postman

Fast ebenso mächtig wie SoapUI ist das Tool Postman. Dieses Werkzeug wird vom Hersteller als Standalone Client oder als Browser AddOn zur Verfügung gestellt. Es bietet hervorragende Möglichkeiten, REST-API-Aufrufe zu erstellen und ganze Szenarios zu gestalten, die für die Entwicklung, wie auch für die REST API Tests, Verwendung finden.

Postman bietet ein recht einfaches Werkzeug für den Umgang mit APIs, da es sich vollständig über eine GUI bedienen lässt. Es lassen sich leicht API Aufrufe erstellen, parametrisieren und ausführen. Die Ergebnisauswertung wird unterstützt, indem die Requests und Responses in unterschiedlicher Form dargestellt werden können und somit lesbarer werden.

 

Image
rest-api-aufruf-postman.png

Bild: REST API Aufruf in Postman. (Klicken zum Vergrößern) [Quelle: Postman]

Die Funktionen von Postman sind:

  • Unterstützung bei der Dokumentation der APIs
  • Debugging und manuelles API Testing
  • API-Monitoring
  • Automatisierte Funktionstests von Webservices für REST, SOAP und GraphQL
  • Entwerfen und Mocken sowie Bereitstellung von APIs
  • Teamwork-Funktionalitäten
  • Ausführliche und interaktive Übungen zum Lernen der Funktionalitäten

Anbieterseite: getpostman.com

2. SoapUI von Smartbear

SoapUI hat sich im Laufe der letzten Jahren sozusagen zu dem Standard-Testtool etabliert, um SOAP-, REST Webservices zu testen. SoapUI bietet eine komfortable Möglichkeit, die REST-Requests aus einer bestehenden WADL zu generieren oder nur eine URI einzugeben. SoapUI generiert und extrahiert daraus automatisch den Endpunkt, die Ressourcen und die Query-Parameter.

Das Testautomatisierungs-Tool bietet auch die Möglichkeit, gerade bei komplexeren Testschritten und sehr neuen Technologien, Groovy-Scripte einzubinden. Mit "Groovy TestStep" ist es möglich, sein eigenes Groovy-Testscript als Teil eines Testfalls zu implementieren. Darüber hinaus stehen sämtliche APIs von JRE und SoapUI zur Verfügung.

Die Funktionen von SoapUI sind:

  • Funktionstests von Webservices
  • Testautomatisierung von Webservices
  • Service Simulation (Mocking)
  • Lasttest und Performancetest
  • Analyse und Reporting von REST und SOAP APIs
  • Recording von Requests und Daten

SoapUI unterstützt Webservice Technologien wie SOAP/WDSL, REST, HTTP(S), JDBC, JMS. Es bietet Integration in Entwicklungsumgebungen wie IntelliJ IDEA, NetBeans, Eclipse und Buildtools wie Jenkins, Apache ANT, Bamboo, JUnit und Apache Maven Project.

Weitergehende Informationen finden Sie auch in unserem weiteren Blogbeitrag zu Testautomatisierung mit SoapUI.

Image
schnittstellen-api-testing-microservices-softwaretesting-seminar-schulung-cta.jpg

 

3. Fiddler Everywhere von Progress Telerik

Auch mit dem Web Debugging Proxy Werkzeug Fiddler Everywhere lassen sich Web API Tests erstellen und automatisiert testen. Für den Einstieg ins API Testing bietet Fiddler eine einfache und leichtgewichtige Möglichkeit Requests zu erstellen und diese auszuführen. Die große Stärke liegt aber im Zusammenspiel von den (aufgezeichneten) Sessions mit der Auto Responder Funktionalität, die es regelbasiert ermöglicht vorgefertigte Responses abzusenden.

 

Image
rest-api-aufruf-fiddler-everywhere.png

Bild: REST API Aufruf in Fiddler Everywhere. (Klicken zum Vergrößern) [Quelle: Fiddler Everywhere]

Die Funktionen von Fiddler Everywhere sind:

  • HTTP/HTTPS Webproxy zur Aufzeichnung des Datenverkehrs
  • Web Debugging
  • Netzwerkverkehr mocken und automatische Antworten generieren
  • Team Kollaboration über geteilte Sessions

Weitere Informationen finden Sie in unserem Blogbeitrag zu Fiddler Everywhere.

Webinar: Testautomatisierung von REST-APIs und Microservices - Postman, JUnit, Mockito

 

 

4. Katalon Studio

Eine starke Integration in die IDE von Katalon, das über BDD und TDD einen anderen Ansatz geht als die zuvor vorgestellten Tools, zeigt einen etwas anderen Implementierungsansatz von API Testing. Assistentgestützt werden hier die API Requests erstellt und im Testprojekt hinzugefügt. Es lassen sich im Assistenten oder auch später die Verifikationen programmatisch ergänzen, so dass hier eine gewisse Erfahrung in Programmierung notwendig wird.
Dennoch ist gerade die Katalon Studio Integration sehr gelungen und mit dem BDD und TDD Ansatz ein Mehrwert für das Projekt zu sehen.

 

Image
rest-api-integration-katalon-studio.png

Bild: REST API Integration im Katalon Studio. (Klicken zum Vergrößern) [Quelle: Katalon]

Für die ersten Umsetzungen bietet der Hersteller das Katalon Studio kostenfrei an und nur wer weitere Funktionen benötigt, wie Teamkollaboration, muss zu einer kostenpflichtigen Version wechseln. Weiterführende Informationen zur Umsetzung finden Sie in der Hersteller-Dokumentation.

5. ReadyAPI von Smartbear

Vom Hersteller der sehr bekannten API Implementierung Swagger (früher OpenAPI) und dem oben genannten SoapUI gibt es eine Reihe von Tools zur Unterstützung der API Entwicklung und des REST API Testens. In der Lösung ReadyAPI sind die wichtigsten Tools für das API Testing gebündelt worden. Hier sind die funktionalen und nicht funktionalen API Tests über nahezu alle Teststufen integriert worden. So können Sie hier Unittest der APIs vornehmen, aber auch Last- und Performance Tests.

Alternative Testtools/Werkzeuge für das Testen von API wie REST und SOAP

Neben den zuvor genannten spezialisierten Werkzeugen für SOAP oder REST API Testing können auch folgende Tools für die Testautomatisierung von Webservices in Betracht gezogen werden.

1. JMeter - Performance Monitoring Tool

Die in Java geschriebene Open-Source-Software von Apache ist die wohl populärste unter den kostenlosen Performance-Testtools. JMeter unterstützt verschiedene Protokolle wie HTTP, HTTPS, SOAP, REST, FTP, JDBC, LDAP, JMS, SMTP, POP3 und Datenbanken via JDBC. Für Tests von Webservices steht nur ein geringer Funktionsumfang zu Verfügung. Aber gerade das REST API Testing oder SOAP Testing ist für Last & Performance Testing Tools sehr naheliegend, da bei diesen Tools auch ohne GUI getestet wird.

2. Swagger Inspector von Smartbear

Mit dem etwas einfacher gehaltenen Tool Swagger Inspector lassen sich Rest APIs einfach debuggen und so gerade für einen manuellen Test gut einsetzen. Dieses Werkzeug läuft komplett im Browserfenster ab und benötigt deshalb keine Installation. Somit kann bei kurzen und nicht nachhaltig zur Verfügung gestellten Rest API Tests dieses Tool zum Einsatz kommen. Weiterführende Informationen finden Sie beim Hersteller.

3. Postman Interceptor (Browser Plugin)

Postman lässt sich auch als ein Chrome Plugin einsetzen und setzt daher die Installation des Google Chrome Browsers voraus. Anschließend kann es aus dem Google-Web-Store als Extension installiert werden. Wir verwenden Postman eher um API bzw. RESTful Services auszuprobieren. Damit lässt sich sehr schnell ein Request (GET, POST, Basic Auth, Oauth) absetzen.

4. REST-assured - Testautomatisierung

Auch für Ihre REST API Tests in JAVA gibt es Erweiterungen wie REST-assured, die Sie in Ihrem Projekt unterstützen, einfache Tests gegen REST Schnittstellen zu entwickeln. Hierbei erhalten Sie eine einfache Beschreibungssprache um Ihre Validierungen gegen die Server Responses im JSON-Format durchzuführen. Weitergehende Informationen finden Sie auf der Anbieterseite oder in diesem Tutorial.

5. Karate - Testautomatisierung

Eine sehr interessante Entwicklung stellt Karate dar, die erst seit 2017 auf dem Markt ist. Dieses Framework verbindet die unterschiedlichsten Testarten, von API Testautomation, Mocks, Last & Performance Testing bis hin zur UI Automation in einer einheitlichen Bibliothek. Somit soll für einen Softwaretester eine einheitliche Sprache für all seine automatisierten Tests etabliert werden. Als Besonderheit ist die konsequente Verwendung von BDD, angelehnt an Cucumber/Gherkin, zur Testfallbeschreibung zu sehen. Es lässt sich leicht über Maven/Gradle in sein Testprojekt in der IDE integrieren.

 

Image
rest-api-test-karate-beispiel.png

Bild: Karate Beispiel eines REST API Tests. (Klicken zum Vergrößern) [Quelle: Karate]

Fazit

Diese Liste der Top-Tools für die Testautomatisierung von REST APIs hier ist nicht vollständig. Es stellt jedoch die besten Tools dar, die ausgereift und beliebt sind. Der Aufwand bei der Implementierung der Testautomatisierung zahlt sich langfristig um ein Mehrfaches wieder aus und sie können die frei gewordenen Kapazitäten in anderen Bereichen zum Einsatz bringen.

Image
5

Veröffentlicht am 11.August 2022

Aktualisiert am 23.April 2024

Wilson Campero

Geschäftsführer, Senior Testmanager

Wilson Campero ist IT-Unternehmer und Experte für Softwarequalität sowie ISTQB Certified Full Advanced Tester. Seit 13 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: