- Liste der API-Test-Tutorials
- Übersicht über die Tutorials in dieser API-Testreihe
- API-Tests Tutorial
- Einführung von API-Tests in Ihrer Organisation
- Schlussfolgerung
Dieses ausführliche Tutorial über API-Tests erklärt alles über API-Tests, Webdienste und wie Sie API-Tests in Ihrer Organisation einführen können:
In diesem einführenden Tutorial erhalten Sie einen tiefen Einblick in das API-Testen sowie in das Konzept des Shift-Links-Testens und der Webdienste.
Konzepte wie Web-API, die Funktionsweise von API (mit Beispielen aus der Praxis) und der Unterschied zu Webdiensten werden in diesem Tutorial anhand von Beispielen gut erklärt.
Liste der API-Test-Tutorials
Tutorial #1: API-Test-Tutorial: Ein kompletter Leitfaden für Einsteiger
Tutorial #2: Web Services Tutorial: Komponenten, Architektur, Typen & Beispiele
Tutorial #3: Top 35 ASP.Net und Web API Interview Fragen mit Antworten
Tutorial #4: POSTMAN Tutorial: API-Tests mit POSTMAN
Tutorial #5: Testen von Webdiensten mit Apache HTTP Client
Übersicht über die Tutorials in dieser API-Testreihe
Anleitung # | Was Sie lernen werden |
---|---|
Tutorial_#1: | API-Test-Tutorial: Ein kompletter Leitfaden für Einsteiger Dieser ausführliche Lehrgang zum Thema API-Tests erklärt alles über API-Tests und Webdienste im Detail und zeigt Ihnen, wie Sie API-Tests in Ihrem Unternehmen einführen können. |
Tutorial_#2: | Web Services Tutorial: Komponenten, Architektur, Typen & Beispiele Dieses Web Services Tutorial erklärt die Architektur, Typen & Komponenten von Web Services zusammen mit wichtigen Terminologien und den Unterschieden zwischen SOAP und REST. |
Tutorial_#3: | Top 35 ASP.Net und Web API Interview Fragen mit Antworten Sie können die Liste der beliebtesten häufig gestellten ASP.Net und Web API Interview Fragen mit Antworten & Beispiele für Anfänger und erfahrene Profis in diesem Tutorial zu erkunden. |
Tutorial_#4: | POSTMAN Tutorial: API-Tests mit POSTMAN Dieses Schritt-für-Schritt-Tutorial erklärt die API-Prüfung mit POSTMAN zusammen mit den Grundlagen von POSTMAN, seinen Komponenten und Beispielen für Anfrage und Antwort in einfachen Worten für Ihr einfaches Verständnis. |
Tutorial_#5: | Testen von Webdiensten mit Apache HTTP Client In diesem API-Tutorial geht es um die Durchführung verschiedener CRUD-Operationen auf Webdiensten und das Testen von Webdiensten mit dem Apache HTTP Client |
API-Tests Tutorial
Dieser Abschnitt wird Ihnen helfen, ein grundlegendes Verständnis von Webdiensten und Web-API zu erlangen, was wiederum hilfreich für das Verständnis der wichtigsten Konzepte in den kommenden Tutorials dieser API-Testreihe ist.
API (Application Programming Interface) ist ein Satz von Prozeduren und Funktionen, die es uns ermöglichen, eine Anwendung zu erstellen, indem wir auf die Daten oder Funktionen des Betriebssystems oder der Plattformen zugreifen. Das Testen solcher Prozeduren wird als API-Test bezeichnet.
Linksverschiebungstest
Eine der wichtigsten Testarten, die heutzutage in API-Test-Interviews gefragt wird, ist das Shift Left Testing, das in fast allen Projekten, die einer agilen Methodik folgen, praktiziert wird.
Vor der Einführung von Shift Left Testing wurde die Software erst getestet, nachdem die Programmierung abgeschlossen und der Code an die Tester übergeben worden war. Diese Praxis führte zu einer Hektik in letzter Minute, um den Abgabetermin einzuhalten, und beeinträchtigte zudem die Produktqualität in hohem Maße.
Abgesehen davon war der Aufwand (wenn in der letzten Phase vor der Produktion Fehler gemeldet wurden) enorm, da die Entwickler sowohl die Entwurfs- als auch die Kodierungsphase erneut durchlaufen mussten.
Lebenszyklus der Softwareentwicklung (SDLC) vor der Linksverschiebung Testen
Der traditionelle SDLC-Ablauf war: Anforderungen -> Entwurf -> Codierung -> Tests.
Nachteile der traditionellen Prüfung
- Wenn ein Fehler in letzter Minute entdeckt wird, fallen hohe Kosten an.
- Der Zeitaufwand für die Behebung des Fehlers und das erneute Testen vor der Einführung in die Produktion ist enorm.
Daher kam die Idee auf, die Testphase nach links zu verlagern, was zu Shift Left Testing führte.
Empfohlene Lektüre => Shift Left Testing: Ein geheimes Mantra für den Erfolg von Software
Phasen der Linksverschiebungstests
Left Shift Testing führte zu einer erfolgreichen Migration von der Fehlererkennung zur Fehlervermeidung und half der Software, schnell zu versagen und alle Fehler zum frühesten Zeitpunkt zu beheben.
Web-API
Im Allgemeinen kann eine Web-API als etwas definiert werden, das die Anfrage von einem Client-System an einen Webserver weiterleitet und die Antwort von einem Webserver an einen Client-Rechner zurücksendet.
Wie funktioniert eine API?
Nehmen wir ein sehr gängiges Szenario, nämlich die Buchung eines Fluges auf www.makemytrip.com, einem Online-Reiseservice, der Informationen von mehreren Fluggesellschaften zusammenfasst. Wenn Sie einen Flug buchen möchten, geben Sie Informationen wie Reisedatum/Rückreisedatum, Klasse usw. ein und klicken auf "Suchen".
In diesem Fall interagiert die Anwendung mit den APIs mehrerer Fluggesellschaften und ermöglicht so den Zugriff auf die Daten der Fluggesellschaften.
Ein weiteres Beispiel ist www.trivago.com, das den Preis, die Verfügbarkeit usw. verschiedener Hotels in einer bestimmten Stadt vergleicht und auflistet. Diese Website kommuniziert mit APIs mehrerer Hotels, um auf die Datenbank zuzugreifen, und listet die Preise und die Verfügbarkeit auf deren Website auf.
So kann eine Web-API definiert werden als "eine Schnittstelle, die die Kommunikation zwischen einem Client-Rechner und dem Webserver erleichtert".
Webdienste
Webdienste sind (wie Web-API) die Dienste, die von einem Rechner zum anderen übertragen werden. Der Hauptunterschied zwischen API und Webdiensten besteht jedoch darin, dass die Webdienste ein Netzwerk verwenden.
Man kann mit Sicherheit sagen, dass alle Webdienste Web-APIs sind, aber nicht alle Web-APIs sind Webdienste (dies wird im letzten Teil des Artikels erklärt). Webdienste sind also eine Teilmenge von Web-API. In der folgenden Abbildung finden Sie weitere Informationen über Web-API und Webdienste.
Web-API vs. Webdienste
Webdienste vs. Web-API
Sowohl die Web-API als auch die Webdienste werden zur Erleichterung der Kommunikation zwischen dem Client und dem Server verwendet, wobei der Hauptunterschied nur in der Art der Kommunikation besteht.
Jede von ihnen erfordert einen Anfragekörper, der in einer bestimmten Sprache akzeptabel ist, ihre Unterschiede bei der Bereitstellung einer sicheren Verbindung, ihre Geschwindigkeit bei der Kommunikation mit dem Server und der Rückmeldung an den Client usw.
Die Unterschiede zwischen Webdiensten und Web-API sind nachstehend zu Ihrer Information aufgeführt.
Webdienst
- Webdienste verwenden im Allgemeinen XML (Extensible Markup Language), was bedeutet, dass sie sicherer sind.
- Webdienste sind sicherer, da sowohl Webdienste als auch APIs während der Datenübertragung SSL (Secure Socket Layer) bieten, aber auch WSS (Web Services Security).
- Web Service ist eine Teilmenge von Web API. Zum Beispiel, Webdienste basieren nur auf drei Arten der Nutzung, nämlich SOAP, REST und XML-RPC.
- Webdienste benötigen immer ein Netz, um zu funktionieren.
- Webdienste unterstützen "One Code different applications", d.h. ein generischerer Code wird für verschiedene Anwendungen geschrieben.
Web-API
- Eine Web-API verwendet im Allgemeinen JSON (JavaScript Object Notation), was bedeutet, dass die Web-API schneller ist.
- Web-API ist schneller, da JSON im Gegensatz zu XML leichtgewichtig ist.
- Web-APIs sind die Obermenge der Webdienste. Zum Beispiel, Alle drei Arten von Webdiensten sind auch in der Web-API vorhanden, aber abgesehen davon werden andere Arten wie JSON - RPC verwendet.
- Für den Betrieb einer Web-API ist nicht unbedingt ein Netz erforderlich.
- Je nach Art des Systems oder der Anwendung kann die Web-API Interoperabilität unterstützen oder nicht.
Einführung von API-Tests in Ihrer Organisation
In unserem täglichen Leben sind wir alle so daran gewöhnt, mit Apps über APIs zu interagieren, dass wir nicht einmal über die Backend-Prozesse nachdenken, die die zugrunde liegenden Funktionen steuern.
Zum Beispiel, Nehmen wir an, Sie stöbern durch die Produkte auf Amazon.com und sehen ein Produkt/Geschäft, das Ihnen wirklich gefällt, und Sie möchten es mit Ihrem Facebook-Netzwerk teilen.
In dem Moment, in dem Sie auf das Facebook-Symbol im Teilen-Abschnitt der Seite klicken und Ihre Facebook-Kontodaten zum Teilen eingeben, interagieren Sie mit einer API, die die Amazon-Website nahtlos mit Facebook verbindet.
Schwerpunktverlagerung auf API-Tests
Bevor wir mehr über API-Tests sprechen, sollten wir die Gründe erörtern, aus denen die API-basierten Anwendungen in letzter Zeit an Popularität gewonnen haben.
Es gibt mehrere Gründe, aus denen Unternehmen auf API-basierte Produkte und Anwendungen umsteigen, von denen einige im Folgenden aufgeführt sind.
#1) API-basierte Anwendungen sind im Vergleich zu herkömmlichen Anwendungen/Software besser skalierbar: Der Code kann schneller entwickelt werden und dieselbe API kann mehr Anfragen ohne größere Code- oder Infrastrukturänderungen bedienen.
#2) Entwicklungsteams müssen nicht jedes Mal, wenn sie mit der Entwicklung einer Funktion oder Anwendung beginnen, von Grund auf neu kodieren. APIs verwenden in den meisten Fällen vorhandene, wiederholbare Funktionen, Bibliotheken, gespeicherte Prozeduren usw. wieder, so dass dieser Prozess insgesamt produktiver sein kann.
Zum Beispiel, Wenn Sie als Entwickler an einer E-Commerce-Website arbeiten und Amazon als Zahlungsabwickler hinzufügen möchten, müssen Sie den Code nicht von Grund auf neu schreiben.
Alles, was Sie tun müssen, ist die Integration zwischen Ihrer Website und der Amazon-API mit Hilfe von Integrationsschlüsseln einzurichten und die Amazon-API für die Verarbeitung von Zahlungen während der Kaufabwicklung aufzurufen.
#3) APIs ermöglichen eine einfache Integration mit anderen Systemen sowohl für unterstützte Einzelanwendungen als auch für API-basierte Softwareprodukte.
Zum Beispiel Nehmen wir an, Sie möchten eine Sendung von Toronto nach New York verschicken, gehen online auf eine bekannte Fracht- oder Logistik-Website und geben die erforderlichen Informationen ein.
Wenn Sie nach der Angabe der obligatorischen Informationen auf die Schaltfläche "Preise abrufen" klicken, kann diese Logistik-Website im Backend eine Verbindung zu verschiedenen APIs und Anwendungen von Spediteuren und Dienstleistern herstellen, um die dynamischen Preise für die Kombination von Ausgangs- und Zielort zu ermitteln.
Das gesamte Spektrum der API-Prüfung
Das Testen von APIs beschränkt sich nicht nur darauf, eine Anfrage an die API zu senden und die Antwort auf ihre Korrektheit hin zu analysieren, sondern die APIs müssen auch auf ihre Leistung unter verschiedenen Belastungen und auf Schwachstellen getestet werden.
Lassen Sie uns dies im Detail besprechen.
(i) Funktionsprüfung
Funktionstests können aufgrund des Fehlens einer grafischen Benutzeroberfläche eine schwierige Aufgabe sein.
Lassen Sie uns sehen, wie sich der funktionale Testansatz für APIs von GUI-basierten Anwendungen unterscheidet, und wir werden auch einige Beispiele dazu diskutieren.
a) Der offensichtlichste Unterschied besteht darin, dass es keine grafische Benutzeroberfläche (GUI) gibt, mit der man interagieren muss. Tester, die normalerweise GUI-basierte Funktionstests durchführen, finden den Übergang zum Testen von Anwendungen ohne GUI etwas schwieriger als jemand, der damit bereits vertraut ist.
Bevor Sie mit dem Testen der API beginnen, müssen Sie zunächst den Authentifizierungsprozess selbst testen und überprüfen. Die Authentifizierungsmethode variiert von einer API zur anderen und beinhaltet eine Art Schlüssel oder Token für die Authentifizierung.
Wenn Sie keine erfolgreiche Verbindung zur API herstellen können, sind weitere Tests nicht möglich. Dieser Prozess ist vergleichbar mit der Benutzerauthentifizierung in Standardanwendungen, bei der Sie gültige Anmeldedaten benötigen, um sich anzumelden und die Anwendung zu nutzen.
b) Das Testen von Feldüberprüfungen oder die Validierung von Eingabedaten ist beim Testen von APIs sehr wichtig. Wenn eine formularbasierte (GUI) Schnittstelle zur Verfügung stünde, könnten Feldüberprüfungen im Frontend oder Backend implementiert werden, um sicherzustellen, dass ein Benutzer keine ungültigen Feldwerte eingeben kann.
Zum Beispiel, Wenn eine Anwendung das Datumsformat TT/MM/JJJJ benötigt, können wir diese Validierung auf das Formular anwenden, das Informationen sammelt, um sicherzustellen, dass die Anwendung ein gültiges Datum erhält und verarbeitet.
Wir müssen sicherstellen, dass die API gut geschrieben ist und in der Lage ist, all diese Validierungen durchzusetzen, zwischen gültigen und ungültigen Daten zu unterscheiden und den Statuscode und die Fehlermeldung der Validierung als Antwort an den Endbenutzer zurückzusenden.
c) Das Testen der Korrektheit der Antworten von der API auf gültige und ungültige Antworten ist in der Tat von entscheidender Bedeutung. Wenn als Antwort von der Test-API ein Statuscode von 200 (was bedeutet, dass alles in Ordnung ist) empfangen wird, aber wenn der Antworttext besagt, dass ein Fehler aufgetreten ist, dann ist dies ein Fehler.
Wenn die Fehlermeldung selbst nicht korrekt ist, kann dies für den Endkunden, der versucht, diese API zu integrieren, sehr irreführend sein.
Im folgenden Screenshot hat der Benutzer ein ungültiges Gewicht eingegeben, das über den zulässigen 2267 kg liegt. Die API antwortet mit einem Fehlerstatuscode und einer Fehlermeldung. In der Fehlermeldung wird jedoch fälschlicherweise die Gewichtseinheit lbs statt KG angegeben. Dies ist ein Fehler, der den Endkunden verwirren kann.
(ii) Last- und Leistungstests
APIs sind von vornherein auf Skalierbarkeit ausgelegt.
Dies wiederum macht Last- und Leistungstests unabdingbar, insbesondere wenn das zu entwickelnde System je nach Anforderung Tausende von Anfragen pro Minute oder Stunde bedienen soll. Die regelmäßige Durchführung von Last- und Leistungstests für die API kann helfen, die Leistung, Spitzenlasten und Sollbruchstellen zu ermitteln.
Diese Daten sind bei der Planung der Skalierung einer Anwendung nützlich, denn sie helfen bei der Entscheidungsfindung und Planung, vor allem, wenn das Unternehmen plant, mehr Kunden hinzuzufügen, was eine größere Anzahl eingehender Anfragen bedeuten würde.
Wie Sie API-Tests in Ihrer Organisation einführen
Der Prozess für die Einführung von API-Tests in einem Unternehmen ähnelt dem Prozess, der für die Implementierung oder Einführung jedes anderen Testwerkzeugs und Frameworks verwendet wird.
In der nachstehenden Tabelle sind die wichtigsten Schritte und die erwarteten Ergebnisse der einzelnen Schritte zusammengefasst.
Phase | Schritt | Erwartetes Ergebnis |
---|---|---|
Auswahl der Werkzeuge | Erfassen von Anforderungen und Erkennen von Beschränkungen | Verstehen Sie die Anforderungen für die Marktforschung nach einem geeigneten API-Testwerkzeug. z.B. Welche Art von API wird getestet - SOAP oder REST? Müssen wir Tester für diese Rolle einstellen oder vorhandene Tester schulen? Welche Art von Tests werden durchgeführt - Funktionstests, Leistungstests usw. Wie hoch ist das Budget für die Umsetzung? |
Verfügbare Tools evaluieren | Vergleichen Sie die verfügbaren Tools und wählen Sie 1 oder 2 Tools aus, die den Anforderungen am besten entsprechen. | |
Proof of Concept | Implementieren Sie eine Teilmenge der Tests mit dem in die engere Wahl gezogenen Werkzeug. Präsentation der Ergebnisse vor den Beteiligten. Fertigstellung des zu implementierenden Tools. | |
Umsetzung | Erste Schritte | Je nachdem, für welches Tool Sie sich entscheiden, müssen Sie das gewünschte Tool entweder auf einem PC, einer virtuellen Maschine oder einem Server installieren. Wenn das Tool Ihrer Wahl auf einem Abonnement basiert, erstellen Sie die erforderlichen Teamkonten. Schulung des Teams, falls erforderlich. |
Los geht's | Tests erstellen Durchführung von Tests Mängel melden |
Gemeinsame Herausforderungen und Möglichkeiten zu ihrer Abmilderung
Lassen Sie uns einige der allgemeinen Herausforderungen erörtern, mit denen QA-Teams konfrontiert sind, wenn sie versuchen, ein API-Test-Framework in einer Organisation zu implementieren.
#1) Auswahl des richtigen Werkzeugs
Die Auswahl des richtigen Werkzeugs für die jeweilige Aufgabe ist die größte Herausforderung. Es gibt mehrere API-Testwerkzeuge auf dem Markt.
Es mag sehr verlockend erscheinen, das neueste, teuerste auf dem Markt erhältliche Tool einzusetzen - wenn es aber nicht die gewünschten Ergebnisse bringt, dann ist dieses Tool nutzlos.
Wählen Sie daher immer das Tool, das die Anforderungen erfüllt, die Sie in Ihrem Unternehmen unbedingt brauchen.
Hier ist eine Beispielmatrix für die Bewertung der verfügbaren API-Tools
Werkzeug | Preisgestaltung | Anmerkungen |
---|---|---|
Soap UI | Freie Version für SoapUI Open Source verfügbar (Funktionstest) | * REST, SOAP und andere gängige API- und IoT-Protokolle. * Enthalten in der kostenlosen Version SOAP- und REST-Ad-hoc-Tests Bestätigung der Nachricht Drag & Drop; Test-Erstellung Test-Protokolle Test-Konfiguration Test von Aufzeichnungen Einheit Berichterstattung. * Eine vollständige Liste der Funktionen finden Sie auf der Website des Unternehmens. |
Postbote | Kostenlose Postman App verfügbar | * Am häufigsten für REST verwendet. * Die Merkmale sind auf der Website zu finden. |
Parasoft | Es handelt sich um ein kostenpflichtiges Tool, für das eine Lizenz erworben werden muss und das erst installiert werden muss, bevor es verwendet werden kann. | * Umfassende API-Tests: Funktions-, Last- und Sicherheitstests, Testdatenmanagement |
vREST | Basierend auf der Anzahl der Nutzer | * Automatisierte REST-API-Tests. * Aufzeichnung und Wiedergabe. * Entfernt die Abhängigkeit von Frontend und Backend durch Verwendung von Mock-APIs. * Leistungsstarke Antwortvalidierung. * Funktioniert für Testanwendungen, die auf localhost/intranet/internet bereitgestellt werden. * JIRA-Integration, Jenkins-Integration Importe aus Swagger, Postman. |
HttpMaster | Express Edition: Kostenlos zum Herunterladen Professional Version: Basierend auf der Anzahl der Benutzer | * Hilft beim Testen der Website und der API. * Weitere Funktionen umfassen die Möglichkeit, globale Parameter zu definieren, und bieten dem Benutzer die Möglichkeit, Prüfungen für die Validierung von Datenantworten zu erstellen, indem er eine große Anzahl von Validierungstypen verwendet, die er unterstützt. |
Runscope | Basierend auf der Anzahl der Nutzer und Tarifarten | * Zur Überwachung und Prüfung von APIs. * Kann zur Datenvalidierung verwendet werden, um sicherzustellen, dass korrekte Daten zurückgegeben werden. * Enthält eine Funktion zur Verfolgung und Benachrichtigung im Falle eines API-Transaktionsfehlers (wenn Ihre Anwendung eine Zahlungsvalidierung erfordert, kann sich dieses Tool als gute Wahl erweisen). |
LoadFocus | Basierend auf der Anzahl der Nutzer und den Tarifarten | * Kann für API-Lasttests verwendet werden - ermöglicht die Durchführung einiger weniger Tests, um die Anzahl der Nutzer zu ermitteln, die eine API unterstützen kann. * Einfach zu bedienen - ermöglicht die Durchführung von Tests im Browser. |
PingAPI | Kostenlos für 1 Projekt (1.000 Anfragen) | * Nützlich für automatisierte API-Tests und Überwachung. |
#2) Fehlende Testspezifikationen
Als Tester müssen wir die erwarteten Ergebnisse kennen, um eine Anwendung effektiv testen zu können. Das ist oft eine Herausforderung, denn um die erwarteten Ergebnisse zu kennen, müssen wir klare, präzise Anforderungen haben - was nicht der Fall ist.
Zum Beispiel Beachten Sie die unten aufgeführten Anforderungen:
"Die Anwendung sollte nur ein gültiges Versanddatum akzeptieren und alle ungültigen Anforderungen sollten zurückgewiesen werden"
In diesen Anforderungen fehlen wichtige Details und sie sind sehr zweideutig - wie definieren wir ein gültiges Datum? Wie sieht es mit dem Format aus? Geben wir eine Ablehnungsmeldung an den Endbenutzer zurück usw.?
Beispiel für klare Anforderungen:
1) Die Anwendung sollte nur ein gültiges Versanddatum akzeptieren.
Das Versanddatum wird als gültig angesehen, wenn es
- Nicht in der Vergangenheit
- Größer oder gleich dem heutigen Datum
- Ist im zulässigen Format: TT/MM/JJJJ
2)
Antwort Statuscode = 200
Nachricht: OK
3) Das Versanddatum, das die oben genannten Kriterien nicht erfüllt, ist als ungültig zu betrachten. Wenn ein Kunde ein ungültiges Versanddatum sendet, muss er mit der/den folgenden Fehlermeldung(en) antworten:
3.1
Antwort Statuscode NOT 200
Fehler: Das angegebene Versanddatum ist ungültig; bitte vergewissern Sie sich, dass das Datum im Format DD/MM/YYYY angegeben ist.
3.2
Antwort Statuscode NOT 200
Fehler: Vorausgesetztes Versanddatum liegt in der Vergangenheit
#Nr. 3) Lernkurve
Wie bereits erwähnt, ist der Ansatz für das Testen von APIs ein anderer als der für das Testen von GUI-basierten Anwendungen.
Wenn Sie für die API-Prüfung entweder interne Spezialisten oder Berater einstellen, ist die Lernkurve für den API-Prüfungsansatz oder das API-Prüfungswerkzeug möglicherweise minimal. Eine Lernkurve wäre in diesem Fall mit dem Erwerb von Produkt- oder Anwendungswissen verbunden.
Wenn ein bestehendes Teammitglied mit dem API-Test beauftragt wird, kann die Lernkurve je nach dem gewählten Tool mittel bis hoch sein, zusammen mit der Änderung des Testansatzes. Die Lernkurve für das Produkt oder die Anwendung selbst kann niedrig bis mittel sein, je nachdem, ob der Tester die Anwendung bereits getestet hat oder nicht.
#4) Vorhandene Fähigkeiten
Dies steht in direktem Zusammenhang mit dem vorherigen Punkt über die Lernkurve.
Wenn ein Tester vom GUI-basierten Testen umsteigt, muss er seinen Testansatz ändern und das neue Tool oder Framework nach Bedarf erlernen. z.B. Wenn die API die Anfragen im JSON-Format akzeptiert, muss der Tester lernen, was JSON ist, um mit der Erstellung der Tests beginnen zu können.
Fallstudie
Aufgabe
Um eine bestehende Anwendung zu erweitern, wollte ein Unternehmen ein Produkt sowohl als API als auch als Standard-GUI-Anwendung anbieten. Das QA-Team wurde gebeten, einen Testabdeckungsplan zu erstellen, um sicherzustellen, dass es bereit ist, neben den regulären GUI-basierten Tests auch API-Tests durchzuführen.
Herausforderungen
- Keines der anderen Softwareprodukte verfügte über eine API-basierte Architektur, daher musste das Team den API-Testprozess von Grund auf neu einrichten. Das bedeutet, dass die Tools bewertet, in die engere Wahl gezogen und finalisiert werden mussten und das Team für die Tests geschult werden musste.
- Da kein zusätzliches Budget für die Anschaffung und Implementierung des Tools zur Verfügung stand, musste das Team ein kostenloses oder quelloffenes API-Testing-Tool auswählen und jemanden aus dem bestehenden Team für diese Aufgabe schulen.
- Es gab keine Anforderungen für API-Felder und Datenvalidierung, die Anforderungen lauteten "sollte genauso funktionieren wie die entsprechende GUI-Anwendung".
Der vom Team verfolgte Ansatz zur Abschwächung der Risiken und zur Bewältigung der Herausforderungen
- Das QA-Team arbeitete mit dem Projektteam zusammen, um die folgenden Anforderungen zu ermitteln:
- API-Typ (REST/SOAP ): REST
- Erforderliche Tests (Funktional, Last, Sicherheit): Nur Funktionsprüfung
- Automatisierte Tests erforderlich (Ja/Nein): Vorläufig fakultativ
- Prüfberichte (Ja/Nein): Erforderlich
- Das QA-Team führte eine Tool-Evaluierung der verfügbaren API-Testing-Tools auf der Grundlage der erforderlichen Anforderungen durch. Das Postman API Tool wurde als Tool ihrer Wahl ausgewählt, da es kostenlos und einfach zu bedienen war, wodurch die Lernkurve minimiert wurde, und es das Potenzial hatte, Tests zu automatisieren, und über gute integrierte Berichte verfügte.
- Derselbe Tester, der die Anwendung getestet hat, wurde für die Verwendung von Postman geschult, um erste Tests zu erstellen und so Lücken im Produktwissen zu beseitigen.
- Um die fehlenden Anforderungen zu erfüllen, erstellte das Projektteam die Dokumentation auf hoher Feldebene mithilfe von Swagger. Dies ließ jedoch einige Lücken in Bezug auf akzeptable Datenformate, was mit dem Projektteam aufgegriffen wurde, und die erwarteten Formate wurden vereinbart und dokumentiert.
Schlussfolgerung
API-basierte Anwendungen haben in letzter Zeit an Popularität gewonnen. Diese Anwendungen sind im Vergleich zu herkömmlichen Anwendungen/Software skalierbarer und ermöglichen eine einfachere Integration mit anderen APIs oder Anwendungen.
Dieses API-Testing-Tutorial erklärt alles über API Testing, Shift Left Testing, Web Services und Web API im Detail. Wir haben auch die Unterschiede zwischen Web Services und Web API mit Beispielen untersucht.
Im zweiten Teil des Tutorials haben wir das gesamte Spektrum der API-Prüfung erörtert, wie Sie API-Prüfungen in Ihrer Organisation einführen können und einige häufige Herausforderungen in diesem Prozess zusammen mit Lösungen für diese.
Schauen Sie sich unser kommendes Tutorial an, um mehr über Web Services und Beispiele zu erfahren!!
NEXT Tutorial