Gehen Sie einen schnelleren, intelligenteren Weg zur KI-gestützten C/C++-Testautomatisierung. Erfahren Sie mehr >>
So optimieren Sie Leistungstests mit einem Shift-Left-Ansatz
Leistungstests in den frühen Phasen des Entwicklungszyklus (Shift-Left-Ansatz) führen zu Produkten, die eine bessere Leistung und einen höheren ROI bieten. Erfahren Sie, wie Sie Leistungstests mit einem Shift-Left-Ansatz optimieren können.
Zum Abschnitt springen
Leistungstests in den frühen Phasen des Entwicklungszyklus (Shift-Left-Ansatz) führen zu Produkten, die eine bessere Leistung und einen höheren ROI bieten. Erfahren Sie, wie Sie Leistungstests mit einem Shift-Left-Ansatz optimieren können.
Jeder Sprint ist entscheidend und die Entscheidungen, die für die Zukunft getroffen werden, werden blitzschnell getroffen. Um den schnellen Feedbackprozess zu erleichtern, müssen Testteams ihre Anwendungen in sehr kurzer Zeit gründlich und durchgängig validieren. Um diesen Aufwand zu maximieren, können Testteams ihren Testansatz modernisieren, um bereits in den frühestmöglichen Phasen des Softwaretests den bestmöglichen Return on Investment zu erzielen.
Wenn Sie die Leistungstests nach links verschieben, können Entwickler und Tester Leistungstests in den frühen Phasen der Entwicklungszyklen durchführen. Traditionell sind Leistungstests eine Aufgabe, die am Ende der Entwicklungszyklen ausgeführt wird, da sie eine Reihe spezialisierter Tools und Fähigkeiten erfordern, dh teure Hardware in dedizierten Umgebungen durch geschulte Leistungstestingenieure. Eine Strategie für Leistungstests nach links kann stattdessen ermöglichen, dass Tester kleinere Ad-hoc-Leistungstests für einzelne Komponenten durchführen, während diese entwickelt werden.
Um dies zu erreichen, müssen Teams mit der Erstellung von Leistungstests zusammen mit Einheiten- und Funktionstests beginnen, wenn die Funktionalität implementiert ist, und diese Leistungstests so konfigurieren, dass sie automatisch ausgeführt werden und auf eine Weise Bericht erstatten, die Sie auf Leistungseinbußen hinweist. Um die Tests automatisch auszuführen, muss die Ausführung von Leistungstests als Teil des CI / CD-Prozesses eng integriert sein, bei dem nach jedem Einchecken des Codes Leistungstests in lokalen Umgebungen zusammen mit Funktions- und Komponententests ausgeführt werden.
Dieser Prozess ermöglicht es Unternehmen, die subtilen Auswirkungen neuer Komponenten zu verstehen, die zur Gesamtleistung ihrer Anwendung hinzugefügt werden, und ermöglicht letztendlich die Entdeckung leistungsbezogener Fehler viel früher im Bereitstellungslebenszyklus. Aus Sicht der Unternehmenskultur bedeutet eine Verlagerung der Leistungstests nach links auch, dass die Entwickler stärker einbezogen werden. In den meisten Fällen können Entwicklungsteams innerhalb eines Tages nach Feststellung einer Leistungsverschlechterung Optimierungsverbesserungen vornehmen, anstatt zu warten, bis die gesamte Anwendung erstellt ist.
Erfahren Sie, was Leistungstests sind und warum QA-Teams darauf angewiesen sind.
Entwickler besitzen die Leistung ihrer Anwendungen. Entwickler müssen mithilfe von Microservices, REST / SOAP-APIs und modularen Entwurfsarchitekturen Anwendungen erstellen, die für Leistungstests bereit sind, sodass einzelne Teile während der Entwicklung einem Lasttest unterzogen werden können.
Tester können ihre Testfälle an wichtigen Workflows in der Anwendung ausrichten, damit sie im Leistungstestprozess eingesetzt werden können. Wenn Sie sich auf die API-Ebenen der Anwendung konzentrieren, ist diese widerstandsfähiger gegenüber Änderungen und verwaltbar. Beide Teams verwenden Berichte, die außerhalb der SLAs für die Anwendung liegen, um Problembereiche basierend auf dem kürzlich durchgeführten Code-Check-in zu identifizieren und zu ermitteln, welche Komponenten optimiert werden müssen.
Die Auswahl der richtigen Tools für einen Leistungstestprozess nach links ist wichtig, aber nicht so wichtig wie die gemeinsame Verwendung in automatisierten Workflows. Leistungstests im Frühstadium finden häufig in Taschen statt, in denen einzelne versierte Tester und Entwickler Techniken unter Verwendung einer Vielzahl von Open Source- und im Handel erhältlichen Tools entwickeln. Dies wird jedoch letztendlich übersehen, da sie nicht als Teil des gesamten automatisierten Prozesses integriert sind.
Stattdessen sollten Tester spezielle kommerzielle Tools verwenden, mit denen sie Leistungstests auf automatisierte Weise erstellen können. Entwickler können ähnliche Tools verwenden, um ihre Bemühungen zu optimieren oder Skripts auf niedriger Ebene zu erstellen, um die Automatisierung und das Laden voranzutreiben. Welche Tools benötigen Sie?
Die folgenden Tools vereinfachen die Wartung, können zentral verwaltet werden und bieten eine benutzerfreundliche Benutzeroberfläche zum Erfassen der Ergebnisse.
Funktionstests sollten bereits Teil Ihrer kontinuierlichen Teststrategie sein. Das Tool, das Sie für die Funktionstestautomatisierung auswählen, sollte sich sowohl auf die API-Ebene der Anwendung konzentrieren, um die Ausführung und Wartung des Testfalls zu vereinfachen, als auch auf die UI-Ebene für End-to-End- und Benutzererfahrungstests. Funktionstesttools werden verwendet, um grundlegende (Wiederverwendungs-)Ausführungspfade zu erstellen, sei es auf UI-Ebene oder auf API-Ebene. Diese Ausführungspfade stimmen mit User Storys überein, sodass eine Korrelation zwischen dem Ergebnis des Leistungstests und der betroffenen User Story besteht.
Konkret benötigen Sie eine Leistungstest-Tool Dies kann die Funktionstestartefakte verbrauchen und unter Last ausführen. Diese Tools sollten über eine Vielzahl von Lastkontrollparametern verfügen, wie z. B. die Anzahl der virtuellen Benutzer oder Transaktionen im Zeitverlauf. Diese Tools sollten dann in einem zentralen Dashboard Berichte zur Aggregation der Ergebnisse bereitstellen.
Tools zur Servicevirtualisierung Behandeln Sie die fehlenden Komponenten monolithischer Anwendungen in den frühen Phasen von Shift-Left-Leistungstests. Eine der größten Herausforderungen bei Leistungstests im Frühstadium ist der Mangel an unterstützender Infrastruktur durch parallele Entwicklungsbemühungen oder Komponenten von Drittanbietern. Indem Sie die Basislinie dieser abhängigen Systeme festlegen und sie in virtuellen Diensten modellieren, können Sie ähnliche Basisbedingungen für Anwendungen wie in der Produktion schaffen und sich während Ihres Tests gezielt auf die Leistung einzelner Komponenten konzentrieren.
Shift-Left-Performancetests funktionieren am besten, wenn sie automatisiert sind. Bei Automatisierung bedeutet „Performancetests“ lediglich die Überprüfung/Wartung der automatisierten Performancetests. Dadurch wird der Zeitaufwand für die Durchführung langfristig reduziert, da der Prozess automatisiert und nicht manuell ist.
Durch die Abstimmung Ihrer Leistungsteststrategie mit Ihrer kontinuierlichen Teststrategie und die Integration mit Tools wie Jenkins, Bamboo, Microsoft VSTS usw. können Sie einen vollständig automatisierten Prozess erstellen. Ihre CI-Tools sollten es Ihnen ermöglichen, die Leistungstests als Funktion des Code-Check-ins auszuführen, sodass konsistente Leistungstests jede Nacht ausgeführt werden können.
Darüber hinaus sollte Ihr CI-Tool in Ihr Berichts- und Analyse-Dashboard integriert sein und die Ergebnisse automatisch veröffentlichen, damit Sie die Trenddaten schnell verstehen können.
Apropos Ihr Berichts- und Analyse-DashboardEin zentralisiertes Dashboard ist wichtig, da es Benutzern ermöglicht, die inkrementellen Auswirkungen von Komponentenleistungstests zu verstehen, indem Trendinformationen nach Projekt, Komponente, API usw. angezeigt werden.
Ihr zentrales Dashboard sollte die Möglichkeit bieten, Leistungstests zu automatisieren, SLAs zu definieren, die die Leistungstests in Bestanden / Nicht Bestanden-Indikatoren umwandeln, und historische Trends anzuzeigen. Darüber hinaus sollte das Berichts-Dashboard Details enthalten, die Leistungstests mit ihren ursprünglichen Anforderungen verknüpfen, damit das Unternehmen auftretende Probleme sowie die übergeordnete Pass / Fail-Ansicht und gleichzeitig jedes kleine Detail richtig priorisieren kann kann die Ursachen von Fehlern ermitteln, nachdem sie erkannt wurden.
Der Shift-Left-Ansatz fügt neben Managern und Testern auch Entwickler als Dashboard-Benutzer hinzu. Daher muss das Dashboard die Details auf niedriger Ebene enthalten, nach denen die Entwickler suchen, um die Ursachen für SLA-Fehler oder historische Trends effektiv untersuchen und ermitteln zu können.
Verbraucher sind mit ständigen Hot Patches und Updates zur Leistungsoptimierung ausgebrannt. Sie hungern nach neuen Features und Funktionen. Da Leistungstests traditionell am Ende des Zyklus durchgeführt werden, wirkt sich dies unweigerlich auf die Lieferfristen aus und wird daher durch eine negative Linse betrachtet. Indem Sie den Leistungstestprozess zusammenfassen und agilen Teams die Möglichkeit geben, dies zu tun Test nach links verschieben Durch einen iterativen Ansatz können Probleme frühzeitig erkannt werden. Dies stellt nicht nur sicher, dass getroffene Technologieentscheidungen leicht auf Leistungseinbußen überprüft werden können, sondern sorgt letztendlich auch für ein insgesamt leistungsfähigeres Produkt, indem jeder Bereich optimiert und der Schwerpunkt auf der Leistung liegt.
Weiterführende Inhalte
DEMO MIT Q&A
Jetzt registrieren: 4. Februar
Fallstudie
Webinar