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

Fallstudie: API-Tests und Service-Virtualisierung reduzieren die Testzeit um das 20-fache

Von Parasoft

14. Mai 2014

4  min lesen

Die Herausforderung: Beschleunigung des Testens in parallelen und agilen Entwicklungsumgebungen

Ignis Asset Management (von Standard Life Aberdeen übernommen) ist eine globale Vermögensverwaltungsgesellschaft mit Hauptsitz in London und einem verwalteten Vermögen von über 100 Mrd. USD. Ignis hat kürzlich ein großes Projekt gestartet, das darauf abzielt, das Backoffice auszulagern sowie die Architektur und Anwendungen zu implementieren, die zur Unterstützung des Outsourcing-Modells erforderlich sind.

„Um die Anforderungen des Unternehmens zu erfüllen, müssen eine Reihe von Projekten parallel entwickelt und durchgeführt werden“, erklärte Aaron Martin, Programmtestmanager bei Ignis. „Wir hatten jedoch nicht die Ressourcen, das Budget und die Verwaltungskapazität, die erforderlich waren, um mehrere Testumgebungen intern zu erstellen und zu warten. Dieser eingeschränkte Zugriff auf die Testumgebung beeinträchtigte unsere Fähigkeit, die Anwendung jeder Anwendung unter Test (AUT) -Integration in Architekturen von Drittanbietern zu validieren. Darüber hinaus hatten unsere Drittanbieter nur eingeschränkten Zugriff auf die Testumgebung, was die Zeit und den Umfang ihrer gemeinsamen Integrationstests einschränkte. “

Gleichzeitig stellte das Unternehmen auf eine agile Entwicklungsmethode um. Um diese Initiative zu unterstützen, mussten sie eine automatisierte Testlösung einführen, um nach jedem Build ein schnelleres Feedback zu erhalten.

Es stellte sich schnell heraus, dass der bestehende Testprozess optimiert werden musste, um diesen neuen Anforderungen gerecht zu werden. Die Ausführung des Kerntestplans erforderte 10 Manntage. Dieser Prozess umfasste die manuelle Eingabe von Transaktionen in die ursprüngliche Anwendung, die nicht das primäre AUT war. Darüber hinaus erstellten sie manuell einfache Stubs, um Interaktionen mit Komponenten von Drittanbietern zu simulieren, die nicht integriert waren. Damit vollständige Tests in einer agileren, parallelen Entwicklung durchgeführt werden können - ohne dass zusätzliche Testumgebungen erstellt und gewartet werden müssen -, waren folgende Möglichkeiten erforderlich:

  • Ermöglichen Sie das Testen von Anwendungen (oder Teilen der Zielarchitektur) anhand der Ignis-Architektur, bevor Sie sie in das gesamte Ignis-System integrieren.
  • Simulieren Sie die Interaktionen des AUT mit Systemen von Drittanbietern, die noch nicht in das Ignis-System integriert sind, effizienter.

Parasoft API-Tests und Service-Virtualisierung ermöglichen es Ignis, vor der Integration mit umfangreichen automatisierten Tests zu beginnen

Ignis implementiert API-Tests von Parasoft und  Parasofts Service-Virtualisierung Lösungen zur Einrichtung eines Testautomatisierungs-Frameworks, das nicht nur die oben beschriebenen Herausforderungen bewältigte, sondern auch dazu beitrug, die Testautomatisierung auf den gesamten SDLC auszudehnen.

Ignis 'erste Implementierung der API-Testlösung konzentrierte sich auf die Automatisierung der Generierung von Auftragsverwaltungsdatenverkehr auf API-Ebene. Das AUT war die Nachrichtenarchitektur, die mit Komponenten von Drittanbietern verbunden ist - sowohl vorhandene Dienste, die von Geschäftspartnern bereitgestellt werden, als auch Dienste, die parallel von Outsourcing-Anbietern implementiert werden. Aus der Anwendung, die den Auftrag initiiert, wurden Live-Handelsszenarien verwendet, um ihre grundlegenden Testtransaktionen zu bilden. Mit SOAtest (Parasofts API-Testtool) konnten sie den vollständigen Transaktionstestplan ausführen und neue Instanzen der Nachricht aus einer Datenquelle generieren. Diese datengesteuerte Nachrichtenerstellung nutzte Funktionen wie die Fähigkeit von SOAtest, Attribute zu aktualisieren, um eindeutige IDs zu erstellen, Daten festzulegen und Berechnungen durchzuführen.

Parallel zur Automatisierung der Funktionstests wurde Parasoft Virtualize (Service Virtualization Tool von Parasoft) implementiert, um die erwarteten Transaktionsantwortnachrichten von Komponenten von Drittanbietern zu simulieren. "Erstens haben wir schnell ein einfaches virtuelles Asset implementiert, das eine positive Antwort auf alle generierten Transaktionen liefert und es uns ermöglicht, Antworten von Drittanbietern zu simulieren, ohne Stubs manuell zu entwickeln und zu verwalten", erklärte Martin. "Die virtuellen Assets wurden dann erweitert, um komplexere Antwortszenarien zu bewältigen."

Ignis implementierte auch automatisierte Tests und virtuelle Assets, um ausgelagerte Komponenten zu testen, die vollständig von der Ignis-Umgebung entkoppelt sind. Sie nutzten dies, um ein „Qualitätstor“ einzurichten, das vor dem Übergang in die Integrationsphase bestanden werden musste. Martin bemerkte: "Dies war sehr nützlich, da die Codequalität schlecht war und wiederholte Tests in unserer integrierten Umgebung andere Ergebnisse beeinflusst hätten."

Nutzung von Supero zur Umwandlung eines manuellen Testprozesses in einen automatisierten

Da Ignis-Testressourcen keine Erfahrung mit Testautomatisierung oder Servicevirtualisierung hatten, haben sie die Hilfe eines Automatisierungsentwicklers in Anspruch genommen, um ihre Testanforderungen im Parasoft-Ökosystem auszubauen. Ignis verlobt Supero-Lösungen Verwaltung der Implementierung und der laufenden Testanforderungen, da diese über umfangreiche Erfahrung in der Implementierung und Verwendung von Parasoft verfügen. Ignis hat jetzt alle manuellen Testressourcen an einem Ort durch Supero-Ressourcen ersetzt.

Das Know-how von Supero war entscheidend für den Aufbau automatisierter Tests innerhalb der Scrum-Teams, was ein Schlüsselfaktor für den Erfolg der agilen Ignis-Initiative ist. "Durch die Verwendung von Supero können wir unsere Ressourcen flexibel gestalten, um die Projektanforderungen zu erfüllen und gleichzeitig einen konsistenten Ansatz beizubehalten", sagte Martin.

Mit fortschreitender Implementierung wurde klar, wie wichtig es ist, dass ein Parasoft-Experte die richtige Grundlage legt. Von diesem Ausgangspunkt aus kann jede Ressource jetzt Testpläne über Parasoft ausführen und virtuelle Assets in der Testumgebung mit einer sehr minimalen Lernkurve aktivieren.

Ergebnisse: 20-fache Verkürzung der Testzeit

"Mit der integrierten Funktionstestautomatisierung und Servicevirtualisierung von Parasoft konnten wir die Ausführungs- und Überprüfungszeit für unseren Transaktionsregressionstestplan von 10 Tagen auf einen halben Tag reduzieren", so Martin. Diese Tests sind nicht nur automatisiert, sondern auch recht umfangreich. Um beispielsweise die Integration des Ignis-Systems in das Handelssystem eines Geschäftspartners zu testen, umfasst der vollautomatische Regressionstest von Ignis jetzt 300 Testszenarien in einem Ansatz auf UAT-Ebene - mit 12,600 Validierungsprüfpunkten pro Testlauf.

"Frühere Automatisierungsimplementierungen konzentrierten sich auf die Automatisierung von Tests auf UI-Ebene - mit unterschiedlichem Erfolg", fuhr Martin fort. „Wir haben festgestellt, dass wir stattdessen wirklich Transaktionsszenarien und Datenverkehr auf API-Ebene generieren müssen. Mit Parasoft können wir uns auf die zentralen Testanforderungen konzentrieren und mehr Wert aus unseren Investitionen in die Automatisierung ziehen. “

Die Lösung hat nicht nur die ursprünglichen Herausforderungen des Projekts bewältigt, sondern auch automatisierte Tests von der Komponenten- / Einheitenebene bis zur Systemintegration ermöglicht. Um diesen beeindruckenden Automatisierungsgrad zu erreichen, pflegten die Tester enge Beziehungen zum Entwicklungsteam. Jetzt wird die Rolle der Tester innerhalb des Unternehmens erhöht, und die Zusammenarbeit zwischen Entwicklung und Test hat ein Allzeithoch erreicht.

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.