Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »
Parasoft-Blog
Leistungstests werden zunehmend Teil der Continuous-Delivery-Pipeline in DevOps-Einstellungen. Hier sprechen wir über Leistungstests und die besten Möglichkeiten, Last- und Leistungstests in die Bereitstellung von Anwendungen einzubeziehen.
Zum Abschnitt springen
Moderne Softwareanwendungen müssen schnell auf sich ändernde Geschäftsanforderungen reagieren sowie Fehler, Leistungsprobleme und Sicherheitsprobleme schnell beheben, um wettbewerbsfähig zu bleiben. In einer herkömmlichen Entwicklungsumgebung steht jedoch die Zeit, die zum gründlichen Testen einer Softwareanwendung vor ihrer Veröffentlichung benötigt wird, im Widerspruch zu der Geschwindigkeit, mit der sich die Anwendung weiterentwickeln muss.
DevOps-Methoden haben sich als wirksam erwiesen, um diese widersprüchlichen Anforderungen einer schnellen Veröffentlichung und Bereitstellung hoher Softwarequalität in Einklang zu bringen. Aus diesem Grund erfreuen sie sich in zukunftsorientierten Softwareentwicklungsorganisationen großer Beliebtheit.
DevOps nutzt das Konzept des kontinuierlichen Prozesses, das alle Phasen des Anwendungslebenszyklus umfasst, von der Codeänderung über Anwendungstests bis hin zu Bereitstellung und Produktionsüberwachung. Während kontinuierliche Unit- und Integrationstests weit verbreitet sind, hinkt das kontinuierliche Performance-Testing deutlich hinterher. Dies liegt vor allem daran, dass Unternehmen Schwierigkeiten haben, traditionell manuelle Performance-Tests in eine hochautomatisierte DevOps-Pipeline zu integrieren. In diesem Artikel beschreiben wir, wie sich Performance-Testing verändern muss, um ein integraler Bestandteil der DevOps-Umgebung zu werden.
Anwendungen können auf verschiedene Weise fehlschlagen. Um Fehler zu erkennen, setzen Softwareentwicklung und Qualitätssicherung mehrere Arten von Tests ein. Zu den häufigsten gehören die folgenden.
Jeder dieser Testtypen befasst sich mit einer bestimmten Kategorie von Fehlern, die bei einer Anwendung in der Produktion auftreten können. Leistungstests, die Gegenstand dieses Artikels sind, zielen auf eine Reihe von Fehlertypen ab, die auftreten, wenn die Anwendung einer Last gleichzeitiger Anforderungen ausgesetzt ist. Nachfolgend sind die sechs häufigsten dieser Fehlertypen aufgeführt.
Jeder dieser Fehler kann zu finanziellen Verlusten führen und den Ruf des Unternehmens als zuverlässiger Dienstleister schädigen. Im Folgenden sehen wir uns Schritte zur Integration von Leistungstests in die DevOps-Pipeline an, um diese Probleme frühzeitig zu erkennen.
Sie können mit der Integration von Leistungstests in die Pipeline für die kontinuierliche Bereitstellung beginnen, indem Sie Jenkins oder einem Tool für die kontinuierliche Integration Ihrer Wahl ausgewählte Leistungstests hinzufügen und diese regelmäßig ausführen lassen.
Abhängig von Ihren Anforderungen können Sie während des Aufbaus oder Tests der Infrastruktur Leistungstests an einem oder mehreren der folgenden Punkte durchführen.
Dies allein reicht jedoch nicht aus.
Die manuelle Analyse von Lasttestberichten kann zeitaufwändig sein und erfordert möglicherweise spezielle Fähigkeiten, über die nicht jeder Entwickler verfügt. Ohne die Möglichkeit, die Analyse von Lasttestberichten zu automatisieren, wird die Überprüfung der Ergebnisse von Leistungstests zu einem mühsamen Zeitfresser. Wichtige Leistungsinformationen können ebenfalls übersehen werden. In solchen Szenarien führen Sie möglicherweise kontinuierlich Leistungstests durch, deren Nutzen ist jedoch begrenzt.
Um die Vorteile kontinuierlicher Leistungstests voll auszuschöpfen , benötigen Sie einen effektiven Mechanismus zur Analyse der Testergebnisse. Parasoft LoadTest und LoadTest Continuum, ein Modul von Parasoft SOAtest, bieten Ihnen Tools, die die Erfassung und Analyse von Leistungstestergebnissen automatisieren und Ihnen Einblicke in die Performance Ihrer Anwendung ermöglichen.
Die folgenden Schritte helfen Ihnen bei der Einrichtung Ihrer Umgebung für die kontinuierliche Durchführung von Leistungstests mit Parasoft LoadTest und LoadTest Continuum :
Gehen wir diese Schritte im Folgenden einzeln genauer durch.
Die Quality-of-Service-Metriken (QoS) von Parasoft LoadTest sind eine der Schlüsselfunktionen für die automatisierte Analyse von Leistungstestergebnissen. QoS-Metriken reduzieren große Datenmengen in einem Lasttestbericht auf eine Reihe von Erfolgs-/Fehleraussagen zur Anwendungsleistung. Parasoft LoadTest bietet eine umfassende Auswahl an QoS-Metriken, von sofort einsatzbereiten Schwellenwertmetriken bis hin zu benutzerdefinierten Skriptmetriken, mit denen Sie die LoadTest-API für die erweiterte Analyse von Lasttestdaten nutzen können.
Um Ihre Leistungstests für die Automatisierung vorzubereiten, müssen Sie die QoS-Metriken in Ihren LoadTest-Projekten überprüfen. Führen Sie ein LoadTest-Projekt aus und untersuchen Sie den Bericht: Alle Erfolgs- und Fehlerkriterien, die Sie zur manuellen Analyse eines Lasttestberichts verwenden, sollten als QoS-Metriken dargestellt werden. Konvertieren Sie möglichst viele Metriken in numerische Metriken. Eine numerische QoS-Metrik liefert nicht nur ein Erfolgs-/Fehlerergebnis, sondern quantifiziert auch einen Leistungsindikator für diese Metrik. Beispielsweise würde eine Metrik, die einen Schwellenwert für die CPU-Auslastung validiert, auch den tatsächlichen CPU-Auslastungswert als numerische Metrik liefern.
In LoadTest Continuum werden häufig numerische Metriken verwendet, um die Metrikleistung über die Zeit darzustellen:
Numerische Metrikergebnisse, die in einem LoadTest Continuum-Bericht aufgezeichnet sind.
Sobald Sie die QoS-Metriken für Ihre LoadTest-Projekte konfiguriert haben , ist es an der Zeit, das LoadTest Continuum für die Erfassung und Analyse von Leistungsdaten einzurichten.
Stellen Sie das LoadTest Continuum ltc.war-Web-Anwendungsarchiv bereit und konfigurieren Sie es (verfügbar im SOAtest/LoadTest-Installationsverzeichnis ab Version 9.10.2), wie im Abschnitt „LoadTest Continuum“ der LoadTest-Dokumentation beschrieben.
Kombinieren Sie Ihre LoadTest-Projekte in CMD-Skripten für die Batch-Ausführung. Mit LoadTest-CMD-Skripten können Sie Projektgruppen festlegen, die verschiedene Leistungstests umfassen, z. B. die bereits erwähnten „Smoke-Tests“, Tagestests oder Wochenendtests.
Konfigurieren Sie die CMD-Skripte so, dass Berichtsdaten an LoadTest Continuum gesendet werden, wie im Abschnitt „Senden von Berichten an LoadTest Continuum“ der LoadTest-Dokumentation beschrieben. Richten Sie Ihr Continuous-Integration-Tool so ein, dass LoadTest-CMD-Skripte als Teil eines Build-Prozesses oder in regelmäßigen Abständen ausgeführt werden. Beispielsweise können Sie in Jenkins ein LoadTest-CMD-Skript mit dem Build-Schritt „Windows-Batchbefehl ausführen“ wie folgt ausführen:
%SOATEST_HOME%lt.exe" -J-Xmx4096M -cmd -run "%WORKSPACE%ltcontinuum.cmd
Parasoft DTP enthält Reporting- und Analyse-Dashboards, mit denen Sie den Zustand und den Fortschritt Ihres Softwareprojekts mithilfe einer Vielzahl von Widgets und Berichten überwachen können .
Mit dem Parasoft LoadTest Continuum DTP-Widget können Sie die aktuellste Zusammenfassung der LoadTest-Ergebnisse zu Ihrem DTP-Projekt-Dashboard hinzufügen und haben so eine schnelle Möglichkeit, den Stand der Leistungstestergebnisse in Ihre tägliche Projektstatusprüfung einzubeziehen.
Das Widget zeigt die Anzahl der insgesamt durchgeführten und fehlgeschlagenen Tests und Metriken für die letzten LoadTest-Läufe an. Um die Ergebnisse detaillierter anzuzeigen, klicken Sie im Widget auf den Projektlink. Die Seite LoadTest Continuum wird in einer neuen Registerkarte geöffnet.
LoadTest Continuum-Widgets in einem DTP-Dashboard.
Gehen Sie einfach folgendermaßen vor, um ein benutzerdefiniertes LoadTest Continuum-HTML-Widget in DTP einzurichten:
Parasoft LoadTest Continuum dient sowohl als Erfassungspunkt für Ihre LoadTest-Berichte als auch als Analysetool, das Lasttestdaten aus mehreren Läufen organisiert. LoadTest Continuum organisiert die Daten in einer Informationspyramide, mit der Sie Ihre Leistungstestergebnisse auf verschiedenen Detailebenen überprüfen können, von allgemeinen täglichen Zusammenfassungen oben über QoS-Metrikergebnisse im Kern bis hin zu detaillierten Lasttestberichten oben Unterseite:
Die tägliche Zusammenfassung und Testmetrikansicht von LoadTest Continuum.
Betrachten Sie den folgenden Workflow als Beispiel für eine regelmäßige (tägliche) Testüberprüfung:
Load Test Continuum Alle Diagramme derselben Metrikansicht zeigen die Leistungsverbesserung der CPU% -Metrik über mehrere Tests hinweg.
Die Integration eines Leistungstestprozesses in die Pipeline für die kontinuierliche Bereitstellung ist für die Sicherstellung der Softwarequalität von entscheidender Bedeutung. Um diesen Prozess optimal nutzen zu können, müssen Sie einen effektiven Mechanismus für die Automatisierung der Analyse von Leistungstestergebnissen einrichten.
Erreichen Sie all Ihre anspruchsvollen Ziele bei der Automatisierung der Testergebnisanalyse mit Parasoft LoadTest und LoadTest Continuum innerhalb von Parasoft SOAtest. Diese Tools bieten eine ausgefeilte Automatisierung im Bereich des Funktionstests, sodass Sie Software von höherer Qualität liefern können.
So optimieren Sie Leistungstests mit einem Shift-Left-Ansatz