2 min read

API-Schema-Validierung mit OpenAPI und XSD meistern: Tipps für Tester

API-Schema-Validierung mit OpenAPI und XSD meistern: Tipps für Tester

In der modernen Softwareentwicklung ist die Sicherstellung der Qualität von Datenformaten ein kritischer Erfolgsfaktor für Anwendungen. Hierbei kommt der Schema-Validierung für Schnittstellen eine tragende Rolle zu, denn sie sichert zu, dass die Datenstrukturen die definierten Standards einhalten. In diesem Artikel gehen wir der Frage nach, was Schema-Validierung bedeutet und beleuchten die Formate XSD und OpenAPI genauer. 

 

Was ist Schema-Validierung? 

Bei der Schema-Validierung handelt es sich um einen Vorgang, bei dem Datenstrukturen anhand eines vorgegebenen Schemas geprüft werden. Das dient dazu, die Integrität und Konsistenz der Daten zu sichern und schon frühzeitig Fehler zu erkennen. Insbesondere im Fall von Kommunikation zwischen Systemen oder APIs ist es wichtig, dass die Struktur der Daten passt, um Kompatibilitätsprobleme zu vermeiden. 

 


 

XSD (XML Schema Definition) 

XSD ist ein Standard zur Definition des Aufbaus von XML-Dokumenten. Es erlaubt das Bestimmen von Elementen, Attributen, Datentypen und Beziehungen. XSD wird häufig im Enterprise-Umfeld eingesetzt, in dem auf XML basierende Datenformate genutzt werden. 

 

Beispiel eines XSD-Schemas: 

 XSD-Schema

 


 

OpenAPI 

OpenAPI (ehemals Swagger) ist ein Standard zur Definition von RESTful APIs. Es ermöglicht die Beschreibung von Endpunkten, Request- und Response-Formaten sowie Authentifizierungsmechanismen. OpenAPI wird häufig in der Webentwicklung eingesetzt, um die Kommunikation zwischen Client und Server zu standardisieren. 

 

Beispiel einer OpenAPI-Definition (YAML): 

 OpenAPI-Definition

 


 

Herausforderungen und Schwierigkeiten für die Schema-Validierung 

Man kann sich den Prozess der Schema-Validierung als eine strenge Türsteheraufgabe vorstellen, wobei man unter der Tätigkeit der Schema-Validierung versteht, dass jeder Gast – das heißt jede Dateneingabe – sich an die Kleiderordnung – das korrespondierende Schema – halten muss. Obwohl die oben erwähnte strenge Türsteheraufgabe als Kontrollmechanismus ein striktes Regelwerk darstellt, kommt es in der Praxis gelegentlich zu Problemen und Schwierigkeiten, und zwar aus folgenden Gründen: 

 

1. Komplexe Schemata: Wenn es zu viele Regeln gibt

Es kann vorkommen, dass die Regeln, die das Schema definieren, umfangreich werden: Man stelle sich nun die Situation vor, wo der Türsteher nicht nur den Gästen, die in der Disco erscheinen, Vorschriften über die Bluse, sondern auch über die Knöpfeanzahl des Hemdes, die Länge der Ärmel und das Material der Hose zu machen hat; das gilt auch in Bezug auf Schemata: Je mehr Regeln, umso schwieriger, sie richtig zu erstellen und zu überprüfen, und was noch wichtiger ist, umso schwieriger, für sie Fehler zu beseitigen. 

 

2. Versionskonflikte: Wenn man die Regel umändert

Man stelle sich den Fall vor, dass der Türsteher ohne jegliche Vorankündigung plötzlich neue Bestimmungen erlässt; jetzt tretet der eine so, wie es früher war; der andere aber, wie man es nun haben müsste – verworrene Situationen machen sich bemerkbar; dieser Fall ist in der Softwareentwicklung gegeben, wenn man mit verschiedenen Versionen eines Schemas operiert: Sobald in einem System eine ältere und eine modernere Schemaversion verwendet werden, kommen Fehlermeldungen und Inkompatibilitäten zum Vorschein. 

 

3. Performance: Wenn die Kontrolle zu lange dauert

Eine zu detaillierte Überprüfung der Gäste durch den Türsteher kann zu langen Warteschlangen führen, und dasselbe kann im Bereich der Validierung von Schemata passieren: Wenn man die Prüfung von großen Datenmengen allzu detailliert vornimmt, kann das zum Verlust an Geschwindigkeit bei der anschließenden Verarbeitung führen, was wiederum das ganze System ausbremsen kann. 

 

4. Fehlende oder falsche Fehlermeldungen

Wenn ein Gast nicht hereingelassen wird, ohne dass er erfährt, warum, ist es für ihn ziemlich ärgerlich; in der gleichen Situation findet man sich, wenn die Fehler in der Schema-Validierung ermittelt, ohne dass dabei klare, verständliche Meldungen über die Fehlerursachen gemacht werden: in diesem Fall ist es wenig wahrscheinlich, man macht eine Fehltatigung. 

 

5. Mangelnde Testabdeckung

Sollte der Türsteher nur auf die Hemdfarbe und nicht auch auf die Hose achten, so wird ihm das nicht gesagt: Fehler bleiben unentdeckt – in der Softwareentwicklung äußert sich dies darin, dass man entweder nur an falscher Stelle kontrolliert oder zu wenig aufmerksam kontrolliert. 

 


Wie man diese Herausforderungen überwindet: 
  • Einfachheit: Versuchen Sie, die Schemata so einfach wie möglich zu gestalten. 
  • Versionsmanagement: Verwenden Sie ein klares Versionsmanagement für Ihre Schemata. 
  • Performance-Optimierung: Optimieren Sie die Validierungsprozesse, um die Leistung zu verbessern. 
  • Klare Fehlermeldungen: Stellen Sie sicher, dass die Validierung klare und verständliche Fehlermeldungen liefert. 
  • Umfassende Tests: Testen Sie alle Aspekte des Schemas gründlich. 

 


 

Die Schema-Validierung ist ein unverzichtbarer Bestandteil der Qualitätssicherung in der Softwareentwicklung. Durch den Einsatz von XSD und OpenAPI können Datenstrukturen standardisiert und validiert werden, um die Integrität und Kompatibilität von Anwendungen sicherzustellen. 

 


 

Wir unterstützen Sie gerne in der API-Qualitätssicherung.
Sprechen Sie uns an.


Blog

Menschliche Tester im Zeitalter von KI

14 Min. Lesezeit

Menschliche Tester im Zeitalter von KI

Die Künstliche Intelligenz hat spätestens mit dem Start von ChatGPT Ende 2022 einen bedeutenden Meilenstein erreicht und ist nun allgemein...

Mehr lesen
Warum warten? Mit Shift-Left Testing zur perfekten Time-to-Market.

Warum warten? Mit Shift-Left Testing zur perfekten Time-to-Market.

Was ist Shift-Left Testing und warum ist es wichtig? Shift-Left Testing verschiebt die Testaktivitäten in frühere Phasen des...

Mehr lesen
Datenkonsistenz bei der Cloud-Migration eines DWHs sichern

Datenkonsistenz bei der Cloud-Migration eines DWHs sichern

Für die Airline-Industrie sind Daten das Fundament der operativen Effizienz und der Kundenzufriedenheit. Die Migration von Data Warehouses (DWHs) in...

Mehr lesen