Testing-Plattform Citrus: Sicher in die Cloud migrieren

Automatisierte Integrationstests von externen Schnittstellen

| Autor / Redakteur: Marita Schultz / Florian Karlstetter

Enterprise Application Integration: Automatisierte Integrationstests von externen Schnittstellen mit dem Open Source Test-Framework Citrus von Consol.
Enterprise Application Integration: Automatisierte Integrationstests von externen Schnittstellen mit dem Open Source Test-Framework Citrus von Consol. (© zothen - Fotolia.com)

IT-Landschaften sind heutzutage meist ein komplexes und hybrides Gebilde aus eigener Soft- und Hardware und ausgelagerten Diensten in der Cloud. Um einen reibungslosen Datenaustausch zwischen den unterschiedlichen Schnittstellen sicherzustellen, empfehlen sich automatisierte Integrationstests, beispielsweise mit dem Test-Framework Citrus von Consol.

Moderne IT-Landschaften sind heutzutage oftmals hybride Gebilde aus eigener Soft- und Hardware und ausgelagerten Diensten in der Cloud. Für einen reibungslosen Nachrichtenaustausch kommen die unterschiedlichsten Schnittstellen zwischen den einzelnen Partnern zum Einsatz. Um eine reibungslose Integration der Schnittstellen zu gewährleisten, sind neben Unit-Tests vor allem auch regelmäßige Integrationstests nötig, um die Funktionalität und Stabilität zu sichern.

In der Praxis erweisen sich diese Tests jedoch häufig als schwierig, denn unterschiedliche Protokolle und Technologien sowie die Anbindung von Altsystemen sind eine Quelle für viele Probleme. Die Schnittstellenpartner müssen im Integrationstest aufwendig simuliert werden. Das punktuelle manuelle Testen ist daher vielfach an der Tagesordnung und bringt viele versteckte Kosten sowie Instabilität mit sich.

Um diesem Zustand Abhilfe zu verschaffen, hat der IT-Full-Service-Anbieter Consol ein innovatives und umfassendes Framework für automatisierte Integrationstests geschaffen. Mit Citrus können Enterprise-Anwendungen voll automatisiert auf ihre Schnittstellenkonformität zu anderen Anwendungen getestet werden. Die Simulation der Schnittstellenpartner sowie die syntaktische und semantische Validierung der Nachrichteninhalte übernimmt Citrus ohne großen Programmieraufwand. Das ist vor allem auch dann von Vorteil, wenn es um die Migration bestehender Software in eine Cloud-Umgebung geht.

So lässt sich mit Citrus schon vor beziehungsweise während des Migrationsvorgangs durch sogenannte Regressionstests prüfen, welche Dienste bereits funktionieren und welche noch nicht. Nicht nur die fachlichen Usecases, sondern auch Fehlersituationen wie Verbindungsfehler, Soap-Faults, Timeouts etc. lassen sich exakt nachstellen. Auf diese Weise kann man die volle Funktionsfähigkeit des Systems während der Migration in Ruhe herstellen und diese am Ende auch tatsächlich gewährleisten, lange bevor ein externer Schnittstellenpartner Zugriff auf das neue System erhalten hat.

Denkbar ist bei unregelmäßiger Nutzung auch die Installation der gesamten Citrus-Umgebung in einer privaten oder öffentlichen Cloud-Umgebung. Citrus unterstützt die Generierung von randomisierten Testdaten und beugt damit Datenschutzbedenken auf weniger sicheren Testumgebungen von vornherein vor.

Beispiel: Flight Booking Service

Ein einfaches Beispiel soll die Arbeitsweise von Citrus verdeutlichen. Ein Flight Booking Service (FBS) soll getestet werden und hat mehrere Schnittstellen zu anderen Systemen. Der Service nimmt Anfragen einer Reiseagentur über SOAP WebServices entgegen. Die Nachrichten enthalten komplette Reiserouten mit mehreren Flügen. Der Service splittet die Anfrage in einzelne Buchungen auf und leitet diese an diverse Fluggesellschaften (z.B. über JMS bzw. HTTP) weiter. Die einzelnen Bestätigungen oder Absagen werden gesammelt und als endgültige Antwort an die Reiseagentur zurückgegeben.

Enterprise Application Integration mit dem Citrus-Framework von Consol - ein Testszenario als Beispiel.
Enterprise Application Integration mit dem Citrus-Framework von Consol - ein Testszenario als Beispiel. (© Consol Consulting & Solutions Software GmbH)

Eine solche Anordnung nachrichtenbasierter Systeme lässt sich mit Citrus sehr einfach automatisiert testen. Im Testfall müssen alle beteiligten Parteien simuliert werden. Citrus bietet hierfür fertige Komponenten für das Senden und Empfangen von Nachrichten über diverse Nachrichtenkanäle (z.B. SOAP, REST, HTTP, FTP, JMS). Die Komponenten werden über einen Spring ApplicationContext konfiguriert und können sofort ohne zusätzlichen Programmieraufwand genutzt werden. Citrus bietet dabei die Möglichkeit, auch komplexe Szenarios mit vielfältigen Testaktionen automatisiert durchzuführen (z.B. Datenbankabfragen, Schleifen und Fehlerbehandlung).

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 36039200 / SOA)