Die individuelle Welt des Performance Engineering und des Technical Test Analyst
So individuell wie die Probleme, die eine schlechte Performance mit sich bringt, ist auch die Arbeit und das Testfeld im Performance Engineering. Performance-Tests können unterschiedlichste Komponenten und Schnittstellen umfassen und von Frontend bis Backend lässt sich an beliebiger Schnittstelle einsteigen. Der Last und Performance Bereich umfasst neben dem klassischen und offensichtlichen Lasttests für …
- Web (Internet, Intranet) und
- Mobile Devices (Smartphone, Tablet),
… auch Anwendungsgebiete wie:
- Batch-Performance,
- SQL-Performance,
- Desktop Applications Performance,
- Migrations-Performancetests,
- White-Box Unit-, Modul-, Komponenten-, Methoden-Performance
- Infrastruktur-Lasttest
- sowie jegliche Aktionen im Backend, die ggf. zwar durch direkte Userinteraktionen im Frontend angestoßen werden, aber im Backend für längere und für den User unsichtbare Verarbeitungen sorgen.
An jeder denkbaren Schnittstelle lässt sich für Performancetests einsteigen. Somit muss nicht zwangsläufig erst zum Systemtest bzw. Akzeptanztest (acceptance testing) mit Performance Engineering eingestiegen werden. Trotzdem sind Blackbox-Tests für Last- und Performancetests im Systemtest und Akzeptanztest nochmal besonders wichtig, da hier eben erst das Gesamtsystem getestet werden kann. Besonders der Schwerpunkt im Sinne von „Last“ („Belastung“) ist meistens erst dann testbar. Je nach Schnittelle und Ziel muss ein passendes Lasttest Tool evaluiert werden. Die folgende Abbildung soll die sehr vielfältige Welt des Performancetesters bzw. Technical Test Analysten visualisieren.
Performancetests in Agilen Softwareentwicklungs-Methoden
Weiterhin sind Performancetests auch schon auf Unit-Testebene (Modul-Test, Komponenten-Test) möglich, was leider häufig unbeachtet bleibt. Auch im Continuous-Integration bzw. Continuous-Delivery sind Unit-Tests mit Performance-Messungen eine sinnvolle Ergänzung. Dies sollte man besonders im Hinblick auf agile Methoden im Hinterkopf behalten, da es äußerst sinnvoll sein kann, Performance-kritische Code-Abschnitte frühzeitig bei jeder Continuous-Delivery auf Performance zu testen.
Die Agile-Test-Pyramide (Abbildung unten) verdeutlicht das Prinzip hin sichtlich der empfohlenen Anzahl der Tests in den jeweiligen Teststufen: viele Unit-Tests, wenige GUI-Tests.
Dieser Artikel wurde in anteilig und in ähnlicher Form auch im „SQ Magazin“ des ASQF veröffentlicht. Als Titelthema – Ausgabe 32 | September 2014 | Seite 26ff