Gehen Sie einen schnelleren, intelligenteren Weg zur KI-gestützten C/C++-Testautomatisierung. Erfahren Sie mehr >>
Last- und Leistungstests in einer DevOps Delivery-Pipeline
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.
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.
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 verwendet in großem Umfang das Konzept des kontinuierlichen Prozesses, das für alle Phasen des Anwendungslebenszyklus gilt, einschließlich der Änderung von Code, Anwendungstests sowie der Bereitstellungs- und Produktionsüberwachung. Während kontinuierliche Unit- und Integrationstests eine breite Akzeptanz gefunden haben, kontinuierliche Leistungsprüfung hinkt deutlich hinterher, vor allem aufgrund der Schwierigkeiten der Unternehmen, traditionell manuelle Leistungstests in eine hochautomatisierte DevOps-Pipeline zu integrieren. In diesem Artikel beschreiben wir, wie sich Leistungstests ändern müssen, 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.
Zu Profitieren Sie von kontinuierlichen Leistungstests, müssen Sie einen wirksamen Mechanismus zur Analyse der Leistungstestergebnisse einrichten. Parasoft-Lasttest und sein LoadTest Continuum, ein Modul von Parasoft SOAtest, stellen Ihnen Tools zur Verfügung, die Ihnen dabei helfen, die Erfassung und Analyse von Leistungstestergebnissen zu automatisieren und Ihnen Einblicke in die Leistung Ihrer Anwendung zu geben.
Die folgenden Schritte helfen Ihnen dabei, Ihre Umgebung für die kontinuierliche Einrichtung einzurichten Leistungstestausführung mit Parasoft LoadTest und LoadTest Continuum:
Gehen wir diese Schritte im Folgenden einzeln genauer durch.
Qoft-Metriken (Parasoft LoadTest Quality of Service) sind eines der Hauptmerkmale für die Automatisierung der Analyse von Leistungstestergebnissen. QoS-Metriken reduzieren große Datenmengen in einem Auslastungstestbericht auf eine Reihe von Erfolgs- / Fehlerantworten zur Leistung Ihrer Anwendung. Parasoft LoadTest bietet eine Vielzahl von QoS-Metriken, die von gebrauchsfertigen Schwellenwertmetriken bis zu benutzerdefinierten Metriken reichen, mit denen Sie die LoadTest-API für die erweiterte Analyse von Lasttestdaten verwenden 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 Ihr Gerät konfiguriert haben LoadTest-Projekte, 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 Berichts- und Analyse-Dashboards, mit denen Sie dies tun können Überwachen Sie den Zustand und den Fortschritt Ihres Softwareprojekts mit einer Vielzahl von Widgets und Berichten.
Ein Parasoft LoadTest-Kontinuum DTP-Widget ermöglicht es Ihnen, die aktuellste Zusammenfassung der LoadTest-Ergebnisse zu Ihrem DTP-Projekt-Dashboard hinzuzufügen und bietet eine schnelle Möglichkeit, den Status der Leistungstestergebnisse in Ihrer täglichen Routine zur Überprüfung des Projektstatus zu bewerten.
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 alle Ihre hochgesteckten Automatisierungsziele für die Testergebnisanalyse mit Parasoft LoadTest und LoadTest Continuum innerhalb von Parasoft SOAtest. Diese Tools bieten eine ausgefeilte Automatisierung bei Funktionstests, sodass Sie qualitativ hochwertigere Software liefern können.
So optimieren Sie Leistungstests mit einem Shift-Left-Ansatz
DEMO MIT Q&A
Jetzt anmelden: 7. Januar
Fallstudie
Webinar