Agiles Testmanagement in der CI/CD Pipeline. Entdecken Sie jetzt unser neues E-Book!

Jetzt unser neues E-Book entdecken!

Lasttest (Load Testing) - Konzept und Tools

Der Lasttest bzw. Performancetest testet die Belastungsfähigkeit einer Softwareanwendung.
Lesedauer: 3 Minuten

Der Lasttest (engl. Load Testing) oder auch Performancetest ist eine der wichtigsten nicht funktionalen Softwaretests, um die Belastbarkeit von Systemen, wie beipsielsweise Web-Applikationen, zu prüfen. In diesem Artikel gehen wir näher auf diese Testart und die verfügbaren Tools wie JMeter, Grinder, HP Loadrunner und Silk Performer ein.

Stabilität und Verlässlichkeit mit dem Lasttest prüfen

Jedes Softwaresystem ist für eine bestimmte Arbeitslast konzipiert. Manche dieser Softwaresysteme sollen dabei mehreren Nutzern gleichzeitig dienen, wie es unter anderem bei Content-Management-Systemen der Fall ist. Andere müssen zusätzlich eine Flut von Daten rechtzeitig bearbeiten können. Ein Ausfall solcher Systeme kann teils erheblichen Schaden oder finanzielle Verluste verursachen. Deswegen ist es sehr wichtig, dass diese vor ihrem Einsatz einer Reihe von Lasttests unterzogen werden.

In einem Lasttest werden im zu testenden System, wie der Name schon sagt, Lasten erzeugt. Ziel ist es zu sehen, ob das System diese Last bewältigen kann. Es wird beispielsweise getestet, ob eine Webseite mehreren Besuchern gleichzeitig in akzeptabler Zeit Antworten schicken kann oder ob ein Textverarbeitungsprogramm eine große Datei öffnen kann.

Die vier Arten von Lasttest

Es gibt verschiedene Arten von Lasttests. Allerdings sind diese nicht immer einheitlich definiert. Allgemein können Lasttests aber in vier Kategorien zusammengefasst werden:

Kategorie 1: Der "klassische" Lasttest

Diese Art von Test ist gmemeint, wenn man schlicht vom Lasttest spricht. Die dahinterliegende Frage lautet "Kann mein System das, was es soll?". Das System wird daraufhin überprüft, ob es die in den Anforderungen genannten Lasten bewältigen kann. Ein kurzes Beispiel: Angenommen, wir testen eine Web-Applikation, die gleichzeitig bis zu 100 Nutzer bedienen und Antworten innerhalb von 3 Sekunden senden soll. In einem Lasttest würde man diese Anzahl von Nutzern simulieren und überprüfen, ob die Antwortzeiten die genannte Grenze nicht überschreiten.

Kategorie 2: Der Kapazitätentest

Beim Kapazitätentest geht man einen Schritt weiter. Hier wird gefragt "Was kann mein System?". Das System wird einem Test unterzogen, der dazu dient, seine maximalen Kapazitäten zu bestimmen. In unserem vorherigen Beispiel würde man die Web-Applikation nun nicht mit hundert Usern, sondern z.B. mit 110 Usern, dann mit 120 usw. testen, bis die in den Anforderungen spezifizierte Antwortzeit von 3 Sekunden überschritten ist.

Kategorie 3: Der Stresstest

Beim Stresstest geht man noch einen Schritt weiter – das System wird unter eine Last gestellt, die es so nicht stemmen kann. Hier wird die Frage beantwortet "Was passiert, wenn ich mein System überlaste?". Ziel ist es, das Verhalten des Systems unter extremen Belastungen zu überprüfen.

Nehmen wir an, der Kapazitätentest im vorherigen Beispiel hätte ergeben, dass die Web-Applikation maximal 150 simultane Nutzer bedienen kann, ohne dass die Antwortzeiten die vorgegebenen 3 Sekunden überschreiten. Nun wird die Applikation mit 200, 300 oder mehr Nutzern getestet. Wie lange sind die Antwortzeiten? Wann stürzt die Applikation ab? Wie wird mit so einem Absturz umgegangen? Diese und ähnliche Fragen versucht der Stresstest zu beantworten.

Kategorie 4: Der Dauerlasttest

Viele Softwaresysteme arbeiten rund um die Uhr. Von daher stellt sich auch die Frage "Kann mein System auch dauerhaft arbeiten?". Bisher beschrieben wir Lasttests, die über einen kurzen Zeitraum ausgeführt wurden. Es ist aber wichtig zu überprüfen, ob das System auch über einen längeren Zeitraum korrekt funktioniert, ob z.B. Speicherlecks vermieden werden. Dies herauszufinden ist das Ziel des Dauerlasttests. Oft laufen diese Tests über einen oder mehrere Tage.

Beispiel: Unsere Web-Applikation soll 24 Stunden am Tag verfügbar sein. In einem Dauerlasttest, kombiniert mit einem „Standard“-Lasttest, wird nun überprüft, ob das System 100 User gleichzeitig über 36 Stunden bedienen kann.

Die Lasttest Tools

Nachdem wir nun die verschiedenen Arten von Lasttests beschrieben haben, stellen wir Ihnen nun kurz die verschiedenen Tools vor, mit denen man Lasttests durchführen kann.

Allgemein kann man die verfügbaren Performancetest bzw. Lasttest Tools in zwei Kategorien unterteilen. Es gibt einerseits die kostenlosen Open-Source-Projekte. Oft sind sie leicht erweiterbar und damit sehr flexibel. Die populärsten unter ihnen haben eine große Community, was dazu führt, dass der Software viele Plugins zur Verfügung stehen. Der Nachteil ist, dass bei diesen Programmen oft die Einarbeitungszeit länger ist und es keinen professionellen Support gibt.

In der zweiten Kategorie der Lasttest-Tools sind die kommerziellen Programme. Oft gibt es hier eine individuelle Betreuung und eine leichtere Einarbeitung. Der Nachteil sind die teilweise hohen Anschaffungskosten von einigen Hundert bis mehreren Tausend Euro.

JMeter - Performance Monitoring Tool

Die in Java geschriebene Open-Source-Software von Apache ist die wohl populärste unter den kostenlosen Last- Performace-Testtools. Ursprünglich wurde sie für Webanwendungen konzipiert, was auch weiterhin ihr Fokus ist. Sie wurde aber mittlerweile erweitert und bietet nun auch die Möglichkeit, andere Software zu testen, wie z.B. Datenbanken oder Message Oriented Middleware. JMeter unterstützt verschiedene Protokolle wie HTTP, HTTPS, SOAP, REST, FTP, JDBC, LDAP, JMS, SMTP und POP3.

Grinder - Performancetest-, Lasttest-Framework

Ebenfalls Open Source und sehr beliebt. Es ist in Jython und Clojure geschrieben und hat einen starken Fokus auf dem Testen von Software, die mit Java geschrieben ist.

HP LoadRunner

Das wohl bekannteste unter den kommerziellen Load-Testing-Tools von Hewlett-Packard ist ein sehr umfangreiches aber auch teures Performancetest bzw. Lasttest Tool. In einem weiteren Artikel erläutern wir Ihnen die Funktionsweise, sowie die Vor- und Nachteile von HP LoadRunner.

Silk Performer

Ein ebenfalls sehr umfangreiches Lasttest Tool von Micro Focus Borland.

Fazit

Load Testing ist heute in vielen Softwareprojekten unverzichtbar. Mit den richtigen Werkzeugen können Softwaretester diese Tests auf ihren Testobjekten erfolgreich ausführen. Gerne kümmern wir uns um das Aufsetzen, Durchführen und Auswerten der Lasttests in Ihrem IT-Projekt. Für eine umfassendere Beratung und Unterstützung bieten wir Ihnen auch komplette Testautomatisierungs-Lösungen an. Wir hoffen, dass dieser Artikel ein guter Einstieg für Sie in das Thema Load Testing ist und wünschen Ihnen viel Erfolg bei der Durchführung Ihrer eigenen Lasttests!

Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren. Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren.
09. August 2020

Über den Autor

Bild des Benutzers Wilson Campero
Geschäftsführer, Senior Testmanager
Wilson Campero ist IT-Unternehmer und Experte für Softwarequalität sowie ISTQB Certified Full Advanced Tester. Seit 13 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: