Über die Servicetestfunktionalität von
IBM® Rational Performance
Tester oder IBM Rational
Service Tester for SOA Quality werden Erstellung, Ausführung und Analyse von Funktions-, Regressions- und
Leistungstests für SOAP-basierte Web-Services automatisiert. Unterstützt werden dabei auch Java Message
Service (JMS), Websphere MQ, WebSphere Java MQ und Microsoft .NET Windows Communication Foundation (WCF) sowie jeder Service,
durch den XML-, Klartext- oder Binärdaten erzeugt werden.
Der Informationsgehalt von Tests hängt von einer einwandfreien Testentwicklung ab. Alle im Folgenden beschriebenen Schritte tragen zur Generierung aussagekräftiger Testergebnisse bei:
- Vorbereitung: Richten Sie die Testumgebung mit den Bibliotheken und Konfigurationsdateien ein, die für SOAP-basierte Web-Services oder angepasste Sicherheitsalgorithmen erforderlich sind. Sie können WSDL-Definitionsdateien (Web Service Description Language) und digitale Zertifikate, die von den Web-Services benötigt werden, importieren, um die Tests automatisch zu generieren. Sie können SOAP-Sicherheitsprofile mit Sicherheitsalgorithmen für die Web-Service-Aufrufe und -Nachrichtenrückgaben erstellen.
- Testerstellung: Erstellen Sie einen Test, indem Sie die Serviceanforderungen und -antworten entweder mit dem generischen Service-Client (Generic Service Client) oder mit einem vorhandenen Client oder einem Web-Browser über einen Recorder-Proxy aufzeichnen. Wenn Sie mit der Aufzeichnung begonnen haben, interagieren Sie mit dem Service, indem Sie Serviceaufrufe ausführen und Antworten empfangen. Sie können Servicetests auch manuell oder über ein synchrones BPEL-Modell (Business Process Execution Language) erstellen.
- Testbearbeitung: Nach der Aufzeichnung können Sie die Anforderungen und Antworten im Test bearbeiten. Mit XSD-Dokumenten (XML Schema Definition) können Sie die XML-Bearbeitung vereinfachen. Sie können aufgezeichnete Testwerte durch variable Testdaten ersetzen oder dynamische Daten zum Test hinzufügen.
- Funktionsprüfung: Sie können den Test ausführen, um sich zu vergewissern, dass der Service mit dem erwarteten Verhalten übereinstimmt, das in Prüfpunkte definiert ist. Während des Testlaufs wird jeder Prüfpunkt überprüft und auf den Status Test erfolgreich, Test fehlgeschlagen oder Ohne Ergebnis festgelegt.
- Leistungstest: Wenn Sie mit IBM Rational Performance Tester arbeiten, können Sie einen Ausführungszeitplan und Benutzergruppen angeben, um so eine Arbeitslast zu emulieren, die von einer großen Anzahl virtueller Benutzer generiert wird. Dann können Sie den Zeitplan ausführen und die Testausführung über virtuelle Benutzer implementieren, die sich auf fernen Computern befinden können. Jeder virtuelle Benutzer führt eine Instanz des Testclients aus. Die Reaktionszeiten werden gemessen und aufgezeichnet. Die Prüfpunkte werden geprüft und aufgezeichnet.
- Stubsimulation: Service-Stubs sind Funktionssimulationen eines vorhandenen Service. Service-Stubs werden verwendet, wenn ein Service ersetzt werden muss, der in einer Testumgebung nicht verfügbar ist oder nur unter großen Schwierigkeiten verwendet werden kann. Service-Stubs können auch verwendet, um bestimmte Daten in einen zu testenden Service einzugeben oder Prototypen zu erstellen. Sie können Stubs auf einem Stub-Server implementieren, der den tatsächlichen Server in der Test- oder Entwicklungsumgebung ersetzen kann.
- Auswertung der Ergebnisse: Sie werten die vom Test erzeugten Ergebnisse mithilfe der Leistungs- und Prüfpunktberichte aus, die während der Ausführung generiert wurden. Sie können auch eigene, angepasste Berichte entwerfen, indem Sie verschiedene Zähler bearbeiten. Funktionsberichte bieten eine umfassende Sicht zu dem Verhalten des Service, der getestet wird. Berichte können zur Auswertung exportiert und archiviert werden.
Tools für Servicetests
Im Produkt sind folgende Tools verfügbar:
- Der generische Service-Client. Mit diesem Client können Sie Serviceanforderungen für viele Transportprotokolle, Authentifizierungskonfigurationen und Sicherheitsprofile manuell ausführen, wodurch er ein äußerst vielseitig einsetzbarer Service-Client ist. Der Client ist ein vollwertiger Ersatz für einen dedizierten Client und kann zum Aufzeichnen von Serviceaufrufen sowie während der Entwicklung zum manuellen Testen und Debuggen eines Service verwendet werden. Wenn Sie den generischen Service-Client öffnen möchten, klicken Sie in der Symbolleiste auf die Schaltfläche Generic Service Client .
- Mit dem WSDL Security Editor können Sie ausgereifte Algorithmusstapel für Serviceanforderungen und -antworten festlegen. Algorithmusstapel enthalten Informationen zu digitalen Zertifikaten und die Sicherheitsalgorithmen, die auf Nachrichten angewendet werden, um eine sichere Kommunikation mit einem Web-Service zu gewährleisten. Algorithmusstapel setzen sich aus Blöcken zusammen, bei denen es sich um Schlüsseldefinitionen, Verschlüsselungs-, Zeitmarken- oder Signaturoperationen handeln kann, die einer beliebigen Operation in der WSDL-Datei zugeordnet werden können. Wenn Sie den WSDL Security Editor öffnen möchten, klicken Sie mit der rechten Maustaste auf eine WSDL-Datei in Ihrem Arbeitsbereich und wählen Sie WSDL-Sicherheit bearbeiten aus oder klicken Sie im generischen Service-Client auf die Schaltfläche WSDL Security Editor .
- Der Testeditor ist die Umgebung, in der Sie Tests entwickeln. Nach einer Aufzeichnung können Sie den jeweiligen Test ändern, indem Sie Datenkorrelationen oder Prüfpunkte hinzufügen. Sie können außerdem Schleifen und Bedingungen hinzufügen sowie jedes Detail der Serviceanforderungen bearbeiten.
- Mit dem Stub-Editor können Sie Service-Stubs erstellen. Im Stub-Editor können Sie mehrere Eingabebedingungen definieren, die Prüfpunkten ähneln. Jede Bedingung löst eine vordefinierte simulierte Antwort aus, die hinsichtlich der Funktion mit einer Antwort des simulierten Service identisch ist.
- In Rational Performance Tester können Sie mit dem Leistungszeitplan-Editor mehrere virtuelle Benutzer auf lokalen und fernen Computern implementieren, um für Leistungstests eine große Last zu generieren. Ein Zeitplan enthält normalerweise mehrere Tests und mehrere virtuelle Benutzer.