Es gibt mehrere Ansätze zum Testen von Software, und die Beziehung zwischen Test- und Entwicklungsarbeit kann von Team zu Team sehr unterschiedlich sein. In ähnlicher Weise ist das Testen einer gegebenen API oder Komponente letztendlich eine Zeit-/Budgetentscheidung. In der Zusammenfassung aber, unabhängig von SDLC-Prozess, würde sagen, ich, dass wirklich gründliche API Prüfung sollte mindestens die folgende:
Dokumentation
API-Dokumentation sollte Teil der endgültigen lieferbar sein, und soll wahrscheinlich wird anfangs vom Entwickler und nicht vom Testteam geschrieben. Das Testteam muss sicherstellen, dass die Dokumentation angemessen ist (was "angemessen" bedeutet, dass es mit der Zielgruppe übereinstimmt) und ausreichende Informationen zur Interaktion mit der API bereitstellt.
Entdeckungstests
Die Testgruppe sollte manuell den Satz von Anrufen in der API dokumentiert ausüben (zum Beispiel Verifizieren, dass eine bestimmte Ressource von dem API exponierte kann geeignet gestaltet, aufgelistet, aktualisiert und gelöscht werden,). Dies kann über einen Befehlszeilenclient (z. B. cURL für eine HTTP-API), über eine API-Wrapper-Bibliothek oder über einen einfachen skriptgesteuerten Client erfolgen.
usability
Usability-Tests untersucht, ob die API ist funktional und freundlich aus der Sicht eines Kunden (in der Regel eines Software-Entwickler), die es benutzen werden, etwas zu bauen. Passt die API gut zu den Plattformen, für die sie gedacht sind? Ist es konsistent und auf einem vernünftigen Abstraktionsniveau? Grundsätzlich macht es Sinn?
Sicherheitstests
Sind die Sicherheitsanforderungen für die API definiert? Welche Art der Authentifizierung ist ggf. erforderlich und welche Berechtigungsstrukturen können angewendet werden? Werden vertrauliche Daten immer verschlüsselt, über HTTPS oder beides gesendet? Gibt es Möglichkeiten, wie Menschen Zugang zu Dingen bekommen, die sie nicht sollten?
Automatisiertes Testen
Im allgemeinen API-Tests sollten in der Schaffung einer Reihe von Skripten gipfeln, oder ein Werkzeug, das verwendet werden kann regelmäßig die API zu üben und Fehler mit minimaler menschlicher Interaktion zu berichten.
Ich denke, dass das CRUDing, das Sie im Discovery-Test erwähnten, nur für REST-APIs relevant ist. – Renaud