Africa Studio - stock.adobe.com
APIs testen: Checkliste und Best Practices
Bei API-Tests geht es nicht nur darum, festzustellen, ob ein Endpunkt funktionsfähig ist. Entwickler müssen noch weitere Punkte beachten. Eine Checkliste für das Testen von APIs.
APIs sind für ein modernes Unternehmen von entscheidender Bedeutung. Über sie stellt ein Unternehmen Anwendungen und Dienste für Kunden und Partner bereit, sowohl extern als auch intern. Trotz des Bewusstseins für die geschäftskritische Natur von APIs räumen viele Unternehmen dem Testen von APIs keine Priorität ein, und Softwareentwicklungsunternehmen testen APIs nicht regelmäßig.
Die Realität ist: API-Tests sind die wichtigsten Tests, die Sie durchführen sollten. Ihre Anwendungen nutzen Daten und Nachrichten gemeinsam und sind auf die Ein- und Ausgabe verschiedener API-Endpunkte angewiesen. Jedes Problem führt zu Defekten und Leistungsproblemen, die sich auf Kunden und Partner auswirken. Dies kann zu Problemen mit Datenkorruption führen.
Warum sind API-Tests so wichtig?
API-Tests stellen sicher, dass Ihre Anwendungen sowohl für Endanwender als auch für die angeschlossenen Anwendungen Ihrer Partner wie erwartet funktionieren. Das Testen stellt sicher, dass:
- Anwendungsendpunkte und Datenaustausch wie erwartet funktionieren
- die Daten-Feeds der Partner die von Ihnen erwarteten Daten zur richtigen Zeit an der richtigen Stelle erhalten
- Datenmüll nicht in Ihre Datenbank gelangt und zu Anwendungsproblemen oder Datenverfälschung führt
- eine Anwendung über alle Plattformen hinweg funktioniert, einschließlich Desktop, Web oder Mobile
Wie wird Ihre Anwendung für die Kunden funktionieren, wenn die Daten-Feeds nicht funktionieren? Was passiert, wenn die erwarteten Daten nicht in das System eines Partners fließen? Jede Unterbrechung des Backend-Austauschs von Daten, Dateien und anderen Informationen bedeutet, dass eine Anwendung für Ihre Kunden nicht gut arbeiten wird. Wenn diese Verbindungen ausfallen, wird auch die Anwendung beeinträchtigt. Deshalb ist der erste Schritt die Planung einer API-Teststrategie, die Verbindungsunterbrechungen verhindert.
Eine Checkliste für API-Tests erstellen
Gründliche und regelmäßige API-Tests sind komplex. Es reicht bei weitem nicht aus, nur zu bestätigen, dass der Endpunkt funktioniert. Eine API-Teststrategie legt Ihre Ziele und die Schritte zum Erreichen dieser Ziele fest. Dies kann ein detailliertes formales Dokument oder eine Checkliste sein:
- Listen Sie jede API auf, die Ihr Unternehmen verwendet, und ordnen Sie sie nach ihrer Bedeutung für Anwendungen und Kunden. Das Unternehmen muss wissen, wie viele APIs es hat und was sie tun, bevor es wirklich bestimmen kann, welche Tests durchgeführt werden sollen.
- Bestimmen Sie, wer API-Tests erstellt und wer sie ausführt. Arbeiten Sie mit dem IT-Team zusammen.
- Bestimmen Sie, wie oft die Tests ausgeführt werden und wie sie eingesetzt werden – mit einem kommerziellen Test-Tool oder einem intern entwickelten Tool.
- Definieren Sie die Arten von Tests, die durchgeführt werden sollen. Beispiele sind: Zugriffssicherheit, Endpunktsicherheit, Datensicherheit, Datenvalidierung, Fehlermeldungen und Failover Handling.
- Vergewissern Sie sich, dass die Mitarbeiter über ausreichenden Sicherheitszugang zur Ausführung der Tests verfügen und wissen, wie sie direkt und über die Anwendung auf die APIs zugreifen können.
- Einholung der Zustimmung des Partners zur Erstellung und Übermittlung von Testdaten.
- Entwickeln Sie einen Plan, der sicherstellt, dass die Testdaten die Produktionsdaten nicht beeinträchtigen, die für Geschäftsanalysen und Berichte benötigt werden.
- Evaluieren und wählen Sie ein API-Test-Tool aus. Beziehen Sie die Entwicklungs- und Qualitätssicherungsteams ein.
- Planen Sie Funktions- und Sicherheitstests und führen Sie diese regelmäßig durch.
- Planen Sie Ressourcen für die Wartung und Aktualisierung der API-Tests ein.
Das richtige API-Tool auswählen
Mit einer API-Teststrategie in der Hand, wählen Sie ein Tool zum Testen Ihrer APIs aus oder erstellen es. Es gibt fast so viele Tools für die Entwicklung und Durchführung von API-Tests wie Sprachen, mit denen eine API programmiert werden kann. Einige sind quelloffen. Wie kann man also feststellen, welche man verwenden sollte?
Die meisten API-Test-Tools bieten unkomplizierte Möglichkeiten zur Erstellung einer Reihe von Testskripten, von einem einfachen Verbindungstest bis hin zur Überprüfung von Daten und der Gewährleistung einer sicheren Authentifizierung. Die Benutzer können das Format von Anfrage und Antwort angeben, so dass Sie mit JSON, XML oder einem anderen Format testen können.
Die meisten Tools bieten auch die Möglichkeit, verschiedene Tests zur Validierung zu erstellen. In Postman können Benutzer beispielsweise eine beliebige Anzahl von Testskripten erstellen, die jedes Mal ausgeführt werden, wenn die Schaltfläche Senden angeklickt wird. Die Benutzer können auch Tests erstellen, um Fehlerbedingungen zu simulieren und zu testen.
In bestimmten Fällen benötigen Sie einen Security-Experten, der Sie bei der Konzeption der sicherheitsrelevanten API-Tests und der Auswahl des bevorzugten Tools unterstützt. Für den Rest der Tests kann fast jedes Standard-Tool verwendet werden. Beispiele für Tools, die API-Tests durchführen, sind Postman, Katalon und Karma.
Denken Sie daran, Ihre Entwicklungs- und Qualitätssicherungsteams in diese Diskussion einzubeziehen. Auf diese Weise können Sie ein Tool auswählen, das für das gesamte Team geeignet ist. Und wenn diese Kollegen bereits mit solchen Tools vertraut sind, können sie die Vorteile und Grenzen eines Produkts diskutieren.
Arten von API-Tests
Sobald Sie eine Reihe von Funktionstests und Sicherheitstests entwickelt haben, müssen Sie diese regelmäßig durchführen. Wie oft Sie die Tests durchführen, hängt von Ihren geschäftlichen Anforderungen ab. Tägliche API-Tests in der Produktion sind ideal – besser noch, mehrmals täglich oder sogar kontinuierlich. Ziehen Sie in Erwägung, eine kritische Testsuite für Elemente zu erstellen, die kontinuierliche Tests erfordern. Für den Rest führen Sie Tests nach einem täglichen Zeitplan durch. Zugriffssicherheits- und Datenvaliditätstests sind gute Kandidaten für eine kontinuierliche Ausführung, während Tests, die die korrekte Reaktion auf Fehlermeldungen oder andere Datenfehler bestätigen, weniger häufig ausgeführt werden können.
Was auch immer Sie tun, lassen Sie Tests zu Fehlermeldungen oder zum Datenausfall nicht aus. Es ist wichtig zu wissen, wie eine API auf fehlerhafte Daten reagiert und welche anderen Probleme innerhalb der Anwendung und ihres API-Sets bestehen. Es ist viel besser, beim Testen herauszufinden, wo die API nicht mit Fehlern umgehen kann, als herauszufinden, wenn Kunden auf Fehler stoßen.
Richtlinien für die Durchführung von API-Tests
Einige Best Practices können Sie unterstützen, Probleme zu vermeiden, wenn Sie bereit sind, Ihre API-Tests auf dem Live-Produktionsserver auszuführen.
Beziehen Sie das IT-Team in Ihre Teststrategie ein. Ein Plan zur Durchführung von API-Tests erfordert, dass Sie neben denjenigen, die die Tests tatsächlich durchführen, auch das für die APIs zuständige IT-Team einbeziehen. Sie benötigen deren Fachwissen, um festzulegen, wann die Tests durchgeführt werden sollen, damit die Tests nicht den Produktionsserver und alle seine Verbindungen lahmlegen. Auch bei der Planung von Fehlertests werden Sie ihre Unterstützung benötigen. Das Senden fehlerhafter Daten als Test ohne Vorwarnung ist eine schlechte Idee. Möglicherweise müssen sie die APIs während der Tests überwachen, falls ein Fehler auftritt.
Stellen Sie sicher, dass die Testentwickler das API-Test-Tool verwenden können. Planen Sie etwas Zeit ein, damit sich diejenigen, die die Tests erstellen und ausführen, mit dem Testwerkzeug vertraut machen können. Auf diese Weise können Probleme vermieden werden, die durch Stress verursacht werden.
Erstellen und befolgen Sie einen Plan für die Testwartung. Wie Testskripte müssen auch API-Tests gewartet werden. Jemand muss den Test auf dem neuesten Stand und funktionsfähig halten. Endpunkte ändern sich, ebenso wie Security-Funktionen, die für den Austausch von Daten und Dateien verwendet werden. Ihre Geschäftspartner können ihre Endpunkte ebenfalls ändern. Planen Sie im Voraus Ressourcen ein, um Ihre API-Tests bei allen Backend-Änderungen, die das API-System betreffen, auf dem neuesten Stand zu halten.
Wenn Sie Anwendungen integrieren, die für Daten oder Messaging auf APIs angewiesen sind, benötigen Sie eine API-Teststrategie. Es reicht nicht aus, zu bestätigen, dass Ihre Endpunkte funktionieren, genauso wenig wie es ausreicht, zu sagen, dass Ihre Anwendung funktioniert, weil der Server läuft. Eine API-Teststrategie sorgt dafür, dass Ihre Anwendung und alle ihre Verbindungen für Kunden und Geschäftspartner wie erwartet funktionieren.