Zu den typischen Tätigkeiten als Lasttestexperte gehören Analyse, Entwurf, Realisierung, Ausführung und Auswertung von Last- und Performancetests. Zusätzlich unterstütze ich die Projektleitung und das Testmanagement bei der Planung von Testaufgaben und der Überwachung der Aktivitäten.
Bei der Planung werden Konzepte und Empfehlungen zu geeigneten Testverfahren und den hierbei zu verwendenden Werkzeugen entwickelt. Dabei werden die erforderlichen Aufwände für Zeit, Personal, Software und weitere Ressourcen abgeschätzt und der Projektleitung sowie dem Testmanagement zur Verfügung gestellt.
Im Rahmen der Analyse erfolgt die Betrachtung der Einzelheiten eines Testobjektes. Gemeinsam mit Stakeholdern werden Testumfang und Inhalte festgelegt sowie Bedingungen definiert, unter denen die Tests durchgeführt werden sollen. Dabei werden Aspekte wie Testdaten, Testumgebung, Funktionsumfang sowie erforderliche Quell- und Zielsysteme betrachtet. Die Basis hierzu bilden Anforderungs- und Entwurfsdokumente, existierende Systeme, Mengengerüste und weitere verfügbare Informationen. Auch die erforderliche Testinfrastruktur mit ihren Elementen wird definiert. Gegebenenfalls müssen hierfür die Details für die technische Realisierbarkeit in einem Proof-of-Concept evaluiert werden.
Beim Entwurf werden die konkreten Testfälle und Testszenarien ausführlich dokumentiert. Dies beinhaltet die erforderlichen Eingaben und die erwarteten Ausgaben, notwendige Konfigurationen und die zu verwendenden Daten. Es können Varianten vorgesehen werden, die basierend auf den geplanten Nutzungsprofilen verschiedene Lastszenarien darstellen. Die Eigenschaften der Testumgebung werden berücksichtigt, so dass sodass sichergestellt werden kann, die beabsichtigten Tests auch wirklich durchführen zu können. Dabei werden auch Festlegungen getroffen, welche Messwerte während eines Tests erhoben werden sollen und wie dies zu ermöglichen ist.
Bei der Realisierung der Testfälle werden die Entwürfe in ein für das ausgewählte Testwerkzeug ausführbares Format transformiert. Dies erfolgt beispielsweise durch Capture-Mechanismen, die die vom Tester durchgeführten Benutzeraktivitäten aufzeichnen und daraus eine Vorlage generieren. Diese Vorlage muss gewöhnlich mittels programmatischer Anpassungen erweitert werden, so dass sodass die bei der Aufzeichnung geltenden Werte für z.B. eine Session-ID dynamisch aktualisiert werden. Eine andere Möglichkeit besteht darin, dass eine plattform-, programmiersprachen- und protokollunabhängige Beschreibungssprache für Dienste die zulässigen Operationen definiert und hieraus ein Katalog der einzelnen Aufrufe generiert werden kann. Weiterhin werden hier die Konfigurationen erstellt und Testdaten angelegt. Anschließend werden die einzelnen Bestandteile zu den komplexeren Szenarien und deren Varianten kombiniert, um die für den ausgewählten Testzyklus festgelegten Ziele zu erreichen.
Mit der Ausführung erfolgt der Eintritt in die Testphase. Hier werden die Anwendung und ihre Komponenten der zuvor definierten Last ausgesetzt und dabei überwacht. Der Ablauf erfolgt weitgehend automatisch, da Last- und Performancetests ausschließlich werkzeuggestützt durchgeführt werden können. Bei kontinuierlicher Beobachtung und Protokollierung des Testablaufs werden die Daten gesammelt, die anschließend bei der Auswertung verwendet werden. Diese Information kann auch während des Testablaufs genutzt werden, um darüber zu entscheiden, ob aufgrund von unerwartetem oder destruktivem Systemverhalten ein vorzeitiger Abbruch vorgenommen werden muss.
Im Rahmen der Auswertung werden die erhobenen Messwerte mit den Erwartungen verglichen. Abweichungen werden analysiert, um die möglichen Ursachen zu finden. Dies erfolgt gemeinsam mit Administratoren, Infrastruktur-Experten und Entwicklern. In einem Bericht werden die Informationen über den Test und die Ergebnisse in dem für die jeweilige Zielgruppe spezifischen Detaillierungsgrad dokumentiert. Darauf aufbauend werden die nachfolgenden Testiterationen geplant.