Testautomatisierung mit SoapUI - Effizientes Testen von Webservices und Schnittstellen

🕒 Lesedauer: 2 Minuten

Image
Testautomatisierung mit SoapUI

 

SoapUI ist eines der besten Testautomatisierungs-Tools, um Webservices jeglicher Art zu testen, genauer gesagt, um automatisierte Integrationstests von Schnittstellen durchzuführen, das auch von Nutzern, die wenig Programmierkenntnisse mitbringen, genutzt werden kann. Im folgenden Artikel werden wir Ihnen Tipps geben, wie man mit diesem Tool am besten umgeht, damit Sie Ihre Qualitätssicherung noch effizienter machen können.

Image
Testautomatisierung mit SoapUI

Testautomatisierung mit SoapUI - Überblick

SoapUI wurde anfänglich von Eviware Software und seit 2011 von der Firma SmartBear Software weiterentwickelt. SoapUI Open Source ist die Basisversion und kostenlos verfügbar. Es gibt auch eine kommerziell kostenpflichtige Version, SoapUI Pro, die über erweiterte Funktionalitäten und Support verfügt. SoapUI Pro war früher eine eigenständige Software, heute ist sie eine Komponente von ReadyAPI.

Preismodelle und Lizenzoptionen

Bei der Wahl einer Software wie SoapUI ist es wichtig, die Preise und Optionen zu kennen. Das Testautomatisierungstool hat eine Free- und eine kostenpflichtige Pro-Version. Diese unterscheiden sich in Funktionen und Preisen. So gibt es für jedes Budget und jede Anforderung das passende Modell.

Die Free-Version ist perfekt für kleine Projekte oder für das Testen der Software. Die Pro-Version bietet mehr Funktionen, wie bessere Sicherheitstests. Für große Projekte sind die Enterprise-Lösungen die beste Wahl. Sie bieten viele Funktionen, sind skalierbar und haben individuellen Support.

Kostenlose vs. Pro-Version

Die Free- und Pro-Versionen von SoapUI unterscheiden sich in Funktionen und Preis. Die Free-Version ist kostenlos und bietet Basisfunktionen. Die Pro-Version ist teurer, bietet aber mehr Funktionen. Die Entscheidung hängt von den Bedürfnissen des Projekts ab.

Enterprise-Lösungen

Die Enterprise-Lösungen von SoapUI sind für große Unternehmen und komplexe Projekte gedacht. Sie bieten viele Funktionen, sind skalierbar und haben individuellen Support. Die Preise für diese Lösungen sind individuell und passen sich den Bedürfnissen des Unternehmens an. Die Lizenzoptionen sind flexibel und können angepasst werden.

Projektaufsetzung

Typischerweise geht es bei einem Schnittstellentest darum, einem Webservice einen Befehl (Request) zu schicken und die Antwort (Response) zu überprüfen. Vor allem bei Projekten mit vielen einzelnen Requests ist es wichtig, das Projekt gut strukturiert aufzubauen.

Wie auch bei vielen anderen Softwareprojekten, steht bei einem SoapUI-Projekt als erster Schritt die Spezifikation an. Die Requests, welche Parameter zu schicken sind und welche Antworten zu welchem Zeitpunkt geschickt werden, sind alles erforderliche Angaben, um entsprechende Schnittstellentests zu erstellen. SoapUI bietet dabei die Möglichkeit, Schnittstellenbeschreibungen automatisch einzulesen. In SoapUI-Pro ist diese Option standardmäßig vorhanden. Für die Basisversion muss ein entsprechendes Plugin installiert werden. Dafür sollte die Beschreibung in Swagger geschrieben sein.

 

Image
SoapUI - Beispielprojekt

Bild: Beispielprojekt in der Basisversion von SoapUI. (Klicken zum Vergrößern) [Quelle: SoapUI]

Image
soap-ui-pro-testautomatisierung-beispielprojekt.png

Bild: Dasselbe Beispielprojekt in der Pro-Version von SoapUI. (Klicken zum Vergrößern) [Quelle: SoapUI]

 

Testerstellung und Testautomatisierung von Webservices

SoapUI gibt dem Benutzer die Möglichkeit, die Tests in sogenannten Test Suites zu gruppieren. Dies macht die Tests übersichtlicher und leichter zu warten.

Empfehlenswert ist es auch, die einzelnen Tests einfach zu halten. Statt eine lange Abfolge von mehreren Requests ist es oft effektiver, je Testfall nur einen Request zu testen. Dadurch wird eine große Abdeckung schneller erreicht.

Die Namen von Test Cases und Test Suites sollten aussagekräftig sein. Das ist auch später beim Reporting sehr nützlich. Geht es bei einem Testfall zum Beispiel um eine Suchanfrage, macht es Sinn, den Namen des Requests (z.B. „Search“), das erwartete Ergebnis („HTTP Status 200“) gleich im Namen zu vermerken (z.B. „SearchTest_HTTP200“).

Ein weiterer wichtiger Punkt ist die Parametrisierung. SoapUI bietet die Möglichkeit, auf Projekt-, Testsuite- oder auch Testcase-Ebene benutzerdefinierte Properties einzubinden. Diese Custom Properties zu benutzen ist empfehlenswert, vor allem bei Projekteigenschaften, die sich oft im Laufe des Projekts ändern, wie z.B. Endpunkten.

 

Image
soap-ui-ready-api-testautomatisierung-beispielstruktur.png

Bild: Beispielstruktur in SoapUI mit zwei Test Suites und jeweils zwei Test Cases. (Klicken zum Vergrößern) [Quelle: SoapUI]

 

Testdurchführung

Ist die Erstellung der Tests abgeschlossen, ist die Durchführung meist nur ein Knopfdruck entfernt. Die Tests können sowohl einzeln als auch in Testsuites gruppiert ausgeführt werden. Es gibt auch die Möglichkeit, alle Tests eines Projekts durchlaufen zu lassen. Nachdem die Tests gestartet wurden, erfolgt in der Regel eine protokollierte Ausgabe, die den Fortschritt und das Ergebnis jedes einzelnen Tests dokumentiert. Bei erfolgreichem Abschluss wird oft eine Zusammenfassung angezeigt, die die Anzahl der bestandenen und fehlgeschlagenen Tests auflistet. 
Im Falle eines Fehlers erhalten die Entwickler detaillierte Informationen, einschließlich Fehlermeldungen und Stack-Traces, die ihnen helfen, die Ursachen der Probleme zu identifizieren. Diese Rückmeldungen sind entscheidend für die Qualitätssicherung, da sie es dem Team ermöglichen, schnell zu reagieren und notwendige Anpassungen vorzunehmen.
Zusätzlich bieten viele Testframeworks die Möglichkeit, Tests automatisiert in kontinuierliche Integrations- und Bereitstellungsprozesse (CI/CD) zu integrieren. Dadurch wird sichergestellt, dass neue Codeänderungen sofort getestet werden, was die Wahrscheinlichkeit erhöht, dass Fehler frühzeitig erkannt und behoben werden.
Um die Wartbarkeit und Lesbarkeit der Tests zu gewährleisten, ist es wichtig, diese regelmäßig zu überprüfen und anzupassen. Auf diese Weise kann das Test-Framework mit der Entwicklung des Projekts Schritt halten und die Qualität des Endprodukts langfristig sichern. 

Reporting

SoapUI-Pro bietet die Option, Testreports zu erstellen. Von denen können verschiedene Arten erstellt werden, wie JUnit und Data Export. Es ist empfehlenswert, diese Reports regelmäßig zu erstellen, um den Verlauf der Entwicklung des Testobjekts besser mitzuverfolgen. Wer die Basisversion von SoapUI nutzt, wird auf Plugins oder Groovy-Skripte zurückgreifen müssen.

 

Image
soap-ui-testautomatisierung-report.png

Bild: Report in SoapUI erstellen. Das Reporting-Tool ist rot eingekreist. (Klicken zum Vergrößern) [Quelle: SoapUI]

 

Fazit

Obwohl die Erstellung von SoapUI-Schnittstellentests, wie bei allen automatisierten Tests, einiges an Aufwand benötigt, ist dieser lohnenswert. Durch die schnelle Durchführung, die bei Bedarf leicht wiederholt werden kann und dem ausführlichen Feedback durch das Reporting, sind SoapUI-Tests ein wichtiges Werkzeug für Webservice-Tester.

SoapUI Testautomation - FAQ

Was ist SoapUI und wofür wird es verwendet?

SoapUI ist ein Open-Source-Tool für das Testen von APIs. Es hilft dabei, Web-Services zu testen, zu validieren und zu simulieren.

Welche Hauptfunktionen bietet SoapUI?

SoapUI ermöglicht das Erstellen, Ausführen und Visualisieren von API-Tests. Es unterstützt auch die Simulation von Webservices und bietet Funktionen für Lasttests. Zudem können Berichte erstellt und exportiert werden.

Wie sieht die Benutzeroberfläche und Navigation in SoapUI aus?

SoapUI hat eine klare Dashboard-Ansicht und eine intuitive Werkzeugpalette. Es gibt viele Funktionen und Anpassungsmöglichkeiten für die Benutzeroberfläche.

Welche technischen Anforderungen hat SoapUI?

SoapUI benötigt Java 8 oder neuer und mindestens 2 GB RAM. Die genauen Anforderungen hängen von der Anwendung ab.

Welche Preismodelle und Lizenzoptionen bietet SoapUI?

SoapUI gibt es in einer kostenlosen Open-Source-Version und einer Pro-Version mit mehr Funktionen. Es gibt auch Enterprise-Lösungen mit individuellen Verträgen.

Wie gut ist die Integration und Kompatibilität von SoapUI?

SoapUI integriert sich gut in Entwicklungs- und Testumgebungen. Es ist kompatibel mit vielen anderen Tools und Systemen, wie für Continuous Integration.

Welche Schnittstellen werden von SoapUI unterstützt?

Als eine SOA (Service-Oriented Architecture) basierte Anwendung unterstützt SoapUI folgende Schnittstellen: Rest (Representational State Transfer), JDBC (Java Database Connectivity), JMS (Java Message Service). 

Was ist der Unterschied zwischen SoapUI und JMeter?

Der Hauptunterschied zwischen SoapUI und JMeter liegt in ihren spezifischen Anwendungsbereichen für Testing. SoapUI, als ein Open Source Testwerkzeug, ist besonders für Web Service Testing geeignet, da es WSDL Unterstützung bietet und es einfach macht, Soap- und JMS Dienste zu testen. Zudem können Tester Testsuites erstellen, um funktionale Tests durchzuführen, die sich leicht für Anfänger anpassen lassen. Es kann verwendet werden, um SoapUI Projekte zu erstellen, die verschiedene Services abdecken.

Im Gegensatz dazu ist JMeter hauptsächlich für Lasttests und Performancestests von Anwendungen konzipiert, das auch JDBC und AMF unterstützt. Es ist ein leistungsfähiges Tool, das in Kombination mit SoapUI verwendet werden kann, um die Softwarequalität zu erhöhen. Während SoapUI sich auf funktionales Testing (functional testing) konzentriert, bietet JMeter die Möglichkeit, die Leistungstests von Web Services zu optimieren. Beide Tools haben ihre eigenen Features und können in verschiedene Testprozesse integriert werden. 

Was sind die Vor- und Nachteile von SoapUI?

Ein großer Vorteil ist die Benutzerfreundlichkeit von SoapUI, welche durch die einfache Oberfläche unterstrichen wird. Außerdem trägt das Tool neben einer signifikanten Zeitersparnis auch zur Verbesserung der Softwarequalität bei.
Zu den Nachteilen zählen hingegen die relativ hohen Kosten für die Anschaffung der Pro-Variante sowie die steilere Lernkurve bei der Einarbeitung in die komplexeren Funktionen.  

 

 

Image
testautomatisierung-qualitaetssicherung-workshop.png

Veröffentlicht am 16.Dezember 2024

Aktualisiert am 09.Januar 2025

Wilson Campero

Geschäftsführer, Senior Testmanager

Wilson Campero ist IT-Unternehmer und Experte für Softwarequalität sowie ISTQB Certified Full Advanced Tester. Seit mehr als 20 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: