2013-02-19 9 views
5

Wenn eine neue API vom Entwickler erstellt und zum Testen an den Tester gesendet wird, wie sollte ein neuer API-Tester mit dem Testen dieser API beginnen?Was bedeutet API-Test?

Es scheint eine einfache Frage zu sein, aber nachdem ich viele Artikel über API gelesen habe, bin ich völlig verwirrt darüber.

Kann jemand bitte einen korrekten Weg zum Verstehen geben, was eine API ist, warum sie benötigt wird, was alles getestet werden muss und wie sie getestet werden kann?

Hinweis: Ich bin rein neuer API und variieren muß schlecht API und seine Konzepte im Detail lernen

Danke im Voraus

Antwort

5

Eine API (Application Programming Interface) ist eine Sammlung von Software-Funktionen und Prozeduren, genannt API, die von anderen Softwareanwendungen ausgeführt werden können.

Anwendungsentwickler verwenden diese Links zu vorhandenen APIs, um ihre Funktionalität zu nutzen.

Während des API-Tests wird ein Test durchgeführt, um seine Funktionalität zu prüfen, ob er so konstruiert ist, dass er die Verwendung der API durch Endbenutzeranwendungen simuliert.

Die Probleme, für die Tester suchen sind:

die Randwerte der Variablen mit 2 derart aktiviert für die API, dass sie anrufen können

Parameterwerte überprüfen sollten, oder mehrere Parameter

die wichtigsten den Inhalt der API und ihre Einstellungen zu überprüfen

hoffe das ist nützlich für Sie.

8

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.

+0

Ich denke, dass das CRUDing, das Sie im Discovery-Test erwähnten, nur für REST-APIs relevant ist. – Renaud