Das kleine 1x1 des Webservicetests

In Potsdam fand von 26. bis 28. September 2007 die „International Conference on Quality Engineering in Software Technology“, kurz CONQUEST, statt. ANECON zählte zu den vertretenen Ausstellern und unser Experte Harry M. Sneed hat das umfangreiche Angebot an Sessions und Workshops mit seinem Vortrag "Testing Web Services" bereichert.
Der vollständige Vortrag ist im Buch zur Konferenz "Business Process Engineering, Proceedings of the Conquest 2007" (ISBN 978-3-89864-489-1) erschienen.

Nachfolgend ein kurzer Auszug daraus:

Warum müssen Webservices getestet werden?

Serviceorientierte Architekturen (SOA) sind ein Thema, das derzeit sehr viele Unternehmen beschäftigt. Deren Implementation, z.B. mittels Webservices, ist eine Möglichkeit, verschiedene Arten von Systemen zu koppeln. Durch Systeme von unterschiedlichen Herstellern, verschiedene Schichten der Applikationen, die Verwendung von Alt- und Neusystemen und nicht zuletzt durch unterschiedliche Auffassung von Anforderungen ergibt sich ein großes Fehlerpotential bei der Verknüpfung und Verwendung von Webservices. Umso mehr Aufwand muss in den Test von Webservices investiert werden, um Kompatibilitätsprobleme aufdecken und lösen zu können.

Werkzeuge zur Unterstützung von Webservicetests

Am Markt existieren sehr viele Werkzeuge um Webservices zu testen. Tools, die gerade in ersten Versionen erscheinen, leiden hier oft an Qualitätsproblemen und der nötigen Reife. Gewachsenen Testwerkzeugen mangelt es oft an der Flexibilität, sich an die lokalen Gegebenheiten anzupassen. Auch die Fülle an unterschiedlichen Ansätzen der Werkzeuge macht eine detaillierte Evaluierung vor dem Einsatz unabdingbar.

Das Werkzeug WSDLTest

Das von Harry M. Sneed entwickelte WSDLTest ist ein Werkzeug zur Unterstützung bei automatisierten Webservicetests. Es verfolgt zwei Ansätze: So können zum einen Testdaten auf Basis des WSDL-Schemas des jeweiligen Webservice erstellt werden, die gewissen Regeln (Assertions) folgen. Beispiele dieser Regeln sind:
Bedingte Zuweisung:
assert new.Account_Status = "y"
   if(old.Account_Balance < "0");

Zuweisen einer Werteliste:
assert new.Account_Status = "0" ! "1" ! "2" ! "3";

Zuweisung einer Verknüpfung von Werten:
assert new.Account_Owner =
"Mr. " | Customer_Name | " from " | Customer_City;

Die so generierten Testdaten werden in Folge für den automatischen Aufruf der Webservices herangezogen.

Der zweite Ansatz von WSDLTest ist die automatische Validierung von Webservice-Ergebnissen gegen Soll-Werte. Auch hierfür werden die oben genannten Regeln verwendet, jedoch in Form von Prüfregeln, so bedeutet hier

assert new.Account_Status = "0" ! "1" ! "2" ! "3";

dass Account_Status nur gültig ist, wenn es den Wert 0, 1, 2 oder 3 hat. Die Prüfungen der Webserviceergebnisse gegen diese Regeln erfolgen automatisch, was eine Wiederholung des Tests im Zuge von Regressions- oder Retests ohne großen Aufwand ermöglicht.

Fazit

Durch die zunehmende Komplexität der Applikation und deren Vernetzung wird eine genaue Beschreibung und ein gründlicher Test von Webservices in Zukunft immer wichtiger. Nur so lassen sich Kompatibilitätsprobleme vermeiden. Eine weitgehende Automatisierung dieser Tests wird hier auch künftig durch die einfache Wiederholbarkeit und Wiederverwendbarkeit Aufwand sparen können. Infolgedessen werden auch die verfügbaren Werkzeuge, unter anderem WSDLTest, weiterentwickelt werden müssen, um den wachsenden Anforderungen gerecht zu werden.

Wenn Sie mehr zum Thema Webservicetests erfahren wollen, wenden Sie sich an unseren Experten Harry Sneed, der für Sie über unsere Experts Lounge erreichbar ist!

 
Zum Seitenanfang
Seite Drucken

Anecon Software Design und Beratung G.M.B.H. Alser Strasse 4 / Hof 1 A-1090 Wien Tel. +43 1 409 58 90-0 Fax -998 E-Mail Link