Bereits seit 2007 gibt es in der HZD einen Service zur Durchführung von Last- und Performancetests. Dieses Angebot ist Bestandteil der Qualitätssicherung von Software und kann von allen Ministerien, Regierungspräsidien oder Entwicklungsbereichen des Landes Hessen genutzt werden. In den Anfangsjahren wurde der Service vorwiegend für die Endabnahme neu entwickelter Anwendungen, bei Migrationen oder umfangreichen Änderungen bereits produktiv genutzter Anwendungen angefordert – meist als einmalige Maßnahme.
Magazin
Test Center Hessen im Fokus: Last- und Performancetests
Qualitätssicherung von Software
Seitdem hat sich in der Anwendungsentwicklung vieles geändert. Aktuell sind Schlüsselworte wie Digitalisierung, OZG, elektronische Aktenführung, Cloudlösungen oder KI richtungsweisend für die kurz- und mittelfristige Entwicklung von Softwarelösungen für die hessische Landesverwaltung. Dabei sind die wichtigsten Merkmale der Datenschutz und die Datensicherheit. Das wirkt sich natürlich auch massiv auf qualitätssichernde Maßnahmen für Software aus. Testmaßnahmen müssen häufiger und schneller durchführbar werden. Die wachsende Komplexität von Anwendungen, basierend auf ständig weiter- oder neuentwickelten Frameworks, stellt eine immer größere Herausforderung dar. Dieser Wandel erfordert auch eine höhere Flexibilität beim Testen. Auf diesen geänderten Bedarf hat die HZD reagiert und mit dem Test Center Hessen (TCH) eine Leistungseinheit geschaffen, die sich um die Qualitätssicherung von Software kümmert. Teil des TCH-Portfolios sind die Last- und Performancetests. Sie gehören zur Gruppe der technischen Tests und liefern Aussagen zum Performance-Verhalten von Fachanwendungen unter bestimmten vorgegebenen technischen Voraussetzungen.
Testziele
Zur Durchführung von Last- und Performancetests ist es zunächst notwendig, die Erwartungen und Wünsche des Auftraggebers in Form von Testzielen zu formulieren. So können die notwendigen Lastszenarien gezielt und damit zeit- und kosteneffizient umgesetzt werden. Dafür ist es hilfreich, sich u.a. mit folgenden Fragen zu beschäftigen: Wie viele Anfragen pro Minute an die zu testende Anwendung kann die Testumgebung verkraften? Was passiert mit der Anwendung, wenn eine Lastgrenze erreicht oder auch überschritten wird? Welche Ressourcen müssen für einen performanten und stabilen produktiven Betrieb eingeplant werden?
- Beratung zur Durchführung von Last- und Performancetests sowie zu Möglichkeiten oder Grenzen des Services
- Beratung und Unterstützung zum Definieren der Testziele, Testfälle und Lastszenarien
- Umsetzung der Testfälle in automatisierte und reproduzierbare Testscripte und Erstellung von Lastszenarien
- Bereitstellung der geeigneten Messwerkzeuge und der dazu notwendigen Infrastruktur
- Durchführung der notwendigen Messungen in Zusammenarbeit mit den zuständigen Betriebsverantwortlichen
- Analyse der Messergebnisse in Zusammenarbeit mit den zuständigen Betriebsverantwortlichen und Erstellung eines ausführlichen Testberichts mit den erreichten Ergebnissen
Testfälle und Testdaten
Um die Testziele überprüfen zu können, sollten geeignete Testfälle definiert werden. Diese sollten möglichst kurz sein, damit sie mit geringem Aufwand und kosteneffizient automatisiert werden können. Um den Ausfall einer Anwendung und damit einen finanziellen oder einen Imageschaden zu vermeiden, liegt der Fokus zu 80 Prozent auf typischen und einfachen Anfragen, die den normalen Tagesbetrieb ausmachen, und nur zu 20 Prozent auf ressourcenintensiven, komplexen Anfragen. Es müssen ausreichend Testdaten vom Auftraggeber zur Verfügung gestellt werden.
Durchführung
Die spezifizierten Testfälle werden anhand einer Klickanleitung manuell im Browser durchgeführt und gleichzeitig per Record-and-Play aufgenommen. Aus den Aufnahmen können dann Testscripte erzeugt werden, die nach Anpassung von User-Session-abhängigen Parametern mit einer großen Menge von simulierten Lasttest-Usern parallel und wiederkehrend abspielbar sind. Die Testscripte werden in geeignete Lastszenarien gepackt, die auf die Überprüfung der vorgegebenen Testziele ausgerichtet sind. Damit werden dann die Messungen durchgeführt. Die Testumgebung sollte bis zum Abschluss der Tests nicht verändert werden, damit die Testfälle immer wieder gleich ablaufen. Nur wenn die Testumgebung bezüglich ihrer Leistungsfähigkeit der zukünftigen Produktivumgebung gleicht, können aussagekräftige Ergebnisse für den Aufbau der Produktivumgebung erzielt werden.
Auswertung
Die erreichten Messergebnisse werden schließlich analysiert und bewertet, gegebenenfalls müssen aufgetretene Fehler korrigiert und durch Wiederholung von Messungen überprüft werden. Wenn alle genannten Testziele auf Erfüllung geprüft sind und keine Verbesserung mehr erreichbar ist, wird das Gesamtergebnis in einem Testbericht zur Verfügung gestellt.
Autorin des Beitrags
Elisabeth Rohde
Business-Analyse und Qualitätssicherung