SOAPtest 4.0 zielt auf Webdienste ab

Während die meisten von uns im „sichtbaren“ HTTP-Austausch zwischen Browser und Webserver surfen, transportieren Webdienste immer mehr ansonsten unsichtbaren Datenverkehr. Mithilfe von SOAP führen Webdienst-Clients und -Server unsichtbare Gespräche, ähnlich wie Nachrichten, die über eine Unterfrequenz übertragen werden.

Sie mögen unsichtbar sein, aber diese Gespräche sind wichtig: Immer häufiger werden Webdienste verwendet, um wichtige Geschäftstransaktionen durchzuführen.

Der SOAP-Test von Parasoft ist eines von immer mehr Tools, die diese zunehmend kritischen Anwendungen testen. Obwohl der Name impliziert, dass die einzige Aufgabe darin besteht, Probleme in SOAP-Nachrichten zu identifizieren und zu diagnostizieren, bietet SOAPtest umfassende Regressions-, Einheiten- und Sicherheitstests für Webdienste und Webdienst-Clientanwendungen.

Version 4.0 fügt Funktionen hinzu, die die Verwendung von SOAPtest einfacher machen als die früheren Editionen. Außerdem werden neue Testkategorien hinzugefügt. Beispielsweise stellen die neuen Sicherheitstests von SOAPtest fest, wie gut Ihr Webdienst vor Angriffen böswilliger Benutzer geschützt ist.

Eingeschäumt werden

SOAPtest hat zwei Hauptanwendungen, fungiert jedoch in beiden Fällen als automatischer Testgenerator.

Zunächst werden statische WSDL-Überprüfungstests für den Inhalt des WSDL-Dokuments eines Webdienstes erstellt. Die von SOAPtest erstellten Tests prüfen nicht nur die korrekte WSDL-Syntax, sondern auch die korrekte WSDL-Semantik. Beispielsweise wird die interne Konsistenz des Dokuments überprüft.

Zweitens liest SOAPtest den Inhalt des WSDL-Dokuments und erstellt Komponententests für die Methoden des Webdienstes. SOAPtest kann seine Tests auch aus den UDDI-Informationen des Webdienstes sowie aus einer HTTP-Verkehrsprotokolldatei erstellen, an der Webdienste beteiligt sind.

Obwohl diese Komponententests als einfache Einzelaufrufe von Webdienstmethoden beginnen, bleiben sie nicht so. Sie können einen Test einfach so konfigurieren, dass er wiederholt ausgeführt wird, indem Sie die Folge von Eingabeparametern aus einer Datentabelle, einer durch Kommas getrennten Datei, einer Excel-Tabelle oder einer Datenbank ziehen. Wenn Sie einem bestimmten Test mehr Intelligenz verleihen möchten, können Sie das Verhalten des Tests mit Skripten erweitern, die in Jython (Python in Java geschrieben), Java oder JavaScript geschrieben sind.

Dies ist die wahre Kraft von SOAPtest. Beginnend mit einem kleinen, einfachen Satz statischer und dynamischer Tests, die automatisch von einem Assistenten generiert werden (eine der neuen Funktionen von SOAPtest 4.0), können Sie diese Tests erweitern, duplizieren und ändern, um im Lego-Stil einen immer leistungsfähigeren Test zu erstellen Suite. Tests werden nacheinander ausgeführt; Durch ordnungsgemäße Bestellung von Tests können Sie eine lange Sitzung zwischen Webclient und Webdienst simulieren.

Ich habe SOAPtest auf zwei Beispiel-Webdiensten ausgeführt, mit denen ich verschiedene ASP.Net-Funktionen untersucht habe. Die beste Funktion des Tools ist die scheinbar sofortige Erstellung von Tests und die ebenso schnelle Möglichkeit, diese Tests iterativ zu erweitern und zu ändern. Mit SOAPtest konnte ich meine Tests so zusammenstellen, dass aus einer Sammlung von Komponententests eine Reihe von Funktionstests entstand. Und während dieses Prozesses musste ich mich nie in den Quellcode bücken.

Sicherheitsscheinwerfer

Mit SOAPtest können nachfolgende Tests Daten aus vorhergehenden Tests als Eingaben verwenden. Auf diese Weise können Sie einen „Mock“ -Workflow eines Benutzers erstellen, der eine komplexe Reihe von Transaktionen mit dem jeweiligen Webdienst ausführt. Indem Sie Tests auf der Grundlage einer Suite schrittweise überlagern, erstellen Sie ein umfassendes Projekt, das - insgesamt gesehen - größer ist als die Summe seiner Teile.

Ebenfalls neu in SOAPtest 4.0 ist die Fähigkeit, Angriffe gegen einen Webdienst zu starten, um dessen Sicherheitslücken zu testen. Die neuen Sicherheitstests, die derzeit von SOAPtest generiert werden, umfassen - ohne darauf beschränkt zu sein - Parameter-Fuzzing, das unregelmäßige Parameter übergibt, die dazu führen können, dass der Webdienst eine Ausnahme auslöst oder Informationen preisgibt, die er nicht sollte. XML-Bomben, die gezündet werden, wenn eine XML-Entität in einer DTD rekursiv definiert wird, wodurch ein XML-Parser das einschließende Dokument auf eine nicht verwaltbare Größe erweitert. SQL-Injection, bei der unerwünschte Zeichenfolgen in den Text einer SQL-Abfrage eingefügt werden, wodurch die Anwendung eine Ausnahme auslöst oder falschen SQL-Code ausführt. und Angriffe auf externe XML-Entitäten, die die Fähigkeit einer DTD ausnutzen, eine externe Referenz zu erstellen.

Als ob das nicht genug wäre, erweitert Version 4.0 auch die Leistung und den Lasttest von SOAPtest. Jetzt können Sie mehrere Clients simulieren und deren Auswirkungen anzeigen, die Anforderungen an Ihren Webdienst senden, und die Entwicklung der Simulation grafisch optimieren. Sie können beispielsweise sehen, wie sich Ihr Webdienst verhält, wenn Clientanforderungen mit einer allmählichen Linearität zunehmen, plötzlich einen Spitzenwert erreichen oder in einer Glockenkurve steigen und fallen.

Schließlich ist SOAPtest 4.0 nicht auf das Testen von Webdiensten beschränkt. Es wird auch ein Webdienst-Client ausgeführt. Indem Sie SOAPtest so konfigurieren, dass es als Webdienst selbst fungiert, ahmen Sie den Server nach. Als solches kann überprüft werden, ob Clients ordnungsgemäße Anforderungen stellen. Dies ist eine wertvolle Funktion, da Sie damit die "gesamte" Webdienstanwendung - Client und Dienst / Server - anstelle nur des Dienstes testen können.

Blitzblank

Die Stärke von SOAPtest 4.0 liegt in der Leichtigkeit und Flexibilität, mit der Sie Tests erstellen und ändern können. Innerhalb von Sekunden können Sie einen Test erstellen, ausführen und die Antwort untersuchen. Wenn der Test gut aussieht, fügen Sie ihn Ihrer Suite hinzu. Wenn nicht, ändern oder erweitern Sie es - oder werfen Sie es weg und erstellen Sie ein neues.

SOAPtest 4.0 geht effektiv diese enge Grenze zwischen vollständig codefrei (damit der Assistent die Tests erstellen kann) und anpassbar (Codierung eines beteiligten Skripts von Hand). Dieses Gleichgewicht macht es für QS-Ingenieure und -Entwickler nützlich. Da Sie es über die Befehlszeile ausführen können, kann es problemlos in automatisierte Builds integriert werden. Wenn Sie seriöse Webdienste erstellen, benötigen Sie SOAPtest.

Scorecard Skalierbarkeit (20,0%) Setup (10,0%) Dokumentation (20,0%) Leistung (20,0%) Interoperabilität (20,0%) Wert (10,0%) Gesamtpunktzahl (100%)
Parasoft SOAPtest 4.0 8.0 9.0 8.0 10.0 8.0 9.0 8.6