Performance Testing – der optimale Start innerhalb des Software Entwicklungsprozesses.

Performance Testing (jeremy-bishop-72584-unsplash)

Performance Testing (Leistungstests)

 

Performance Tests werden durchgeführt, um Erkenntnisse über die Leistungsfähigkeit im Zusammenspiel mit allen beteiligten Komponenten in bestimmten, künstlich forcierten Situationen zu gewinnen. Hierbei werden die Ressourcennutzung, Skalierbarkeit und Zuverlässigkeit eines Systems untersucht. Die Testmethode ist ein Teil der Leistungstests und Analysen, um eventuell auftretende Leistungsschwankungen zu untersuchen oder Ausfälle in Design und Architektur eines Systems im Vorfeld zu erkennen.

Das Ziel hierbei ist Zielmarken (Benchmarks) für die AUT (Application under Test) zu setzen bzw. das System dagegen zu testen. Hierbei kann man eine Reihe von Zielgrössen verwenden, die in der Softwareentwicklung und im Applikationsbetrieb vorherrschen. Es geht hier nicht darum, Applikationsfehler zu finden, sondern um die Leistungsfähigkeit und Reaktionen von skalierter Lasterhöhung eines Systems. Performance Testing zeichnet sich durch exakte Leistungsprüfung und die Gewinnung von Informationen und Erkenntnissen während eines Hochleistungsbetriebs aus.

Load Testing (Lasttest)

Durch Lasttests soll das zu testende System durch ständige Erhöhung an Nutzern und Transaktionen (pro Sekunde) an seine Leistungsgrenzen gebracht werden. Erkenntnisse über Schwellenwerte eines Systems kurz vor Totalausfall liefern notwendige Information über die Systemarchitektur und Hardwareanforderungen. Es geht hierbei nicht darum, Fehler im Code zu finden. Lasttests sind auch unter Lautstärke- (Volume) oder Belastungstests (Endurance) bekannt.

Lasttests zielen darauf ab, der AUT die grösstmögliche Last zu adressieren, um zu erfahren, wie es selbst damit umgeht, wie ausdauernd es ist und bis wann (Systemgrenzen) die Last skaliert werden kann. Hierbei wird auch die Null Last (überhaupt keine Last) untersucht, um das System auch in dieser Situation kennenzulernen.

Das Ziel von Lasttests ist, mögliche Schwächen und Mängel einer Anwendung im Bereich Buffer Overflows, Memory Leaks und Speicherfehler im Hochlastbetrieb zu erkunden. Zudem gilt es herauszufinden, wo konkret die Grenz- bzw. Schwellenwerte liegen für sowohl die Applikation selbst, als auch angebundene Systeme wie Datenbank, Hardware und Netzwerk Infrastruktur, um zukünftig die erwartete Last problemlos und ohne Ausfall zu meistern.

Load Testing (chuttersnap-458793-unsplash)

Stress Testing

Stresstests werden mithilfe verschiedener Aktionen einem System unterzogen, um es zu einem Ausfall zu zwingen und dabei zu beobachten, wie es sich anschliessend selbst wiederherstellt. Dazu gehören auch sogenannte Negativtests, das Entkoppeln beteiligter Komponenten, als Teil von Belastungstests. Auch bekannt als Ermüdungstests erfasst diese Testmethode die Stabilität einer Anwendung und deren Bandbreitenkapazität.

Als Herausforderung gilt es, eine kontrollierte Umgebung vor dem Start der Prüfung einzurichten, um genau zu sehen, wie das Verhalten des Systems unter unvorhersehbaren Situationen ist.

Stress Testing hat zum Ziel, Postcrash Reporte zu analysieren, um das Systemverhalten nach einem Ausfall bewusst zu steuern. Die grösste Herausforderung besteht darin, sicherzustellen, dass die Sicherheit sensiblen Daten zu keinem Zeitpunkt gefährdet ist. Von einem erfolgreichen Stress Test kann man sprechen, wenn das System nach einem Totalausfall eigenständig zusammen mit allen Komponenten zurück in den Normalbetrieb geht.

Lesen Sie mehr über Last- und Performance Testing, Herausforderungen, Checklist uvm. auf unserer englischen Sprachversion.

Blog Beitrag: Performance Testing
Rocketlab
digitalization agile
Service Partner für Nearshoring & Onsite Experten in der Schweiz, Deutschland, Estland und ganz Europa.
KONTAKT SCHWEIZ
  • +41 44 586 74 44
  • Pfäffikon SZ
  • sayhello [at] rocketlab.ch
KONTAKT DEUTSCHLAND
  • +49 89 2316 7790
  • München
  • sayhello [at] rocketlab.de
  • swiss made
    Hand crafted in the beautiful mountains of Switzerland
Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Youtube
Consent to display content from Youtube
Vimeo
Consent to display content from Vimeo
Google Maps
Consent to display content from Google