Empfohlenes Webinar: KI-gestütztes API-Testing: Ein No-Code-Ansatz zum Testen | Zum Video

Reifegradmodell für die Service-Virtualisierung

Headshot von Grigori Trofimov, Senior Solution Architect bei Parasoft
22. September 2023
6 min lesen

Hier finden Sie eine umfassende Abdeckung der Servicevirtualisierung, um Unternehmen bei der Einführung und Skalierung zu unterstützen. Legen Sie realistische Erwartungen fest, indem Sie sich vom Service Virtualization Maturity Model und seinen vier Phasen leiten lassen.

Bei Parasoft führen wir Kunden seit seiner Gründung durch den schnell wachsenden Markt für Service-Virtualisierung (SV). Dieses Erlebnis haben wir im festgehalten Reifegradmodell für die Service-Virtualisierung, das IT-Organisationen dabei helfen soll, realistische Erwartungen für die Einführung und Implementierung der Service-Virtualisierung zu setzen.

Einführung und Skalierung der Service-Virtualisierung

Der Einführung der Service-Virtualisierung können von einfachen Ad-hoc- oder reaktiven Anwendungsfällen zur Überbrückung spezifischer Lücken bis hin zu koordinierten Bemühungen zur Bereitstellung eines optimierten unternehmensweiten Zugriffs auf hochkomplexe Testumgebungen reichen. Unser Service Virtualization Maturity Model setzt realistische Erwartungen darüber, wie Unternehmen diese außerordentlich spannende Technologie am besten anwenden können, und reduziert Anwendungsrisiken, indem es frühere, umfassendere Tests ermöglicht.

Das Service Virtualization Maturity Model besteht aus vier Phasen, die durch den spezifischen Fokus des Teams in jeder Phase definiert werden.

  1. Ad hoc. Der Fokus liegt auf dem Einzelnen, wenn es einmalige Versuche gibt, Lücken zu schließen, die den Einzelnen daran hindern, eine bestimmte Entwicklungs- oder Testaufgabe abzuschließen.
  2. Reaktiv. Der Schwerpunkt liegt auf dem Projekt, bei dem Servicevirtualisierung zur Emulation abhängiger Systemkomponenten verwendet wird und eine Verschiebung der Entwicklungs- oder Testaufgaben des Projekts nach links ermöglicht.
  3. Proaktiv. Der Schwerpunkt liegt auf der Testumgebung, in der die Servicevirtualisierung einen konsistenten Zugriff auf Entwicklungs- und Testumgebungen bietet, die schwer zugängliche, inkonsistente oder unzuverlässige Systemabhängigkeiten beinhalten.
  4. Gelang es. Der Schwerpunkt liegt auf der Erstellung von Testszenarien, bei denen mehrere Testumgebungen, beispielsweise für Leistung, Sicherheit oder Fehlerbedingungen, koordiniert werden, um in jeder SDLC-Phase schnell verschiedene Szenarien auszuprobieren und so mehr Automatisierung und bessere Testergebnisse zu erzielen. Ein reifes Unternehmen wird bestrebt sein, SV im gesamten Unternehmen zu nutzen und zu optimieren.

Was ist Service-Virtualisierung?

Bei der Servicevirtualisierung handelt es sich um eine Softwareentwicklungspraxis, bei der das Verhalten einer Anwendungskomponente simuliert wird, ohne dass eine reale Instanz davon bereitgestellt werden muss. Der häufigste Anwendungsfall für die Service-Virtualisierung ist das Testen von Komponenten oder Backend-Systemen von Drittanbietern in Testumgebungen. Dies bietet Unternehmen die Möglichkeit, komplexe Anwendungen schneller und umfassender zu entwickeln und zu testen. Durch die Einführung der Servicevirtualisierung können Unternehmen die Investitions- und Betriebskosten für die Verwaltung von Entwicklungs- und Testumgebungen erheblich reduzieren.

Indem sie jederzeit und überall Zugriff auf das Verhalten abhängiger Anwendungen bietet, die für Entwicklung und Tests schwer zugänglich oder schwer zu konfigurieren sind, einschließlich Datenbanken, Mainframes, Anwendungen von Drittanbietern und sich weiterentwickelnden Diensten, beschleunigt die Dienstvirtualisierung nicht nur die agile und parallele Entwicklung, sondern ermöglicht auch die Entwicklung Zielorientierte, geschäftsorientierte Testszenarien, die das Anwendungsrisiko deutlich reduzieren.

Service-Virtualisierung wird am häufigsten beim Testen verwendet, aber einige Organisationen wählen diesen Ansatz möglicherweise, um eine beliebige Nicht-Produktionsumgebung zu simulieren, sei es für Vertrieb, Schulung oder Partnerintegrationen

Warum ist Service-Virtualisierung wichtig?

Um schnell Qualität zu erreichen, ist der uneingeschränkte Zugriff auf eine vertrauenswürdige und realistische Testumgebung unerlässlich. Es ist wichtig zu erkennen, dass eine vollständige Testumgebung die zu testende Anwendung (AUT) und alle ihre abhängigen Komponenten umfasst, einschließlich APIs, Dienste von Drittanbietern, Datenbanken, Anwendungen und andere Endpunkte.

Durch die Servicevirtualisierung erhalten Teams Zugriff auf eine vollständige Testumgebung, einschließlich aller kritischen abhängigen Systemkomponenten, und können das Verhalten dieser abhängigen Komponenten auf eine Weise ändern, die mit einer abgestuften Testumgebung nicht möglich wäre. So können Sie früher, schneller und schneller testen vollständiger. Es ermöglicht Ihnen auch, verschiedene Ebenen der Anwendung zum Debuggen und Leistungstesten zu isolieren, aber darauf werden wir heute nicht so ausführlich eingehen.

Was ermöglicht die Servicevirtualisierung sonst noch?

Die Servicevirtualisierung ist Teil einer vollständigen Toolplattform zur Testautomatisierung, die Teams dabei hilft, Tests auf verschiedene Weise zu beschleunigen. Beispielsweise hilft Virtualisierung dabei, die folgenden wichtigen Testaktivitäten zu ermöglichen.

  • Leistungstest. Verschieben Sie Leistungstests nach links, indem Sie die Service Level Agreements Ihrer abhängigen Systeme simulieren und sich so von der eingeschränkten Verfügbarkeit Ihrer physischen Leistungstestumgebung oder der Unfähigkeit, diese vollständig zu kontrollieren, befreien.
  • Kontinuierliche Tests. Seien Sie der Konkurrenz einen Schritt voraus, indem Sie die Testphase Ihrer Continuous-Delivery-Pipeline beschleunigen und die Feedbackschleife durch kontinuierliche Tests automatisieren, um Ihre Release-Bereitschaft zu bewerten.
  • Testumgebungsmanagement. Anstatt zusätzliche Hardware für Hunderte neuer Testsilos zu skalieren, nutzen Sie die Servicevirtualisierung, um virtuelle Testumgebungen dynamisch bereitzustellen und zu zerstören

Praktische Vorteile der Service-Virtualisierung

Die Bereitstellung von Servicevirtualisierung in Ihrem Unternehmen bietet viele Vorteile. Unternehmen, die die hochmoderne Testpraxis der Service-Virtualisierung übernommen haben, berichten:

  • Weniger Defekte
  • Bessere Testabdeckung
  • Höhere Testausführungsraten
  • Deutlich weniger Zeitaufwand für Tests

Bewertung der Machbarkeit der Service-Virtualisierung

Die Servicevirtualisierung eignet sich möglicherweise gut, wenn Sie mit einer komplexen Anwendung arbeiten, die mehrere Downstream-Abhängigkeiten umfasst. Tests mit externen APIs können durch Verfügbarkeit, Zeitbeschränkungen oder Gebühren beeinträchtigt werden. Wenn Ihr Team eine enge Deadline hat und sich keine Verzögerungen beim Zugriff auf diese Assets leisten kann, können Sie mit der Servicevirtualisierung simulierte Versionen erstellen, die sich wie die Realität verhalten, sodass die Tests ungehindert fortgesetzt werden können.

Erfolgreiche Implementierung der Service-Virtualisierung

Service-Virtualisierung ist ein leistungsstarkes Tool, für den größtmöglichen Nutzen ist jedoch ein organisierter Plan erforderlich. Hier sind einige Schritte, die Sie zur Entwicklung dieses Plans unternehmen können.

Aufbau des Business Case

Es gibt mehrere Methoden zur Erstellung eines Geschäftsszenarios für eine Investition in SV. Sie alle beinhalten Berechnungen zu den wichtigsten Schwachstellen: Zeit, Geld und Qualität.

Wenn Sie beispielsweise einen Teil Ihres Budgets für den Zugriff auf ein externes System wie eine Zahlungsverarbeitungs-API zum Testen von Anwendungen bereitstellen müssen, können Sie diese Kosten mit einer virtuellen Version einsparen.

Oder wenn Ihr Team gezwungen ist, auf ein bestimmtes Zeitfenster zu warten, um Tests mit Produktionsdatenbanken durchzuführen, könnte eine simulierte Kopie dieser Datenbank es ihm ermöglichen, seine Arbeit früher zu erledigen, wertvolle Zeit zu sparen und sich anderen Aufgaben zu widmen.

Ein weiterer Schwerpunkt ist das Fehlermanagement. Wenn Ihr Team beim Abnahmetest in einer physischen Umgebung nur funktionale Probleme feststellt, wie viele könnten Sie dann früher finden, wenn Sie früher mit einer virtuellen Testumgebung testen? Viele Probleme können früher im SDLC identifiziert und behoben werden, was bedeutet, dass weniger Probleme die Produktion erreichen, wo ihre Behebung kostspieliger und zeitaufwändiger ist. Das ist eine erhebliche Auswirkung!

Verpasse nicht unseren Rechner für den Wert der Servicevirtualisierung für eine umfassende Einschätzung der Zeit- und Kosteneinsparungen, die Sie für Ihre Testumgebung erzielen können.

Auswahl des richtigen Service-Virtualisierungstools

Die Servicevirtualisierung ist ein Schlüsselfaktor für jedes Testautomatisierungsprojekt. Durch die Schaffung stabiler und vorhersehbarer Testumgebungen wird Ihre Testautomatisierung zuverlässig und genau. Allerdings sind auf dem Markt verschiedene Ansätze und Tools verfügbar. Worauf sollten Sie bei einer Service-Virtualisierungslösung achten, um sicherzustellen, dass Sie den Return on Investment maximieren?

Bestimmen Sie die primären Ziele und Bedürfnisse des Teams, damit Sie die Fähigkeiten und Funktionen bewerten können, die am meisten helfen, darunter:

  • Kernfunktionen wie die skriptlose Erstellung virtueller Dienste
  • Optimierte Arbeitsabläufe wie die virtuelle Testdatengenerierung
  • Unterstützung für bestimmte Technologien und Protokolle, die Ihr Unternehmen verwendet
  • Erweiterungen, Automatisierung und Integrationen für CI/CD- und DevOps-Prozesse

Hier ist eine hilfreiche Anleitung Wir führen Sie durch diese Überlegungen, damit Sie eine fundierte Entscheidung über die Lösung treffen können, die den Anforderungen Ihres Teams am besten entspricht.

Planung und Implementierung der Service-Virtualisierung

Nachdem Sie das Service-Virtualisierungstool ausgewählt haben, das den Anforderungen und dem Budget Ihres Unternehmens entspricht, können Sie es im gesamten Team bereitstellen. Parasoft hat vielen Unternehmen dabei geholfen, diesen Prozess zu durchlaufen, von der Ersteinrichtung bis hin zu fortgeschritteneren Anwendungsfällen.

Beginne mit dem kostenlose Ausgabe von Parasoft Virtualize zusammen mit dem Tutorial-Videos zum Erstellen virtueller Dienste, zum Verständnis von Nachrichten-Proxys und vielem mehr. Wenn Ihr Team die Nutzung virtueller Dienste erweitert, richten Sie einen Server ein, um die Zusammenarbeit und gemeinsame Nutzung dieser Dienste zu ermöglichen.

Aufbau eines effektiven Service-Virtualisierungsteams

Viele Unternehmen, die sich auf die Produktion hochwertiger Software konzentrieren, entscheiden sich für die Einrichtung eines Center of Excellence (COE) für ihre Teststrategie und -prozesse. Ein COE trägt dazu bei, eine Struktur bereitzustellen, die Wachstum und Wiederverwendung fördert und gleichzeitig für Governance und Koordination über mehrere Teams hinweg sorgt.

Ein Beispiel ist der Kunde von Parasoft, WoodmenLife. Als sie beschlossen, ihre Testpraktiken zu modernisieren, richteten sie eine Struktur ein, um sicherzustellen, dass ihre drei Schlüsselteams ein gemeinsames Verständnis der Ziele hatten und wussten, was nötig ist, um diese zu erreichen. Sie identifizierten auch eine zentrale Person, die für die anfängliche Erstellung der virtuellen Dienste und Assets verantwortlich war und diese verwaltete, die sie dann mit den verschiedenen Teams teilte. Darüber hinaus konzentrierten sie sich darauf, die Entwickler über den Wert und die Wichtigkeit ihrer neuen Testprozesse aufzuklären, was jedem Teammitglied klar machte, dass es einen Anteil am Erfolg des Programms hatte.

Lesen Sie, wie es anderen Unternehmen gefällt Cox Automotive und dem Caesars Entertainment haben ihre Teams aufgebaut und effektive Testprozesse implementiert, um ihre Qualitätsziele zu erreichen.

Zusammenfassung

Das von Parasoft entwickelte Service Virtualization Maturity Model soll Softwareunternehmen dabei helfen, Service-Virtualisierung effektiv einzuführen und zu optimieren. Das Reifegradmodell beschreibt vier Phasen von Ad-hoc bis verwaltet, wobei jede Phase eine verbesserte Nutzung, Fachkenntnis und organisatorische Akzeptanz veranschaulicht.

Ein wichtiger Schritt auf dem Weg zur Reife ist die Erstellung des Geschäftsszenarios für die Servicevirtualisierung und die Auswahl der Tools zur Erfüllung der Anforderungen. Mit zunehmender Reife bauen Unternehmen weiterhin effektive Service-Virtualisierungsfunktionen auf und integrieren diese in bestehende Prozesse.

Die Erstellung des Geschäftsszenarios, eines Plans und des Teams bietet den größten Nutzen aus der Servicevirtualisierung. Zu den Vorteilen gehören schnellere und umfassendere Anwendungstests, geringere Kosten bei der Verwaltung von Testumgebungen und eine verbesserte Testabdeckung. Die Servicevirtualisierung öffnet auch die Tür für kontinuierliche Tests, Leistungstests und die dynamische Bereitstellung virtueller Testumgebungen.

Wie man Service-Virtualisierung einführt und skaliert