Parasoft C/C++test 2022.2 unterstützt MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Fallstudie: Service-Virtualisierung in einer VMware-Umgebung

Von Parasoft

26. August 2013

4  min lesen

Um eine signifikante Verbesserung der Softwarequalität und -zuverlässigkeit zu erreichen, begann eine der größten neuseeländischen Regierungsorganisationen mit der Verwendung von Service-Virtualisierung. Hier ist, wie sie es gemacht haben.

Eine der größten Abteilungen der neuseeländischen Regierung migriert ihre Softwaretests Plattform von der physischen Welt zur virtuellen Welt, die es ihren Entwicklungsteams ermöglicht, neue Tests zu erstellen und zu starten Umgebungen in Minuten. Diese Revolution ermöglicht es, viel früher mit dem Testen zu beginnen und mehrere Projekte gleichzeitig zu testen. Dies verkürzt nicht nur den Zeitaufwand für die Fertigstellung von Projekten, sondern verbessert auch deren Qualität und Zuverlässigkeit erheblich.

Die Regierungsbehörde beschäftigt über 1000 Mitarbeiter in mehreren Niederlassungen in ganz Neuseeland.

Die Herausforderung

Die Softwareentwicklungsverfahren der Abteilung hatten ihre architektonischen Grenzen überschritten. Projekte dauerten länger als  notwendig und teurer aufgrund des seriellen Charakters des Softwareentwicklungslebenszyklus. Die Auswirkungen waren Ausfälle aufgrund von Problemen, die während der Testphasen zu Beginn des Projekts hätten behoben werden müssen.

Bei einer Überprüfung der Unternehmensrisiken im Jahr 2012 identifizierte der Chief Information Officer der Organisation mehrere Faktoren, die diese Probleme verursachten. Die Testumgebung für die Softwareentwicklung hat die Live-Umgebung nicht genau repliziert, was zu ineffektiven Tests führte. Darüber hinaus konnte jeweils nur ein Projekt getestet werden, was zu erheblichen Engpässen führte - insbesondere, wenn die Projekte kurz vor dem Abschluss standen.

„Die Projektleistung entsprach nicht den Erwartungen und die Fehlerbehebung war schwierig, insbesondere wenn versucht wurde, einen Vorfall in den Testumgebungen zu reproduzieren“, erklärte Lee Clements, Technical Account Manager bei Professionelle VMware-Dienste.

„Unsere Überprüfung ergab, dass mehrere isolierte Testumgebungen erforderlich sind, die die Produktion ordnungsgemäß simulieren. Außerdem mussten Projekte zu einem viel früheren Zeitpunkt im Software-Lebenszyklus getestet werden - wenn es einfacher und billiger ist, Codierungs- und Designfehler zu beheben “, sagte er.

Bei großen Projekten arbeiten mehrere Teams in Silos und konnten ihren Code erst testen, nachdem alle Teams ihre Aufgaben erledigt hatten. Dies führte häufig zu einem Stillstand, wobei die Komponenten Monate warten mussten, bevor mit dem Testen begonnen werden konnte. Alles war sequentiell und vom vorherigen Schritt abhängig.

Selbst nach dieser anfänglichen Verzögerung wäre die Testumgebung von früheren Testern in einem unbekannten Zustand belassen worden, sodass neue Projekte warten müssten, bis die Entwicklungs- und Betriebsteams die Testumgebung zurückgesetzt hätten - ein arbeitsintensiver Prozess, der Wochen dauern könnte.

Die Lösung

Mehrere Entwicklungsprojekte näherten sich der Testphase, und angesichts der Kosten für die Anschaffung und Bereitstellung mehrerer neuer physischer Anforderungen wurde es plötzlich wirtschaftlich vorteilhaft, in eine gemeinsame, vollständig virtualisierte Testinfrastruktur zu investieren. Die Abteilung arbeitete mehrere Monate lang mit Experten auf diesem Gebiet zusammen, bevor sie sich zu einem Entwurfsentwurf entschied, der von VMware Professional Services erstellt und von seinem technischen Partner implementiert wurde IntegrationQS.

"Die Option, mehr physische Umgebungen zu erstellen, war nicht praktikabel, da das derzeitige System bereits Schmerzen hatte - dies hätte zu ihren Problemen beigetragen", sagte Chris Wellington, Test Architect und Director bei IntegrationQA. "Was sie brauchten, war die Fähigkeit, komponentenbasierte Systemtestumgebungen bereitzustellen, in denen sie das Systemverhalten analysieren können, bevor es in eine Komplettlösung integriert wird", sagte Wellington.

Die interne Nachfrage nach einer konsolidierten virtuellen Testplattform hatte an Dynamik gewonnen, da eine Reihe unterschiedlicher Entwicklungsteams nach einer effizienteren Lösung gesucht hatten. Durch die Konsolidierung aller Testanforderungen der Entwicklungsteams und die Weiterentwicklung der erfolgreichen Geschichte der Infrastrukturvirtualisierung wurde die Genehmigung zum Erstellen eines Proof-of-Concept erteilt.

VMware vCloud Director wurde verwendet, um mehrere virtuelle Testumgebungen zu generieren und bereitzustellen, die vom Entwicklungsteam mit Lichtgeschwindigkeit aufgerufen werden konnten. „Mit vCloud Director können Benutzer eine aus einem Katalog ausgewählte Umgebung selbst bereitstellen und mit dem Testen beginnen“, so der Projektmanager der Abteilung.

Um Middleware- und Back-End-Systeme in den virtuellen Umgebungen vollständig zu simulieren, Parasofts Service-Virtualisierung wurde implementiert, um synthetische Transaktionslasten zu generieren.

Infolgedessen könnten Entwicklungsprojekte in einem hochpräzisen virtuellen Klon der Live-Umgebung der Abteilung getestet werden. Projekte könnten auch parallel getestet werden, wodurch viele der Sequenzierungsengpässe beseitigt werden, die zuvor bei den Entwicklungsteams aufgetreten sind.

Die mehreren virtuellen Umgebungen haben eine Reihe neuer Möglichkeiten zur Leistungsoptimierung geschaffen, die mithilfe von analysiert werden Splunk. Dieses Echtzeit-Überwachungstool berichtet über die Leistung jeder Komponente des neuen Systems und bietet Entwicklern sofortiges Feedback zur Leistung ihrer Projekte bei jeder Code-Revision.

Diese Kombination von Technologien hat eine Testumgebung geschaffen, die sich nachweislich als technisch in der Lage erwiesen hat, den Lebenszyklus der Softwareentwicklung zu revolutionieren.

Geschäftsergebnisse und Vorteile

Die neue Infrastruktur bietet Entwicklern die Freiheit, eine geeignete Umgebung aus einem Servicekatalog auszuwählen, und sie können ihren Code innerhalb von Minuten testen. Die virtuelle Umgebung ist der vorherigen Umgebung von Natur aus überlegen, da sie die Live-Umgebung bis auf Komponentenebene ohne mehrere physische Abhängigkeiten repliziert.

"Ihre Benutzerakzeptanz-Testumgebungen, Leistungstestumgebungen und Produktionsumgebungen mit vCD können jetzt wirklich homogen sein", erklärte Clements.

Dies vermeidet die Frustration und das Risiko, die entstehen, wenn Entwickler viel Zeit damit verbringen, Komponenten zu erstellen und zu testen, nur um festzustellen, dass sie beim Übertragen in die Produktionsumgebung nicht richtig funktionieren.

Durch die Umstellung auf eine virtuelle Umgebung wurde die Effizienz des gesamten Systems erheblich gesteigert, da mehrere Umgebungen gleichzeitig ausgeführt werden können und verschiedene Projekte und Projektkomponenten parallel getestet und entwickelt werden können. Mit dem vorherigen System beschwerten sich die Testmitarbeiter der Agentur, dass es Wochen dauern könne, um eine geeignete Testumgebung bereitzustellen. Jetzt haben sie bewiesen, dass es möglich ist, diese Aufgabe in nur acht Minuten zu erledigen.

Die Mitarbeiter der Abteilung sind bei der Lieferung abgeschlossener Projekte weitaus sicherer, da die Testumgebung mit der Produktionsumgebung identisch ist. Daher gibt es keine bösen Überraschungen mehr, wenn Projekte schließlich auf dem End-to-End-System getestet werden.

Insgesamt hat das Führungsteam der Abteilung das Projekt als erfolgreich eingestuft, da es bewiesen hat, dass diese Tools verwendet werden können, um die Art und Weise zu ändern, in der Umgebungen strukturiert, isoliert und betrieben werden können.

Um mehr über Service-Virtualisierung zu erfahren, besuchen Sie bitte: www.parasoft.com/blog/what-is-service-virtualization/

Von Parasoft

Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.

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