Holen Sie sich die UMFANGREICHSTE Abdeckung für die Einhaltung von MISRA C! Erfahren Sie mehr >>

Verbessern Sie die Zusammenarbeit von Entwicklern mithilfe von Service-Virtualisierung

Von Chris Colosimo

28. August 2017

4  min lesen

Mit der Dienstvirtualisierung können Sie den Verspottungsprozess vereinfachen und eine Bibliothek wiederverwendbarer virtueller Dienste erstellen, die die Kernfunktionen gemeinsam nutzen, sodass Sie die Erstellung virtueller Dienste immer wieder beenden können.

Es gibt nichts Frustrierenderes für einen Entwickler, als Dinge ständig von Grund auf neu erstellen zu müssen. Ein Kernprinzip des objektorientierten Entwurfs besteht darin, für jeden Aufwand ein Objekt oder einen referenzierbaren Punkt zu erstellen, sodass Sie sich nie wiederholen müssen.

Trotz dieses Grundprinzips wiederholen Entwickler beim Verspotten regelmäßig denselben Prozess immer wieder.

Aber wieso? Wenn ein Entwickler Anwendungscode schreibt, kommuniziert er häufig mit denselben externen APIs und ruft denselben Dienst auf unterschiedliche Weise auf. Das Problem bei herkömmlichen Mocks besteht darin, dass sie auf Codeebene geschrieben sind und speziell für die Arbeit mit der zu entwickelnden Funktion entwickelt wurden. Daher muss jedes Mal, wenn die Funktionalität ausgeübt werden muss, ein neues Modell erstellt werden.

Bei Verwendung eines herkömmlichen Mocking-Frameworks ist es schwierig, bereits erstellte Mocks zu teilen, nicht nur, weil möglicherweise nicht bekannt ist, wo sie in der Codebasis vorhanden sind, sondern auch, weil es schwierig ist zu verstehen, an welche Anforderung ein bestimmtes Mock gebunden ist zu. Was am Ende passiert, ist, dass einzelne Teammitglieder oft das gleiche Modell erstellen wie die Person, die direkt neben ihnen sitzt. Dies ist einfach verschwendete Mühe und Zeitverlust eines Entwicklers.

Wo ist mein Mock?

Es wird auch schwierig, zusammenzuarbeiten, wenn ein Entwickler ein Modell erstellt hat. Es gibt kein magisches Dashboard, in dem Sie Benachrichtigungen zu den erstellten Mocks veröffentlichen können, um das Team auf dem Laufenden zu halten.

Ich war kürzlich bei einer Gesundheitsorganisation, die Spott als gängige Entwicklungspraxis verwendete, und sie hatten einen Dienstleister, der immer offline war, was es zu einem gemeinsamen Ziel für Spott machte. Als solches hatte jeder einzelne Entwickler eine verspottete Schnittstelle dafür in seiner eigenen Codebasis erstellt. Sie waren alle leicht unterschiedlich, erreichten aber den gleichen Zweck. Als ich die Entwickler interviewte, stellte ich fest, dass ungefähr 20 der gleichen Verspottungen existierten. Dies war sogar eine Überraschung für sie. Bei der Frage nach Doppelarbeiten war die Antwort in gedämpften Tönen nicht völlig unerwartet: „Wir sind zu beschäftigt, um zu kommunizieren.“

Klingt bekannt? (Ich wünschte, ich hätte hier eine großartige Statistik, damit Sie sich besser fühlen.)

Aber Verspottungen sind notwendig, wie jeder Entwickler oder Tester erklären wird, weil Sie die Fähigkeit haben müssen, sich bei Ihrer Entwicklung vom Rest der Welt zu entkoppeln. Mocks sind eine Möglichkeit, Ihre Anwendung mit einer schützbaren Umgebung zu umgeben. Die Lösung hat jedoch ihre eigenen Herausforderungen, darunter:

  • Jeder Mock von Grund auf neu aufzubauen ist mühsam und verschwendet Zeit
  • Der Versuch, vorhandene Verspottungen zu entdecken, ist schwierig
  • Mocks existieren ohne Zweck - sie sind weder an bestimmte APIs gebunden noch wiederverwendbar
  • Die Leute sind zu beschäftigt, um zu kommunizieren, obwohl sie zusammenarbeiten müssen

Geben Sie ein: Dienstvirtualisierung. Mit dieser Testpraxis können Sie den Mocking-Prozess vereinfachen und eine Bibliothek wiederverwendbarer virtueller Dienste erstellen, die die Kernfunktionalität gemeinsam nutzen. Sie können also aufhören, immer wieder virtuelle Dienste zu erstellen.

Verwenden der Servicevirtualisierung

Schauen wir uns ein Beispiel an. Angenommen, es gibt einen vorhandenen Dienst, der Informationen über die Identität einer Person bereitstellt, indem eine eingehende Kontonummer verwendet und eine Antwort für diese Person zurückgegeben wird, und es muss ein neuer virtueller Dienst entwickelt werden, der basierend auf einer Kontonummer zurückgegeben wird finanzielle Details.

Mit der Dienstvirtualisierung kann ein Großteil des ursprünglichen Dienstes beim Erstellen des neuen virtuellen Dienstes genutzt werden. Das einzige, was die beiden Dienste voneinander trennt, sind das Schema und die Daten. Und wenn eine Organisation immer mehr virtuelle Dienste erstellt, wird auch das Repository von Artefakten, die sie wiederverwenden können, größer. Dies löst die anfängliche Herausforderung, denselben virtuellen Dienst immer wieder erstellen zu müssen.

Freigeben virtueller Dienste

Im Gegensatz zu Mocks können virtuelle Dienste in hohem Maße gemeinsam genutzt werden, und die internen Module können ebenfalls wiederverwendet werden. Virtuelle Dienste oder pva-Dateien können als XML gespeichert und problemlos in die Quellcodeverwaltung eingecheckt werden. Wenn der Dienst bestimmte Funktionen für eine bestimmte API simuliert, können Sie das Artefakt entweder in der Quellcodeverwaltung oder einfacher auf einem gemeinsam genutzten Virtualisierungsserver suchen. Als Team wächst in der Nutzung der Service-VirtualisierungSie können die vorhandenen Funktionen zur gemeinsamen Nutzung von Servern nutzen, indem sie ihren Desktop direkt mit dem Server verbinden, nach dem gewünschten Artefakt suchen, es direkt auf ihren Desktop ziehen und sofort mit der Verwendung beginnen. Dies löst die Herausforderung, erstellte virtuelle Dienste zu entdecken und sofort darauf zuzugreifen.

Virtuelle Dienste zusammenbinden

Parasoft Virtualisieren bietet auch einen Marktplatz für private und öffentliche Artefakte, die aus gängigen Anwendungsfällen für die Virtualisierung erstellt wurden. Auf diese Weise können Sie schnell loslegen und eine interne Wissensbasis in Ihrem Unternehmen aufbauen, die die zukünftige Erstellung virtueller Dienste vereinfacht. Wenn Sie anfangen, virtuelle Dienste zu nutzen, können Sie diesen virtuellen Dienst problemlos mit seiner ursprünglichen API an Namenskonventionen oder durch Beschreibung oder Kennzeichnung verknüpfen.

Ihre Entwicklungspartner können dann direkt im Webbrowser nach virtuellen Assets suchen, die für die APIs erstellt wurden, die sie verspotten möchten, und genau sehen, was erstellt und sofort auf ihrem Desktop bereitgestellt wurde:

Dies löst die Herausforderung, virtuelle Dienste mit ihren spezifischen APIs und Anforderungen zu verknüpfen.

Zusammenarbeit mit virtuellen Diensten

Mit all den oben genannten Lösungen kann Ihr Team einen nachhaltigen Workflow erstellen, der Entwicklern und Testern Optionen bietet, wenn sie erkennen, dass ein Mock erforderlich ist. Anstatt Zeit damit zu verbringen, hin und her zu gehen, können sie das Parasoft-Ökosystem nach einem Modell abfragen, das ihren spezifischen Anforderungen entspricht, und wenn eines vorhanden ist, können sie sofort darauf zugreifen. Wenn nicht, können sie einen virtuellen Dienst erstellen, den das Team wiederverwenden kann und der von jedem entdeckt werden kann, der ihn in Zukunft benötigt. Dies löst die Herausforderung der Zusammenarbeit in Korrelation.

So was jetzt?

Sie können die kostenlose Version von verwenden Parasoft Virtualisieren, das Virtualisieren Gemeinschaftsausgabe, um mit Ihrer virtuellen Infrastruktur zusammenzuarbeiten. Alles, was ich oben erwähnt habe, ist dort verfügbar, und Sie können mit dem Start eines Downloads beginnen. Assets können in die Quellcodeverwaltung eingecheckt, auf einen gemeinsam genutzten Teamserver hochgestuft und auf den privaten Marktplatz Ihres Teams hochgeladen werden. Viel Spaß beim Virtualisieren!

Von Chris Colosimo

Als Produktmanager bei Parasoft strategisiert Chris die Produktentwicklung der Funktionstestlösungen von Parasoft. Seine Expertise in der SDLC-Beschleunigung durch Automatisierung hat ihn zu wichtigen Unternehmensbereitstellungen wie Capital One und CareFirst geführt.

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