Testen von XML-Webdiensten und XML-Anwendungen

Veröffentlicht: 18. Jul 2001 | Aktualisiert: 19. Jun 2004


Mit dem Aufstieg der lose gekoppelten Vernetzung und der XML-Webdienste ist in Organisationen der Bedarf an Tools entstanden, die diese Organisationen in die Lage versetzen, erfolgreiche Lösungen zu liefern, die sich komfortabel an die Bedürfnisse einer globalen Benutzerbasis anpassen lassen. Visual Studio.NET bietet nicht nur die branchenführenden Tools zum Erstellen von XML-Webdiensten und -Anwendungen, sondern enthält zudem erfolgsentscheidende Features zum Testen der Skalierbarkeit, Leistung und funktionalen Integrität dieser Anwendungen.

Auf dieser Seite

 Erstellen von Tests
 Konfigurieren von Tests
 Ausführen von Tests
 Analysieren der Ergebnisse
 Automatisieren von Tests
 Zusammenfassung

Anmerkung: Einige Features werden u.U. nicht in der auf dem Markt erhältlichen Visual Studio.NET-Version Beta 2 verfügbar sein.

Anwendungscentertest, ein neues Feature, das in Visual Studio.NET integriert wurde, ermöglicht es Entwicklern, Leistungseigenschaften festzustellen und Funktionstests von XML-Webdiensten und -Anwendungen innerhalb der Visual Studio.NET Entwicklungsumgebung durchzuführen.

Anwendungscentertest verfügt über erweiterte Skriptfunktionen, so dass Entwickler die relative Leistung analysieren können, indem sie viele gleichzeitige Seitenanforderungen bei einem XML-Webdienst oder einer XML-Anwendung simulieren. So können Entwickler schneller stabilere XML-Webdienste und -Anwendungen entwerfen.

In diesem Dokument werden wir die primären erstellbaren Testtypen und deren Attribute behandeln. Zu den Themen gehören:

  • Direktes Eingeben von Testszenarios

  • Einfaches Aufnehmen von Testszenarios mit einem Browser

  • Erweitern von Testszenarios durch Skripts

  • Konfigurieren und Speichern von Testszenarios zur späteren Wiederverwendung oder für Regressionsläufe

Wir konzentrieren uns anschließend auf die Ausführung der Tests, die zum Erzeugen der Anwendungslast, Aufzeichnen der Ergebnisse in Protokolldateien (mit Hilfe anpassbarer Berichte und Sichten zur Analyse der Leistung) und Automatisieren des Testprozesses verwendet werden.

Erstellen von Tests

Anwendungscentertest bietet zwei Arten von Tests: statische und dynamische Tests. Statische Tests verwenden eine Microsoft Excel-ähnliche Tabellenoberfläche. Für die Erstellung solcher Tests ist keine Programmierung erforderlich. Diese Tests werden über die Hauptbenutzeroberfläche von Anwendungscentertest erstellt. Dynamische Tests verwenden andererseits ein Objektmodell, das speziell zum Erstellen von Belastungstests konzipiert ist und das direkt über die integrierte Visual Studio.NET Entwicklungsumgebung (IDE) bearbeitet werden kann. Diese Tests können mit Hilfe von Microsoft Visual Basic Scripting Edition (VBScript), Microsoft JScript oder Perl erstellt werden.

Entwickler können die jeweilige Testart erstellen, indem sie eine Reihe unterschiedlicher Methoden einsetzen. Die Methoden werden nachfolgend beschrieben.

Test durch Browseraufzeichnung
Die Testerstellungsmethode "Browseraufzeichnung" wird über die Hauptbenutzeroberfläche von Anwendungscentertest aufgerufen. Wenn Sie einen Browseraufzeichnungstest erstellen, zeichnet Anwendungscentertest alle HTTP-Anforderungen auf, die von Ihrem Browser gesendet werden, während Sie sich in Ihrer Webanwendung bewegen. Somit wird das Erstellen eines genauen Tests vereinfacht, weil auch alle Inlinebilder mit aufgezeichnet werden, die ansonsten automatisch vom Browser angefordert würden. Sie haben die Option, entweder einen statischen oder einen dynamischen Browseraufzeichnungstest zu erstellen.

So erstellen Sie einen Test mit dieser Methode

  1. Klicken Sie auf der Symbolleiste auf die Schaltfläche New Test Wizard.

  2. Wählen Sie Record a new test, klicken Sie auf Next, und wählen Sie dann den entsprechenden Testtyp aus den Optionen des Assistenten.

  3. Klicken Sie auf die Schaltfläche Start Recording. Im Browser wird eine leere Seite geöffnet.

  4. Wechseln Sie zu der Seite bzw. Anwendung, so wie dies ein Besucher Ihrer Website machen würde.

  5. Wenn Sie fertig sind, halten Sie die Aufzeichnung an und geben dann einen Namen für Ihren neu erstellten Test ein.

Bild01

Abbildung 1. Erstellen eines Tests durch Browseraufzeichnung

Wird ein dynamischer Test gewählt, kann die Visual Studio.NET-IDE verwendet werden, um den Test zu bearbeiten und auszuführen. So kann der Code für die Anwendung einfach erstellt werden, wobei gleichzeitig die Funktions- und Leistungsinformationen innerhalb derselben Umgebung beibehalten werden.

Importieren einer Webserver-Protokolldatei
Wenn ein Webserverprotokoll verfügbar ist, z.B. wenn ein Protokoll von einer aktiven Produktionssite erstellt wurde, kann dieses Protokoll in das Tool importiert werden, um einen Test zu erstellen, der den Echtzeit-Webverkehr präzise simuliert. Webserver-Protokolldateien werden über die Hauptbenutzeroberfläche von Anwendungscentertest importiert.
So importieren Sie ein Protokoll

  1. Klicken Sie auf der Symbolleiste auf die Schaltfläche New Test Wizard.

  2. Klicken Sie auf Import, dann auf Web Server Log.

  3. Geben Sie Namen und Speicherort der zu importierenden Protokolldatei an, und wählen Sie anschließend weitere Importoptionen.

  4. Geben Sie einen Namen für den neuen Test ein, und klicken Sie auf Finish. Der Inhalt des Protokolls wird einem neuen statischen Test hinzugefügt.

Für Webserver-Protokolldateien muss das folgende Format eingehalten werden:

  • Microsoft Internet Information Services (IIS)-Protokolldateiformat

  • Gemeinsames NCSA-Protokolldateiformat

  • Erweitertes W3C-Protokolldateiformat

Bild02

Abbildung 2. Importieren einer Webserver-Protokolldatei

Ändern eines statischen Testes in einen dynamischen Test
Wenn Sie einen statischen Test mit Hilfe der oben genannten Testerstellungsmethoden erstellen, können Sie diesen im Handumdrehen in einen dynamischen Test konvertieren. Dynamische Tests bieten eine größere Flexibilität, da sie es dem Skript ermöglichen, die Antwort vom Webserver zu analysieren und bedingte Aktionen einzuleiten. Wenn Sie einen statischen Test konvertieren möchten, klicken Sie mit der rechten Maustaste auf den gewünschten Test und wählen im Kontextmenü den Befehl Convert to Dynamic Test. Die Konvertierung erfolgt in der Hauptbenutzeroberfläche von Anwendungscentertest. Sobald der Test konvertiert ist, kann er bearbeitet und in der Visual Studio.NET-IDE ausgeführt werden.

Bild03

Abbildung 3. Dynamischer Test

Konfigurieren von Tests

Sie können die Testeigenschaften verwenden, um die Anzahl der zu generierenden gleichzeitigen Anforderungen und die Eindeutigkeit der Anforderungen einzustellen. Wenn Sie die Hauptbenutzeroberfläche von Anwendungscentertest verwenden, müssen Sie mit der rechten Maustaste auf einen Test klicken, um die dazugehörigen Eigenschaften anzuzeigen. Wenn Sie die Visual Studio.NET-IDE verwenden, können Sie die Eigenschaften des ausgewählten Tests im Dialogfeld Projekteigenschaften anzeigen.

Alle Testtypen ermöglichen es dem Entwickler, entweder die genaue Zahl gleichzeitiger Browserverbindungen oder eine Zielanzahl von Anforderungen pro Sekunde anzugeben, die vom Tool automatisch empfangen werden. Tests werden für eine Anzahl von Iterationen oder eine Zeitdauer ausgeführt.

Die Eigenschaftenseiten für einen Test steuern auch, ob das Tool automatisch eindeutige Benutzer erstellt oder eine Schleife in einer vordefinierten Liste von Benutzernamen und Kennwörtern durchführt. Diese Option eignet sich für Websites, die verlangen, dass sich bestimmte Benutzer authentifizieren müssen.

Ausführen von Tests

Nachdem der Test erstellt und konfiguriert ist, klicken Sie mit der rechten Maustaste auf den Testnamen und wählen dann im Kontextmenü Run Test, um einen Testlauf durchzuführen. Während der Ausführung des Tests zeigt das Tool Laufzeitdaten an, die einen visuellen Status der Anforderungsrate und Feedback zu eventuellen Fehlern liefert, die während des Belastungstests auftreten können.

Bild04

Abbildung 4. Anzeigen der Testergebnisse während der Ausführung

Analysieren der Ergebnisse

Eine Analyse der Leistungstestergebnisse ist entscheidend, um eine erfolgreiche Feinabstimmung des XML-Webdienstes oder der Anwendung durchführen zu können. Anwendungscentertest bietet eine Fülle von Standardberichten, die mit XML erstellt wurden und von Entwicklern bequem angepasst werden können, um die Informationen zu beschreiben, die für ihre Anwendungen relevant sind.

Zu den standardmäßigen Informationen, die beim Ausführen der Tests in der Visual Studio.NET-IDE verfügbar sind, zählen folgende:

  • Anforderungen pro Sekunde

  • Zeit bis zum ersten Byte (Antwortzeitmetrik)

  • Zeit bis zum letzten Byte (Antwortzeitmetrik)

  • TCP- und HTTP-Fehler

  • Anzahl erfüllter Anforderungen

Die Benutzeroberfläche von Anwendungscentertest enthält detaillierte Informationen zu den Ergebnissen eines Tests. Der Bereich Results enthält mehrere vordefinierte Diagramme, die die am häufigsten angeforderten Leistungsmetriken anzeigen.

Entwickler können auch die benutzerdefinierte Diagrammoption verwenden, um ein Diagramm zu erstellen, das Metriken aus mehreren unterschiedlichen Tests und eine beliebige Anzahl von Läufen enthält, die aus diesen gesamten Tests gestartet wurden. Darüber hinaus enthalten die Ergebnisse Tabellendaten, die die relative Leistung aller getesteter Seiten sowie allgemeine Testinformationen und Einstellungen anzeigen.

Bild05

Abbildung 5. Verwenden der benutzerdefinierten Diagrammoption

Automatisieren von Tests

Anwendungscentertest ermöglicht es Entwicklern, den Testprozess durch Verwendung des Anwendungsobjektmodells zu automatisieren, das das Testtool von Anwendungscentertest steuert. Das Anwendungsobjektmodell ist über Microsoft Visual Basic für Applikationen (VBA), andere Skripterstellungssprachen, die COM verstehen, und über alle Visual Studio.NET-Sprachen aufrufbar. Dies ermöglicht es Entwicklern, leistungsstarke Testreihen zu erstellen, die automatisch ausgeführt werden können, und vereinfacht in enormer Weise den Prozess der Ausführung von Regressionstests und anderen Routinetasks.

Zusammenfassung

Visual Studio.NET bietet branchenführende Tools für die Erstellung von XML-Webdiensten und -Anwendungen. Ein entscheidender Faktor für den Kundenerfolg beim Erstellen und Vertreiben dieser Anwendungen ist die Gewährleistung einer Skalierfähigkeit der Leistung, um globale Benutzerströme unterstützen zu können. Außerdem müssen Kunden die Funktionsunversehrtheit ihrer XML-Webdienste und -Anwendungen überprüfen, um die Geschäftsanforderungen zu erfüllen. Als Lösung dieser Probleme enthält Visual Studio.NET Anwendungscentertest in die IDE integrierte Features zur Durchführung von Belastungs-, Last- und Funktionstests an XML-Webdiensten und XML-Anwendungen. Organisationen haben so ein kosteneffektives Mittel, um einen Testzyklus in einer frühen Projektphase zu implementieren und das Testen als Teil eines Gesamtlebenszyklus der Anwendung durchzuführen. Die von Entwicklern generierten Tests können bequem von Test- und Operationsgruppen wieder verwendet und automatisiert werden, um einen maximalen Wirkungs- und Deckungsgrad zu erzielen. All dies führt zu einem leichter vorhersehbaren und unterstützbaren Prozess der Anwendungsentwicklung.


Anzeigen: