• de
  • en
  • So geht Service Virtualisierung mit aqua

    So geht Service Virtualisierung mit aqua

    Unsere digitale Welt wird immer vernetzter. Spätestens seit sich die heimische Waschmaschine bequem vom Arbeitsplatz aus steuern lässt und die Real-time-Verfolgung des Amazon-Pakets möglich ist, sind wir im Zeitalter des „IoT – Internet of Things“ angekommen. Das Resultat: Die Qualitätssicherung gewinnt immer weiter an Bedeutung. Damit sind performante Testumgebungen und eine fundierte Testdurchführung existenziell.

    Die große Herausforderung ist dabei, dass sowohl die Entwickler als auch die Tester nicht immer auf die notwendigen Umsysteme oder Testumgebungen zugreifen können. Leerzeiten, Entwicklungs- und Testkosten sowie Zeitverzögerungen sind die Auswirkungen. Hier kommt das Konzept der Service Virtualisierung ins Spiel.

     

    Den Überblick behalten

    Da die Nachfrage nach dieser Art des Testens immer größer wird, steigt auch die Zahl der Anbieter. Größen der Branche sind neben Micro Focus, HP Inc. (Hewlett Packard) und IBM. Weit verbreitet ist die Lösung von IBM. Deswegen visualisieren wir mit aqua in diesem Beitrag den „Rational Test Virtualization Server“ (kurz: RTVS), früher bekannt als „Green Hat Virtualization“, von IBM.


    Abb.: Definierte Stubs im RTVS von IBM

    Aufbau des RTVS

    Der RTVS beruht auf einem orchestrierten Zusammenspiel.

    Die Komponenten sind:

    • Rational Integration Tester („RIT“):
      Die Primäre Anwendung zum Erstellen von Stubs (*Stubs sind virtuelle Komponenten.
      Sie kommen zum Einsatz, um beim Entwickeln und Testen von Software Services in einer Umgebung zu simulieren. Die teilweise Simulation einer Umgebung kann häufig erforderlich sein, wenn die realen Services noch nicht verfügbar sind oder die Nutzung der realen Services schwierig oder kostspielig ist.)
    • Rational Integration Test Agent:
      Agenten führen Stubs in der RTVS-Umgebung aus.
    • Rational Test Control Panel („RTCP“):
      Eine Webanwendung zur Verwaltung von virtuellen Services und Agenten.
    • Rational Test Virtualization Server („RTVS“):
      Die Laufzeitumgebung der virtuellen Services, ein Proxy Server.

    Abb.: Übersicht des Rational Test Control Panel (RTCP)

     

    Das IBM-Tool arbeitet stets in einem der folgenden 3 Betriebsmodi:

    1. Durchleitung
    2. Aufzeichnung
    3. Virtualisierung

     

    Ablauf des RTVS mit aqua-API

    1. Durchleitung:

    Die RTVS-Umgebung agiert als reiner Proxy, der sich nicht „einmischt“. Es findet damit eine Kommunikation zwischen Client und Service statt.

     

    Abb.: RTVS-Betriebsmodus „Durchleitung“

     

    2. Aufzeichnung:

    Der Datenverkehr zwischen Client und Service wird durchgeleitet. Ein Virtualisierungs-Stub wird definiert (beinhaltet das definierte Antwortverhalten (Programmlogik).  Die Kommunikation (Datenverkehr) der Um-Systeme wird „abgefangen“ und zum RTVS weitergeleitet. Das heißt, dass der Datenaustausch „aufgezeichnet“ wird.

    Abb.: RTVS-Betriebsmodus „Aufzeichnung“

     

    3. Virtualisierung:

    Ist der echte Service nicht verfügbar, so kann der zugehörige Stub aktiviert werden. Der Client kann weitergetestet werden, die definierten Stubs sind anpassbar.

    Abb.: RTVS-Betriebsmodus „Virtualisierung“

     

    Fazit

    Der RTVS ist leicht bedienbar und garantiert einen schnellen Erfolg. In der zu entwickelnden Anwendung ist keine Änderung notwendig, Stubs können aufgesetzt, definiert und verwaltet werden. In der IBM-Lösung gibt es per Design keine Abhängigkeiten zwischen unterstützten Protokollen (HTTP/S, MQ, J2IMS) und Datenstrukturen (Copybook, XML, XSD, JSON und WSDL). Zudem können mittels des Kommunikationsprotokolls „http/s“ Schnittstellen getestet und simuliert werden. Die Anwendung erlaubt es, Testdaten für zukünftige Testaktivitäten aufzuzeichnen und als Excel-Dateien zu exportiert.

    Die REST (Representational State Transfer)-Technologie wird auch von der IBM-Lösung unterstützt. Damit können API-Apps simuliert werden, ebenso eine API-Sandbox. Eine Alternative zu anderen Schnittstellen wie SOAP oder WSDL ist also auch gegeben.

     

    Blick hinter die Kulissen

    So kommt das IBM-Tool mit aqua zum Einsatz:

    • aqua-API, in Teilen als auch gesamt, kann mittels des RTVS virtuell zur Verfügung gestellt werden
    • Bei Nicht-Verfügbarkeit der aqua-API können Tests durchgeführt werden, da auf die virtuelle Umgebung (RTVS) zugegriffen wird
    • Für Testszenarien und Testfälle, die sehr groß und umfangreich sind, kann die IBM Lösung von Vorteil sein, weil mit diesem Tool Testdaten erstellt, gesichert und verwaltet werden können.

     

    Auch in unserem Alltag profitieren wir von der Service Virtualisierung:

     Da viele IT-Consultants ihre Arbeiten beim Kunden präsentieren und die Hauptsitze des Kunden nicht immer dem jeweiligen Einsatzstandort entsprechen, müssen Server bzw. Umgebungen aufgesetzt werden. Dies kann sehr aufwändig sein. Mit der Service Virtualisierung entfällt diese Arbeit, indem die zu testende Umgebung virtualisiert wird. Statt des kompletten Servers sind nur die benötigten HTML-Komponenten zur Darstellung erforderlich.
    Ebenso kann die Service Virtualisierung von Vorteil sein, wenn man Präsentationen und Live-Vorführungen von Applikation bei Messen oder Kunden vorspielt. Der Aufwand ist dabei deutlich geringer.

    Erfahrene Testprofis sowie neue Teammitglieder profitieren gleichermaßen, da unter Umständen zur Testzeit oder während des Onboarding-Prozesses die aqua-API nicht erreichbar ist. Dank der virtualisierten Abbilder kann diese jedoch trotzdem angewendet werden, da das Verhalten des Systems nicht beeinflusst wird und die Funktionalitäten bis zum Ausfallzeitpunkt vorhanden ist. Zudem können mehrere virtuelle Services unterschiedlicher Komplexität für die Weiterbildungen und/oder Einarbeitung beliebig bereitgestellt werden.

    Ebenso lässt sich RTVS mit aqua integrieren. Dies erfolgt über die bereitgestellten aqua-Agenten „Powershell. Über diesen Agenten können Testfälle von aqua gestartet werden, um die definierten Stubs aus dem RTVS steuern zu können. Bedingung dafür ist, dass die bereitgestellten Stubs im gleichen Verzeichnis wie die Agenten befinden. Ebenso müssen innerhalb der Agenten auf die Stubs verwiesen werden.

    Konkret würde es beispielsweise wie folgt sein:

    Vorab wird geprüft, ob der echte aqua-Server verfügbar ist. Trifft dies nicht zu, dann werden die erstellten Stubs aus dem RTVS gestartet. Dementsprechend müsste dann eine Rückmeldung an aqua erfolgen, dass die Virtualisierung angestoßen wurde. Sobald dies geschehen ist, wird der Testfall gestartet und ausgeführt. Ist der Testfall abgeschlossen, dann wird der Stub im RTVS gestoppt.
    Beispielhafte Szenarien wären die Simulationen von Falschantworten, Serverausfall, Requests und Responses in unterschiedlichen Intervallen

     

    The Future of Testing

    „DevOps“ oder „Continuous Integration“? Auch hier kann die Service Virtualisierung eine entscheidende Rolle spielen. Jenkins-Projekte lassen sich in die IBM-Lösung und aqua integrieren. Dafür muss auf aqua-Seite der Agent „Jenkins“ installiert und lauffähig gemacht werden. Für den RTVS muss ein Plugin in einer Jenkins-Umgebung implementiert werden. IBM stellt dieses Plugin zur Verfügung – jedoch NUR mit der Vollversion.

     

    Ausblick mit Weitblick

    Es bleibt abzuwarten, wie sich der Markt entwickelt und welchen Einfluss dieses Konzept weiterhin auf den Testprozess haben wird. Zu vermuten ist, dass sich die Service Virtualisierung aufgrund der rasanten Zunahme neuer digitaler Technologien so schnell etabliert wie beispielsweise der DevOps-Ansatz.

    aqua cloud GmbH | Scheidtweilerstr. 4 | 50933 Köln |