Suchen

Testing-Plattform Citrus: Sicher in die Cloud migrieren

Automatisierte Integrationstests von externen Schnittstellen

Seite: 2/2

Firmen zum Thema

Simulation beliebiger Anwendungsszenarien

Im Beispiel werden diverse Anwendungsfälle simuliert und dabei überprüft, ob die einzelnen Bestätigungen oder Absagen korrekt an die Reiseagentur als Antwort zurückgemeldet werden. Vor allem die detaillierte Kontrolle der empfangenen Nachrichteninhalte ist dabei von enormer Bedeutung. Für jede empfangene Nachricht führt Citrus neben einer syntaktischen Prüfung über das XML-Schema auch einen inhaltlichen Vergleich gegen eine erwartete Nachricht durch. Sollte dieser nicht wie erwartet passen, schlägt der Test fehl. Natürlich ist es auch möglich, spezielle Inhalte (z.B. Zeitstempel oder generierte Identifier) von der Überprüfung auszuschließen.

Citrus unterstützt diese Validierung für XML, CSV und JSON. Das Framework lässt sich aber auch leicht um eigene Validierungen und Protokolladapter erweitern. Dadurch ist die Vielfalt der unterstützten Protokolle und Formate nahezu uneingeschränkt. Da Citrus auf Open Source basiert, ist es allgemein zugänglich und kostenlos. Mit den automatisierten Integrationstests eignet sich Citrus hervorragend für ContinuousDelivery und die Qualitätssicherung im ContinuousBuild Management. Die Citrus-Tests sind als JUnit oder TestNG-Tests ausführbar und somit auch ohne Probleme in den Projekt BuildLifecycle (z.B. Maven) integrierbar.

Citrus-Tests als ideale Vorbereitung für End-To-End-Tests

Um wieder zu dem Beispiel des Flight Booking Service zurückzukehren: Das Ziel für den Produktionsbetrieb ist natürlich die Anbindung der echten Schnittstellenpartner, also der realen Reiseagenturen und Fluggesellschaften. In typischen Integrationsprojekten dauert es aus technischen oder organisatorischen Gründen oft lange, bis diese realen Anbindungen für End-To-End-Tests zur Verfügung stehen. Glücklich ist, wer die meisten Fehler in der eigenen Software bereits im Vorfeld entdeckt und behoben hat und den End-To-End-Tests gelassen entgegenblicken kann. Hier hat sich Citrus bereits in vielen Projekten als nützliches Werkzeug bewährt.

(ID:36039200)