Erfahren Sie, was es Neues in MISRA C:2012 AMD3 gibt und wie Sie mit C/C++test 2022.2 die UMFANGREICHSTE Abdeckung erhalten! Auf Abruf ansehen >>

Tools zur Dienstvirtualisierung

Von Adam Attanasio

20. Dezember 2022

4  min lesen

Sind Sie auf der Suche nach den Vorteilen von Service-Virtualisierungstools und wie Sie das richtige Tool für Ihre Entwicklungs- und Testteams auswählen? Lesen Sie weiter, um mehr über die Funktionen zu erfahren, die Sie in Ihre Checkliste und die besten SV-Tools aufnehmen können.

Was sind Service-Virtualisierungstools?

Tools zur Servicevirtualisierung bieten Teams die Möglichkeit, ein ganzes System zu testen, selbst wenn sich einige seiner Komponenten noch in der Entwicklung befinden. Lassen Sie uns die vielen Attribute der Servicevirtualisierung (SV) untersuchen und die besten Tools vergleichen, die die Branche anbietet.

Warum ist Service-Virtualisierung wichtig?

Service-Virtualisierung ist eine Methode die Entwicklungsteams verwenden, um das Verhalten der Komponenten einer Anwendung zu simulieren. Diese Komponenten können APIs, Datenbanken, Netzwerke, Geräte und mehr sein.

Entwicklungsteams verwenden die Dienstvirtualisierung, da einige Komponenten des Projekts bei Bedarf möglicherweise nicht für Testzwecke verfügbar sind. Hier sind einige Gründe, warum Komponenten möglicherweise nicht bereit sind.

  • Entwickler bauen sie immer noch.
  • Problematisch bei der Einrichtung oder beim Zugriff.
  • In einer Testumgebung schwer zu konfigurieren oder bereitzustellen.
  • Dritte können die Komponenten besitzen oder eine Gebühr für den Zugriff darauf erheben.
  • Nur für Testzwecke zu ungünstigen Zeiten oder in begrenzter Kapazität verfügbar.
  • Verschiedene Teams benötigen sie möglicherweise gleichzeitig, jedes mit unterschiedlichen Dateneinstellungen und anderen Anforderungen.
  • Tester stellen möglicherweise fest, dass ihre Verwendung für Leistungs- und Lasttests eingeschränkt oder teuer ist.

Durch die Simulation nachgelagerter Abhängigkeiten können Entwicklungsteams Hindernisse wie diese überwinden, indem die Teams die tatsächliche Funktionalität gegen simulierte Reaktionen und Verhaltensweisen austauschen. Bei richtiger Anwendung zwingt die Service-Virtualisierung das System dazu, sich genau so zu verhalten, als wäre die Komponente vollständig und verfügbar.

Service-Virtualisierung wirkt wie ein Flugsimulator für Anwendungen. Tester testen während der Entwicklung auf Mängel und helfen den Teams, potenzielle Probleme anzugehen, damit das Flugzeug nicht abstürzt.

Vorteile der Service-Virtualisierung

Die Verwendung von SV spart Geld, Zeit, Frustration und Kopfschmerzen. Die Entwicklung hört nicht auf, während die Teammitglieder auf fertige Komponenten aus anderen Bereichen warten. Dies liegt daran, dass die Service-Virtualisierung Teams allgegenwärtigen Zugriff auf genau das bietet Emulierte Testumgebungen. So vermeiden Teams „wir gegen sie“-Konflikte. Weitere Vorteile sind eine verbesserte Testgenauigkeit und eine schnellere Markteinführung.

Service-Virtualisierungstools und was sie tun

Neben der Simulation des realen Verhaltens der Systemkomponenten können SV-Tools auch nicht funktionierende Teile des Systems wie langsame Reaktionszeiten und Verbindungen duplizieren.

SV-Tools können komplexe Anforderungsübereinstimmungen integrieren, wodurch der Test unterschiedliche Antworten für verschiedene Anforderungstypen liefern kann. Einige virtuelle Dienste geben eine Gruppe von Stub-Antworten für die Anforderungskriterien, die Tester bereitstellen, und senden dann alle anderen Anforderungen an ein funktionierendes Backend-System. Andere simulieren das Verhalten des Systems, wenn der SV Teile der Antwort basierend auf Anforderungsattributen und -daten erstellt.

Hier sind weitere hilfreiche Funktionen:

  • SV stellt einen digitalen Zwilling Ihrer Testumgebung bereit, der als Sandbox für die Partnerentwicklung oder als virtueller Endpunkt für interne Tests verwendet werden kann.
  • Entwickler erfassen den Datenverkehr mithilfe einer SV-Plattform, um virtuelle Assets zu erstellen, anstatt das interaktive Muster von Grund auf neu zu erstellen.
  • SV unterstützt verschiedene Protokolle wie HTTP, MQ, TCP und viele mehr.
  • SV-Tools verfügen häufig über Benutzeroberflächen, die es Nicht-Entwicklern ermöglichen, die Tools zu verwenden, ohne die Details des Projekts verstehen zu müssen.

Schritte vor der Auswahl eines Service-Virtualisierungstools

Bevor Teams anfangen, Zeit, Geld und Mühe in SV zu investieren, etwas recherchieren und Vorbereitung ist von Vorteil.

  1. Führen Sie eine angemessene Analyse der Testfälle durch.
  2. Testdaten identifizieren.
  3. Gegebenenfalls Ziellast bestimmen.

Um den vollen Wert der Servicevirtualisierung auszuschöpfen, ist es wichtig sicherzustellen, dass das Tool die Testanforderungen Ihres Teams erfüllt und unterstützt. Andernfalls wird es zu komplex und zu teuer in der Wartung.

9 Funktionen, die SV Tools benutzerfreundlich machen

Hier sind neun Funktionen, die in einem Tool berücksichtigt werden sollten, das die Nutzung der Service-Virtualisierung für Ihr Team erleichtern könnte.

1 – Skriptlose Funktionalitäten

Entwicklerteams sollten in der Lage sein, virtuelle Dienste zu erstellen, ohne Code schreiben zu müssen. Stattdessen ist ein visuelles Werkzeugsystem ideal. Normalerweise ist die Person, die einen virtuellen Dienst benötigt, ein Tester, der weniger technische Details aus erster Hand darüber hat, wie die Dienste implementiert wurden.

2 – Schnelle Erstellung virtueller Dienste vor der tatsächlichen Verfügbarkeit von Diensten

Die Nutzung virtueller Dienste als Prototypen, bevor der echte Dienst verfügbar ist, ist sehr vorteilhaft. Mit dieser Funktion können Teams Schnittstellen für abhängige Komponenten der Anwendung erstellen, bevor sie fertig sind.

3 – Intelligente Reaktionskorrelation

Dies bedeutet, dass das Service-Virtualisierungstool je nach eingehenden Anfragen unterschiedlich reagieren kann. Zu den verschiedenen Arten der zu berücksichtigenden Antwortkorrelation gehören:

  • Bereitstellungsprotokoll
  • Nachrichtenkorrelation
  • Datenquellenkorrelation

4 – Datengesteuerte Antworten

Datengesteuerte Antworten geben Teams die Flexibilität, Logik auf abstrahierte Weise zu erstellen. Sie können virtuelle Dienste mit Datenquellen wie Excel, CSV, tabellarischen, hierarchischen und Live-Datenbanken für Echtzeit-Datensuchen verbinden.

5 – Fähigkeit zur Wiederverwendung von Diensten

Entwicklerteams können zusammenarbeiten, um zentrale, allgemeine oder gemeinsam genutzte Dienste zu definieren, und diese Vorlagen und Logik dann mehrfach in anderen virtuellen Diensten wiederverwenden.

6 – Ein benutzerdefiniertes Erweiterungsframework

Die Fähigkeit, Skripts zu verwenden, aber nicht auf eine einzelne Sprache beschränkt zu sein, ist hilfreich, wenn Sie Code schreiben müssen, um Aufgaben wie das Generieren eines proprietären Tokens oder einer eindeutigen Kennung zu erfüllen.

7 – Unterstützung für Authentifizierung und Sicherheit

Mit dieser Art von Unterstützung kann Ihr Team die Sicherheit der eingehenden Transportschicht wie SSL-Zertifikate validieren und während der Aufzeichnung mit den Live-Diensten interagieren, die durch Authentifizierungsmechanismen wie OAuth, Basic Auth, Digest, Kerberos, NTLM und mehr geregelt werden können .

8 – Konfigurierbare Leistungsumgebungen

Durch die Aktivierung von Leistungstests können Teams Leistungstests in einer früheren Phase durchführen und die ausschließliche Abhängigkeit von vollständigen Testumgebungen verringern. Teams können sich auf bestimmte Komponenten-SLAs konzentrieren, indem sie virtuelle Dienste verwenden, um Abhängigkeiten außerhalb des Geltungsbereichs zu emulieren. Sie können Leistungsumgebungen erstellen, indem sie Umgebung der Anwendung mit virtuellen Diensten.

9 – Unterstützung für Clustering und Skalierung

Als Ihre Leistung Team setzt auf Service-Virtualisierung und die allgemeine Nutzung zunimmt, benötigen Sie ein Tool, das eine Skalierung ermöglicht, die sich in zwei Formen manifestieren kann: hoher Durchsatz und Fehlertoleranz. Zu Skalierung unterstützen, möchten Sie ein Tool, das hinter einem Load Balancer geclustert werden kann, damit Sie die Last, die Ihrer Virtualisierungsinfrastruktur gegeben wird, angemessen verteilen können. Sie möchten auch ein Tool, das die Asset-Parität aufrechterhalten kann, wenn Sie verschiedene virtuelle Dienste auf einzelnen Knoten ändern.

Weitere zu berücksichtigende SV-Tool-Funktionen

Funktionen im Zusammenhang mit der Optimierung von Arbeitsabläufen, Automatisierung, Unterstützung für Verwaltung und Wartung sowie unterstützte Technologien sind bei Ihrer Suche nach dem besten Service-Virtualisierungstool wichtig. Hier erfahren Sie mehr.

Beste Service-Virtualisierungstools

Wir vergleichen die Funktionen, Vorteile und Fähigkeiten der besten kommerziellen Tools für die Service-Virtualisierung.

WerkzeugMerkmaleVorteileNachteile AnzeigenPreise
Parasoft VirtualisierenErstellen Sie komplexe virtuelle Assets ohne Skripterstellung für über 120 Nachrichtentypen.Integration mit Parasoft SOAtest (API-Tests) und Selenic (UI-Tests) sowie branchenüblichen CI- und IDE-Tools.Eine vollständig integrierte Lösung erfordert eine zusätzliche Einrichtung.Wenden Sie sich an Parasoft, um ein Angebot anzufordern.

parasoft.com/contact/
Webbasierter Umgebungsmanager erleichtert einfache Testkonfigurationen.Der modulare Ansatz für das Design virtueller Dienste ermöglicht eine einfachere Wartung.Veröffentlichte Preise nicht verfügbar
Zustandsbehaftete Virtualisierung ermöglicht komplexe zustandsbehaftete Szenarien.Einfache skriptlose Erstellung virtueller Assets, selbst für komplexe Dinge wie CRUD.Kein SaaS-AngebotLaden Sie die kostenlose Version herunter, um loszulegen.

software.parasoft.com/virtualize/community-edition/
Die Modellierung und Generierung virtueller Testdaten umfasst die Maskierung sensibler Daten.Umfangreiche Unterstützung für verschiedene Technologien und Protokolle.
Sammeln und veröffentlichen Sie Nutzungsberichte und Trefferstatistiken.Umfassender, erstklassiger Produktsupport.
WireMock (UP9)Generieren Sie automatisch Kubernetes-fähige Mocks und kodifizierte Testfälle.Transparente PreisgestaltungKein Low-Code. Erfordert Skripterstellung.up9.com/pricing/
Mocking integriert mit UP9-API-Überwachung, -Tests, -Sicherheit und -Beobachtbarkeit.Einfach herunterladen und testen.Eingeschränkte Funktionalität und Protokollunterstützung.
Simuliert HTTP-basierte APIs.Open SourceNur wenige Integrationsmöglichkeiten.
Einfach zu bedienen für einfache Anwendungsfälle.Keine .NET-Unterstützung.
Keine Teamunterstützung oder professionelle Dienstleistungen.
VerkehrspapageiVordefinierte API-MocksEinfache BereitstellungAPI-Mocks sind in Umfang und Komplexität begrenzt.Erschwingliches Lizenzmodell und Kostenplan für Einstiegsanforderungen.

trafficparrot.com/buy.html
Unterstützung für kurzlebige Container, Infrastructure-as-Code, CI/CD und Kubernetes.Dezentral mit Web-Benutzeroberfläche. Cloud oder VM. Keine On-Premises-Option.Benutzerverwaltung. Wenn Sie Traffic Parrot in einer gemeinsam genutzten Umgebung bereitstellen, kann jeder, der die URL zur WebUI von Traffic Parrot hat, ohne Einschränkungen darauf zugreifen.
Unterstützt die wichtigsten Protokolle und läuft auf OpenShift.Basierend auf Open-Source-WireMock.Es ermöglicht keine Anpassung komplexerer Workflows. Stattdessen schreiben Sie selbst benutzerdefinierte Plugins/Erweiterungen in Java.
Lässt sich in gängige CI-Umgebungen und andere Entwicklungs-/Testtools integrieren.Verspottet als Code. Docker- und Jenkins-Integrationen.Keine "kostenlosen" Editionen verfügbar.
SmartBear ReadyAPI-Virtualisierung (ServiceVPro)Früher ServiceVPro, jetzt integriert mit SoapUI Pro und LoadUI Pro für API-Tests und Mocking.Einfache Integration mit der ReadyAPI-Suite und einem großen Ökosystem anderer SmartBear-Tools.Schlechte Berichtsfunktionen.Die Preisgestaltung à la carte erleichtert die Auswahl des gewünschten Produkts.
Führen Sie virtuelle Dienste über den Browser, die Cloud oder den lokalen Client auf einem Remote-Computer oder -Images aus.Riesige Community und Open-Source-Tools.Die Codegenerierung verläuft nicht immer reibungslos.Kostenlose Testphase: smartbear.com/product/ready-api/api-virtualization/free-trial/

Pricing: smartbear.com/product/ready-api/pricing/
Importieren Sie OAS-, WSDL- oder andere API-Definitionen oder zeichnen Sie Live-API- oder UI-Verkehr auf, um loszulegen.Unterstützt gängige Messaging-Protokolle (HTTP, REST, SOAP, JMS und JDBC).Begrenzte Protokollunterstützung.Preise für das Virtualisierungsmodul online verfügbar. Senden Sie eine Anfrage für ein Paketangebot.
Analysieren Sie den Datenverkehr und die Leistung virtueller Dienste über eine Webbenutzeroberfläche.Erfordert keine tiefen technischen Kenntnisse oder Programmiererfahrung, um loszulegen.Unfähig, schwere Lasten zu handhaben.
Konfigurieren Sie Parameter für mehrere Szenarien, einschließlich Kapazität, Bandbreite und Fehler.Veraltete Benutzeroberfläche
Mikrofokus (HP)Erstellen Sie schnell realistische Simulationen von APIs und virtuellen Diensten.Umfangreiche Unterstützung für verschiedene Technologien und Protokolle.Eingeschränkte Unterstützung für moderne Tools wie Kubernetes.Komplizierte Preisgestaltung mit hohen Vorabkosten.
Service-Virtualisierungsfunktionen sind in LoadRunner und die UFT-Suite (Unified Functional Testing) integriert.Einfach zu verwenden, erfordert jedoch die Verwendung einer Skriptsprache (Visual Basic).Kein Low-Code, erfordert viel Skripting.Flexibles Lizenz- und Bereitstellungsmodell.
Umfangreiche Belastungstests für realistische Leistungssimulationsszenarien ohne Beeinträchtigung der Produktions- oder Drittsysteme.Datenorientierte Simulationen.Die Lösung umfasst mehrere Angebote, die durch Übernahmen von verschiedenen Anbietern erworben wurden.Kontakt: microfocus.com/en-us/products/uft-one/contact

Kostenlose Testversion verfügbar: microfocus.com/en-us/products/uft-one/free-trial

Gemeinsam genutzte Repositories und gemeinsam genutzte Bibliotheken mit wiederverwendbaren Simulationsressourcen.Webbasierte OberflächeBegrenzte Formate, die für die Berichterstellung unterstützt werden.
Verwendet Excel für größere Dienste anstelle einer SQL-basierten Implementierung.
PostmanKonzentriert sich hauptsächlich auf API-Tests mit etwas Unterstützung für API-Mocking.Leichtes Tool mit geringem Platzbedarf und einfacher BenutzeroberflächeHat nur leichte statische Spottwerkzeuge. Führt keine echte Dienstvirtualisierung durch.Mehrere Preispläne. Die Abrechnung kann jährlich oder gegen eine Prämie monatlich erfolgen.

postman.com/pricing/
Zusammenarbeit über Arbeitsbereiche zur Organisation der API-Entwicklung.Eingebaut in API-Testplattform für Mocking, Sicherheit und Governance.Sehr eingeschränkte Protokollunterstützung
Native Git-UnterstützungCloud-OptionenKomplexere Szenarien erfordern umfangreiches Scripting.
BroadcomÜberwacht den Datenverkehr zwischen dem abhängigen System und dem Zielsystem, um die Erstellung und Aktualisierung virtueller Dienste zu automatisieren.Dienst- und Anwendungssimulationen, die das Systemverhalten genau modellieren.Komplexes Preismodell mit versteckten Kosten.Wenden Sie sich für ein Angebot an einen Broadcom-Partner oder -Distributor.

broadcom.com/how-to-buy/partner-distributor-lookup
Der SV Java API Client ermöglicht Entwicklern den Zugriff auf SV-Funktionalitäten und virtuelle Dienste in Java-Code.Scripting ist nützlich für Entwicklerteams.Erfordert Scripting für die meisten Dienste.
Die intelligente Selbstheilungsfunktion simuliert automatisch Reaktionen.Führen Sie Tests über den gesamten Stack durch, um APIs auf jeder Ebene einer komplexen, mehrschichtigen Anwendung zu validieren.Eingeschränkter Support über Partner.Kostenlose Community Edition auf Anfrage erhältlich.
Enthält integrierte Funktionen für automatisierte Funktions-, UI-, Mobil- und Leistungstests.Mainframe- und Multiprotokoll-Unterstützung.Schwer zu verwendender Thick-Client.
Integration mit Entwicklungs- und Testwerkzeugen.Paralleles Entwickeln und Testen.Teuer und ressourcenintensiv.
Sehen Sie, wie Ihr Team mit Parasoft Virtualize kontinuierlich testen kann.

Von Adam Attanasio

Adam Attanasio ist Produktmanager für die Parasoft Continuous Quality Platform, der sich auf die Verbesserung der Erfahrung von API- und UI-Tests konzentriert und sich dafür einsetzt, Kunden bei der Auswahl der richtigen Testlösungen zu unterstützen. Mit über 15 Jahren Erfahrung in der IT arbeitet Adam mit Unternehmen zusammen, um sich auf Zusammenarbeit, Effizienz und Qualität zu konzentrieren.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.