3 Lasttesttools
3.4.2 Neotys Neoload [24]
Neoload ist ein kommerzielles Last- und Performancetesttool der Firma Neotys. Die Firma Neotys hat sich auf die Entwicklung von Performancetools spezialisiert und mit Neoload ein einfach zu bedienendes Lasttesttool auf den Markt gebracht, das viele sinnvolle Funktionen in einer Anwendung vereint.
3.4.2.1 Überblick
Die in Neoload integrierten Funktionen ermöglichen es in kurzer Zeit Last- und Performancetests in leichtgewichtigeren Webanwendungen durchzuführen, als auch das Erstellen von komplexen Testszenarios für das Testen schwergewichtiger Anwendungen zu unterstützen. Funktionen, wie das einfache Wechseln von Serveradressen zum Testen von Entwicklungs-, Qualitätssicherungs- oder Produktivsystemen, die Möglichkeiten verschieden Testabläufe - über die Zeit konstante, steigende oder wechselnde parallele Nutzerzahlen - zu definieren, als auch die Möglichkeit realistisches Nutzerverhalten zu simulieren, machen Neoload zu einem attraktiven Produkt für vielseitige Anwendungen.
3.4.2.2 Unterstützte Systeme, Protokolle
Neoload unterstützt das Testen von Webanwendungen und verschiedener Servertechnologien - J2EE, .NET, PHP, ASP, CGI. Neben den gängigen Protokollen http/https kann Neoload verschiedenste Features verarbeiten - Cookies, Basic Authentication, NTLM authentication, Redirection, URL Rewriting.
3.4.2.3 Szenario-Unterstützung ( request-flow )
Die Firma Neotys hat mit Ihrem Last- und Performancetool Neoload besonderen Wert darauf gelegt, eine möglichst realistische Simulation des Nutzerverhaltens zu erstellen. Es ist nicht nur möglich, einzelne Nutzer Anfragen auf vorherige Anfragen reagieren zu lassen, sondern auch dynamisch zu parametrisieren. Testszenarios können für einen ausgezeichneten Nutzer erzeugt, bearbeitet und dann für eine Menge von virtuellen Nutzern aufbereitet werden. Es ist weiterhin möglich, verschiedene Testszenarios verzahnt auszuführen, wobei auch die Verteilung des Auftretens berücksichtig werden kann.
3.4.2.4 Parallele Nutzerzahl ( virtual users )
Die mögliche parallele Nutzerzahl auf einem Rechner ist abhängig von den Einstellungen und der Art des erzeugten Szenarios. Neoload ermöglicht für jeden Request, den ein virtueller Nutzer ausführt, eine Verzögerung anzugeben, die der Denk- und Reaktionszeit eines realen Nutzers entsprechen kann. Laut Dokumentation unterstützt Neoload auf einem 2,4Ghz Pentium IV bis zu 1500 Anfragen pro Sekunde. Das heißt, wenn die Verzögerungszeit für jede Anfrage 2 Sekunden beträgt, können auf diesem Lastclient bis zu 3000 parallele Nutzer verarbeitet werden. In der Praxis sollte man aber von geringeren Werten ausgehen und die Möglichkeit wählen, Neoload als verteilte Anwendung zu nutzen.
3.4.2.5 Verteilte Anwendung (distributed)
Neoload besitzt als Steuerungsinstanz eine graphische Oberfläche, welche quasi beliebig viele Lastclients verwalten kann. Die Kommunikation zwischen der Steuerungsinstanz und den Clients verläuft über einzelne TCP/UDP-Ports. Auf den Lastclients muss der Agentenprozess von Neoload gestartet werden, die restliche Arbeit wird von der Steuerungsinstanz vorgenommen - das Übertragen der Testskripte, das Steuern der Lastclients und das Verarbeiten der gesammelten Ergebnisse.
3.4.2.6 Testskript-Erzeugung (recording)
Mit dem Tool Neoload erfolgt die Testskripterzeugung über die graphische Oberfläche der Steuerungsinstanz. Hier ist es möglich, einzelne Anfragen zu definieren und zu parametrisieren. Ein weiterer Weg ist das Aufnehmen der entsprechenden Nutzeraktionen. Während dieses Vorganges werden neben den notwendigen Informationen der Anfragen auch ein Screenshot der besuchten Seiten abgespeichert. Alle Anfragen werden in einer Baumstruktur dargestellt und können weiter bearbeitet werden. Dies erleichtert das Erzeugen von Testszenarios sehr.
Nachdem eine Sammlung von Anfragen angelegt ist, können alle oder auch nur Teile davon einem ausgezeichneten virtuellen Nutzer zugewiesen werden. Dieser virtuelle Nutzer steht hierbei für ein Klasse von Nutzern. Erst in späteren Schritten wird die Anzahl der tatsächlichen Testnutzer für diese Klasse festgelegt. Auch hier stellt Neotys viele nützliche Funktionen bereit. Neben Möglichkeiten der Dynamisierung der Parameter von Logindaten oder Formularwerten durch Werte aus Zählern, Listen oder Dateien, können Variablen definiert werden, die für jeden Nutzer erst zur Laufzeit gefüllt werden, nachdem sie aus vorherigen Anfragen extrahiert wurden.
Zum Abschluss der Erstellung des ausgezeichneten virtuellen Nutzers ist ein Validierungstool integriert, das die Korrektheit des Testfalls überprüft.
3.4.2.7 Monitoring der Clients und Server
Während der Erstellung der Testszenarios erfolgt die Auswahl der zu überwachenden Komponenten. Neoload unterstützt das Auslesen einer Vielzahl von Performancezähler - CPU-Zeiten, Datendurchsatz, Speicherverbrauch und viele mehr. Diese können während der Durchführung der Tests dargestellt werden. Standardmäßig werden CPU-Auslastung und Speichernutzung der Lastgeneratoren angezeigt.
3.4.2.8 Analyse-Möglichkeiten
Nach der Durchführung eines vollständigen Tests wird von Neoload standardmäßig ein Bericht erstellt, der neben Graphen über den Ablauf der Tests - Nutzerzahl, Anzahl der Anfragen, durchschnittliche Antwortzeiten und Fehleranzahl - auch für jede Anfrage die wichtigsten Informationen auflistet. In die Berichte können weitere definierte Informationen einfließen.
Alle gesammelten Daten können nach Beendigung des Tests visualisiert und gefiltert oder als csv- oder html-Dateien exportiert werden.

Abbildung 3.4-4 - Neoload - Überblick über Testergebnisse
3.4.2.9 Bedienbarkeit
Neoload ist einfach zu installieren. Die graphische Oberfläche der Steuerungsinstanz ist übersichtlich und gut durchdacht. Auf den Lastclients müssen einzig die Agentenprozesse gestartet werden, welche dann automatisch von der Steuerungsinstanz erkannt und eingebunden werden.
Die vielen Funktionen von Neoload lassen sich nach einer kurzen Eingewöhnungsphase einfach handhaben und ermöglichen ein komfortables Arbeiten bei der Erstellung der Testszenarios und der Durchführung der Tests.
Performancetest Bottleneck Testtool Mercury Virtuelle User Testverfahren




