Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>
Zum Abschnitt springen
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
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 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, anhand derer Sie einen Lasttestbericht manuell analysieren, sollten als QoS-Metriken dargestellt werden. Konvertieren Sie so viele Metriken wie möglich in "numerische" Metriken. Eine numerische QoS-Metrik gibt nicht nur ein Erfolgs- / Fehlerergebnis zurück, sondern quantifiziert auch einen wichtigen Leistungsindikator für diese Metrik. Beispielsweise würde eine Metrik, die einen CPU-Auslastungsschwellenwert validiert, auch den tatsächlichen CPU-Auslastungswert als numerische Metrik bereitstellen.
In LoadTest Continuum werden häufig numerische Metriken verwendet, um die Metrikleistung über die Zeit darzustellen:
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.
Bereitstellen und Konfigurieren des Webanwendungsarchivs LoadTest Continuum ltc.war (verfügbar im Installationsverzeichnis SOAtest / LoadTest ab Version 9.10.2), wie im Abschnitt „LoadTest Continuum“ der LoadTest-Dokumentation beschrieben.
Kombinieren Sie Ihre LoadTest-Projekte zu CMD-Skripten für die Stapelausführung. Mit LoadTest .cmd-Skripten können Sie Gruppen von Projekten angeben, aus denen verschiedene Sätze von Leistungstests bestehen, z. B. die zuvor erwähnten „Rauch“ -Tests, täglichen Tests oder Wochenendtests.
Konfigurieren Sie die .cmd-Skripte so, dass Berichtsdaten an LoadTest Continuum gesendet werden, wie im Abschnitt „Senden von Berichten an LoadTest Continuum“ in der LoadTest-Dokumentation beschrieben. Richten Sie Ihr Tool für die kontinuierliche Integration so ein, dass LoadTest .cmd-Skripte als Teil eines Erstellungsprozesses oder in regelmäßigen Abständen ausgeführt werden. In Jenkins können Sie beispielsweise ein LoadTest .cmd-Skript mit dem folgenden Schritt zum Erstellen eines Windows-Batch-Befehls 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.
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:
Betrachten Sie den folgenden Workflow als Beispiel für eine regelmäßige (tägliche) Testüberprüfung:
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.