Definition „Software Performance Testing“

Was ist Performance Testing?

| Autor / Redakteur: Gedeon Rauch / Stephan Augsten

Performance Testing kann sich unter anderem mit der Frage befassen, wie eine Webanwendung unter Volllast noch läuft.
Performance Testing kann sich unter anderem mit der Frage befassen, wie eine Webanwendung unter Volllast noch läuft. (Bild: mohamed_hassan - Pixabay.com)

Qualität, Zuverlässigkeit, Skalierbarkeit und Leistung unter Belastung – all diese Aspekte muss gute Software erfüllen. Um zu gewährleisten, dass Software dies auch leisten kann, sind Performancetests unabdingbar.

Performance Testing wirft für Softwareentwickler verschiedene Fragen auf. Dies betrifft vor allem die Art der Tests und natürlich deren Zeitpunkt. Grundsätzlich wird unter dem Begriff Performance Testing jede Art von Softwaretest zusammengefasst, der Faktoren wie Leistung, Responsiveness, Skalierbarkeit, Stabilität, Zuverlässigkeit, Geschwindigkeit oder Ressourcenausnutzung auf die Probe stellt.

Verschiedene Testszenarien werden für verschiedene Attribute der Software eingesetzt und als Bericht zusammengefasst. Dabei gilt es, vor allem zu bedenken, dass einige Faktoren in Abhängigkeit zueinander stehen. Unterschiedliche Tests dürfen beim Performance Testing also nicht einzeln betrachtet werden, da es schließlich um die Gesamtperformance der Software für den Endkunden geht.

Letztlich erfordert die korrekte Auswertung der Ergebnisse aber auch, dass der Entwickler weiß, was er und seine Kunden letztlich von der Software erwarten. Performance Testing wird im Übrigen nicht ausschließlich für Software eingesetzt, auch Netzwerke und Computer müssen sich Leistungstests unterziehen.

Key Performance Indicator – einige Beispiele für Testresultate

Es gibt einige Schlüsselfaktoren, auf die Sie bei der Auswertung verschiedener Tests achten sollten und die Ihnen wichtige Indikatoren dafür liefern, wie Ihre Software sich verhält oder ob es Fortschritte im Vergleich zur letzten getesteten Version gab, beziehungsweise welcher Entwicklungszweig vielversprechender wirkt.

Zu diesen Key Performance Indikatoren zählen etwa die Zahl der virtuellen Nutzer, Aufrufe und Fehler pro Sekunde, Response Time, Latenzzeiten und durchlaufende Datenraten. Durch die Auswertung dieser Daten und ihrer Zusammenhänge können Sie Fehler im Programmablauf besser erkennen.

Gerade sogenannte Flaschenhälse, also einzelne Punkte, welche die Leistung einer Software einschränken, lassen sucg durch diese Form des Tests leichter identifizieren und schließlich beheben. Ein typisches Beispiel für so einen Flaschenhals ist etwa für moderne Apps die Datenübertragungsgeschwindigkeit. Software, die auf einen steten Datenfluss vom Server und zum Server hin angewiesen ist, wird schlecht abschneiden, wenn keine konstant hohe Verbindung gewährleistet werden kann.

Unterarten beim Performance Testing

Performance Testing wird generell in zwei Unterarten unterteilt, das Load und das Stress Testing. Beim Load Testing wird das Volumen der Belastung erhöht, dieser Performancetest zeigt daher auf, wie sich ein System unter einer Vielzahl von regelmäßigen, erwarteten Anfragen verhält. Load Testing kann dabei nicht nur die reine Quantität testen, sondern auch diffizilere Szenarien wie unterschiedliche Geo Locations ergründen.

Load Testing gehört dabei zu den Anforderungen, denen Apps und Websites beständig ausgesetzt sein sollten, um im Nutzungsfall für jeden User verfügbar zu sein. Ein typischer Load Test fügt etwa alle 60 Sekunden 50 virtuelle Nutzer hinzu bis die Zahl von 1.000 virtuellen Usern erreicht ist und lässt diese virtuellen Nutzer weiter Anfragen senden.

Im Gegensatz dazu wird Stress Testing durchgeführt, um zu ergründen, wie sich Software unter Höchstanforderungen verhält. Load Testing prüft quasi die Breite, Stress Testing die Spitze der Anforderungen. Stress Testing ist nicht nur wichtig, um die Performance, Response Time und Erholung des Systems zu testen, sondern auch um Sicherheitslücken zu schließen.

Grundsätzlich wird Stress Testing selbst in Soak Testing (langsame Erhöhung des Pensums) und Spike Testing (plötzliche Erhöhung als Ausschlag im getesteten Parameter) unterschieden. Stress Testing ist für Websites etwa ein wichtiger Indikator, um zu erkennen wie diese sich bei einem Ansturm von Nutzern verhalten.

Bietet ein Onlineshop etwa besonders günstige Deals zum Black Friday, so sollte das vorangegangene Stress Testing ergeben haben, dass Seite und Server der Vielzahl der zu erwartenden Anfragen auch standhalten können. Gerade hier ist ein Spike in der Nutzerrate erkennbar.

Anders als Load Testing müssen Sie Stress Testing nicht beständig durchführen, ein gelegentlicher Belastungstest hilft Ihnen aber dabei, sicherzustellen, dass Ihre Software auch härtesten Anforderungen gewachsen ist – vor allem vor größeren Events.

Plug-ins und Tools

Je nach Art des gewünschten Tests und zu untersuchendem Parameter haben Sie die Auswahl, welche Tools Sie nutzen möchten. Unter Apache wird das Tool JMeter häufig für Load Tests genutzt, auch LoadRunner ist eine beliebte Applikation im Bereich des Load Testing. Speziell für Apps entwickelte Tools wie NeoLoad helfen Entwicklern mobiler Software dabei, diese resistent gegen Ausfälle und leistungsfähig auf den Markt zu bringen.

In welcher Form auch immer ein Performancetests stattfindet, diese Form des Testlaufs ist entscheidend für die Nutzerzufriedenheit mit dem Produkt. Denn die Frustration nicht mehr antwortender Server, Seiten oder Apps gibt Usern eben das unschöne Gefühl, dass sie selbst als Softwaretester verpflichtet wurden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Einführung in Testbereiche und Varianten

Software Testing, Teil 1

Einführung in Testbereiche und Varianten

Jeder Software-Entwickler ist gleichzeitig auch Software-Tester – denn zumindest die selbst geschriebenen Funktionen spielt wohl jeder auch durch. Aber darüber hinaus? Das Feld der Tests reicht von einzelnen Units bis zur fertigen Software als Ganzes. Und in diesem weiten Feld gibt es etliche unterschiedliche Arten von Tests. lesen

Google präsentiert ML Kit

Neues Machine Learning SDK

Google präsentiert ML Kit

Google hat auf der I/O-Konferenz die Betaversion des ML Kit vorgestellt. Das SDK soll Googles Machine-Learning-Expertise auch Mobile-Entwicklern zugänglich machen. Daher wird es als Paket für die Entwicklungsplattform Firebase zur Verfügung gestellt. lesen

Performance von Anwendungen testen

Software auf dem Prüfstand

Performance von Anwendungen testen

Egal ob große Anwendung oder kleine App: Software-Performance-Testing sollte immer durchgeführt werden, um die Solidität unter Stresssituationen auf die Probe zu stellen. Zudem ist das Performance-Testing ein wichtiger Qualitätsfaktor. lesen

Was ist Performance Management?

Defintion „Software Performance“

Was ist Performance Management?

Eine unperformante und instabile Software bringt gleich mehrere Probleme mit sich. Im Rahmen des Performance-Managements werden die Antwortzeiten analysiert und mögliche Flaschenhälse bei der Datenverarbeitung aus der Welt geschafft. lesen

4 Aspekte zeitgemäßen Performance Managements

Software-Performance

4 Aspekte zeitgemäßen Performance Managements

Performance Management ist in der Anwendungsbereitstellung notwendig, um Probleme in Infrastruktur, Netzwerk und der Software selbst zu erkennen. Die Experten bei Riverbed haben vier Faktoren ausgemacht, die Unternehmen beim Performance Management beachten sollten. lesen

Optimierte Software-Entwicklung im laufenden Betrieb

Das Prinzip „DevOps“

Optimierte Software-Entwicklung im laufenden Betrieb

Die Mauern zwischen Entwicklung und Betrieb niederreißen und mehr Austausch zwischen Developern und Administratoren schaffen – das ist die Grundidee hinter DevOps. Doch auf dem Weg hin zur DevOps-Kultur wartet so mancher Stolperstein. lesen

App Performance testen und optimieren

Schnellere Mobile-Apps

App Performance testen und optimieren

Keiner mag langsame Apps. Gerade auf dem Smartphone stellen User hohe Ansprüche an die App-Performance: Inhalte sollen sofort da sein, Office-Anwendungen und Spiele sofort auf dem Bildschirm erscheinen. Es ist wichtig, die Geschwindigkeit der App zu optimieren, damit sie nicht gleich wieder deinstalliert wird. lesen

Die APM-Anbieter im Vergleich bei Forrester Research

Applikationen Performance Management

Die APM-Anbieter im Vergleich bei Forrester Research

Dank Online-Shopping haben Webseiten und die damit verbundenen Applikationen maßgeblichen Anteil an der Kundenerfahrung. Forrester Research vergleicht 14 Produkte für das Applikationen Performance Management (APM). lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45808313 / Definitionen)