Testautomatisierung mit SoapUI - Effizientes Testen von Webservices und Schnittstellen

🕒 Lesedauer: 2 Minuten

Image
soap-ui-testautomatisierung-webservices.png

 

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

Überblick

SoapUI wurde anfänglich von Eviware Software und seit 2011 von der Firma SmartBear Software weiterentwickelt. Die Basisversion von SoapUI ist Open Source und kostenlos verfügbar. Es gibt auch eine kommerzielle 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.

Projektaufsetzung mit SoapUI

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 wann 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
soap-ui-testautomatisierung-beispielprojekt.png

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

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. Die Tests können sowohl einzeln als auch in Test Suites gruppiert ausgeführt werden. Es gibt auch die Möglichkeit, alle Tests eines Projekts durchlaufen zu lassen.

Reporting

SoapUI Pro bietet die Option, Testreports zu erstellen. Es können verschiedene Arten von Reports 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, lohnt sich dieser. 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.

 

Image
testautomatisierung-qualitaetssicherung-workshop.png

Veröffentlicht am 24.Januar 2019

Aktualisiert am 21.August 2024

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 13 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: