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

DevOps goes Mainstream

Warum kein Weg mehr an DevOps vorbeiführt

DevOps goes Mainstream

Obwohl die Vorteile von DevOps offensichtlich sind, scheuen immer noch viele IT-Entscheider die Implementierung. In der Softwareentwicklung sind optimierte Verfahren heute allerdings wettbewerbsentscheidend. lesen

10 Open-Source-Tools für jedes Testszenario

Apps und Anwendungen aller Art analysieren

10 Open-Source-Tools für jedes Testszenario

Ob einfacher Syntax-Test für Skripte oder aufwändiger Blackbox-Test für komplexe Web-Anwendungen: Mit den passenden Tools geht das Testing flott und mit Freude von der Hand. Hier zeigen wir zehn Open-Source-Werkzeuge, die man kennen sollte. lesen

Testautomatisierung im Atlassian-Ökosystem

SmartBear bringt Testmanagement mit Jira in Einklang

Testautomatisierung im Atlassian-Ökosystem

SmartBear kündigt neue Integrationen zwischen der akquirierten Lösung Zephyr und den Testing-Tools SoapUI Pro, TestComplete, CrossBrowserTesting und LoadNinja an. Damit zielt der Anbieter darauf ab, Testmanagement und -automatisierung einheitlich über eine native Jira-Lösung anzubieten. lesen

Das Erstellen einer Benutzerdokumentation

Software-Dokumentation, Teil 5

Das Erstellen einer Benutzerdokumentation

Egal ob Smartphone-App, Consumer-Software, Game oder komplexe Business-Lösung: Eine umfassende Benutzerdokumentation kann Support-Anfragen reduzieren und Kosten sparen. Doch welche Möglichkeiten gibt es? lesen

Projekt Eirini bringt Cloud Foundry Apps in Kubernetes-Cluster

Ankündigungen des Cloud Foundry North American Summit 2019

Projekt Eirini bringt Cloud Foundry Apps in Kubernetes-Cluster

Zum North American Summit 2019 haben zahlreiche Mitglieder der Cloud Foundry Foundation ihre Neuerungen angekündigt, darunter auch Technologievorschauen für das Projekt Eirini. Mit Accenture und HCL wurden zudem erste zertifizierte Systemintegratoren vorgestellt. lesen

Verarbeiten von HTML-Formularen mit PHP

Programmieren mit PHP, Teil 8

Verarbeiten von HTML-Formularen mit PHP

PHP ist in der Lage Formulare zu verarbeiten, die zum Beispiel auf Basis von HTML erstellt wurden. Die Daten werden an ein PHP-Skript übergeben, das die Informationen dann entsprechend verarbeiten kann. lesen

Wege zur App – nativ, hybrid oder fürs Web

Abkürzungen erwünscht

Wege zur App – nativ, hybrid oder fürs Web

Um Apps für Android und iOS zu erstellen, gibt es mittlerweile sehr viele Ansätze. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurechtzufinden. Ebenso entscheidend ist es, wie effektiv die jeweilige Vorgehensweise ist, denn die Time-To-Market ist oft entscheidend. Hier können plattformübergreifende Techniken punkten. lesen

Software Security Testing nach OWASP

Sicherheit über den Development Lifecycle hinweg

Software Security Testing nach OWASP

Sicherheitstests sind in der Welt der Softwaretests eine eigene Disziplin. Für das Web Application Testing stellt das OWASP ein anerkanntes Rahmenwerk bereit, das beim Aufbau einer unternehmensweiten Testkultur sowie ganz konkreter Prozesse helfen kann. lesen

RestfulAPIs für AWS selbst gebaut

AWS Lambda und API Gateway, Teil 1

RestfulAPIs für AWS selbst gebaut

Amazon API Gateway soll das Erstellen, Veröffentlichen, Pflegen, Überwachen und Sichern von APIs jeder beliebigen Größenordnung sehr einfach machen. In diesem Beitrag zeigen wir, wie man dem Service einen AWS-Zugang via HTTPS ermöglicht. 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)