Dokumentationsstandards für API-Testpläne

Sep 17 2020

Ich habe eine Frage an erfahrene API-Tester, insbesondere an diejenigen, die in großen Organisationen arbeiten. Ich wurde beauftragt, Industriestandards für die Dokumentation von API-Testplänen zu ermitteln. Bisher habe ich festgestellt, dass IEEE 829 Standard und ISO 29119 verwendet werden können, um Softwaretests im Allgemeinen zu informieren.

Gibt es jedoch Best Practices, Richtlinien oder Standards für die Dokumentation von API-Testplänen, die Sie aus Ihrer Erfahrung heraus empfehlen könnten?

Antworten

2 MichaelDurrant Sep 17 2020 at 22:14

Meine persönliche Einstellung:

Auf hohem Niveau

Testen Sie die API-Endpunkte, Statuscodes und Daten mit Smoke-, Happy- und Sad-Tests

Auf einer detaillierten Ebene muss man die folgenden Fragen stellen.
Die Antworten geben Auskunft darüber, was und wie zu testen ist.

  • Welche Dokumentation gibt es?
  • Welche Funktionalität bietet es?
  • Unterstützt es Parallelität?
  • Was sind die API-Endpunkte?
  • Ist die API intern oder extern?
  • Welche Endpunkte sind idempotent?
  • Sind Endpunkte zustandslos oder zustandsbehaftet?
  • Variieren Workflows * 1 je nach Kunde?
  • Gibt es Leistungsanforderungen?
  • Bilden API-Endpunkte einen Workflow?
  • Welche Validierungen werden für Daten erwartet?
  • Welches System oder welche Bibliothek steckt hinter der API?
  • Müssen wir abhängige Dienste verspotten?
  • Beschränkt es den Verkehr, auch bekannt als Rate Limiting?
  • Welcher (wenn überhaupt) Versionsansatz wird verwendet?
  • Unterstützt die API mehrere Sprachen?
  • Wie wird SOAPui integriert, wenn es bereits verwendet wird?
  • Ist die API auf ein Land oder eine Region beschränkt?
  • Bietet es Client-Stubs in bestimmten Sprachen?
  • Welche Statuscodes werden für bestimmte Endpunkte erwartet?
  • Welches Domain-Format und welche Domain-Struktur gibt es für die Daten?
  • Verwendet die API HATEOS * 2 zur Selbstdokumentation?
  • Welche Art der Datenvalidierung / -prüfung kann durchgeführt werden?
  • Welche API wird von dem von mir verwendeten Testframework unterstützt?
  • Welche Aktionen werden ausgeführt, z. B. GET, PUT, POST usw.?
  • Müssen wir abhängige Testdaten oder -dienste vorbereiten?
  • Welche Nicht-API-Ansätze sind erforderlich, um Daten zu überprüfen?
  • Gibt es API-Definitionen, z. B. WADL, WSDL, Thrift?
  • Welche Nicht-API-Ansätze werden zur Datenaufbereitung benötigt?
  • Welcher (falls vorhanden) Autorisierungsmechanismus ("was") wird verwendet?
  • Welcher (falls vorhanden) Authentifizierungsmechanismus ('who') wird verwendet?
  • Wer wird es verwenden, externe Programmierer oder ein anderes internes Modul?
  • Welche Formate: SOAP, REST, GraphQL, Thrift, ProtoBuffer, Andere?

* 1 Workflows erfordern häufig mehrere API-Aufrufe und können Abhängigkeiten zwischen ihnen aufweisen

* 2 HATEOS - Hypertext als Engine des Anwendungsstatus, der die Selbsterkennung einer API ermöglicht