Vom automatisierten zum kontinuierlichen Testen für DevOps
Von Parasoft
11. Juli 2020
3 min lesen
Die Entwicklung von DevOps hat viele Veränderungen in der Softwareentwicklungsumgebung mit sich gebracht. Ein Teil der Veränderungen, die es hinterlassen hat, ist die Notwendigkeit kontinuierlicher Tests in der Softwareentwicklung. Hier ist ein Überblick darüber, wie die kontinuierlichen Testlösungen von Parasoft Ihre Softwaretestziele verbessern können.
Zum Abschnitt springen
Die Entwicklung agiler oder schlanker Entwicklungspraktiken wie DevOps kommt von Unternehmen, die stärker differenzierbare Software fordern. Angesichts dieses Geschwindigkeitsbedarfs können wir nicht davon ausgehen, dass die Praktiken von gestern die Anforderungen von heute erfüllen können. Darüber hinaus muss ein kultureller Wandel vom Testen einer Anwendung hin zur Minderung von Geschäftsrisiken stattfinden. Das bleibt eine Lücke in den meisten Organisationen heute. DevOps ist aufgrund der folgenden Faktoren ein wesentlicher Bestandteil des Softwareentwicklungslebenszyklus (SDLC):
- Die Nachfrage der Unternehmen nach Differenzierung mit besserer und wettbewerbsfähigerer Software treibt die iterative und agile Entwicklung voran
- Mit DevOps können Unternehmen innovative Software schneller und häufiger veröffentlichen.
- Bisherige Methoden, Werkzeuge und Prozesse reichen nicht mehr aus, um den modernen Anforderungen gerecht zu werden.
- Das Automatisieren von Tests reicht nicht aus und es sind systematische Verbesserungen erforderlich.
Durch die Beschleunigung eines Prozesses oder Systems werden Einschränkungen innerhalb des Workflows aufgedeckt. Dies wird sicherlich für die Softwarequalität der Fall sein. Wenn das Testen traditionell ein Ereignis mit Zeitrahmen war, wird durch die Beschleunigung des Software-Release-Zyklus lediglich die ursprünglich für das Testen vorgesehene Zeit komprimiert. Wenn das Erhöhen der Release-Trittfrequenz das gewünschte Ergebnis ist, muss der Softwarequalitätsprozess überarbeitet werden.
Traditionell haben Unternehmen beim Testen einen Bottom-up-Ansatz gewählt und inkrementelle Tests für neue Funktionen hinzugefügt. Während dies immer erforderlich sein wird, muss sich die Denkweise ändern, um sowohl einen Bottom-up- als auch einen Top-down-Ansatz zur Minderung von Geschäftsrisiken zu verfolgen.
Minimieren Sie Geschäftsrisiken
Kontinuierliches Testen mindert das Geschäftsrisiko, indem es ein Sicherheitsnetz für Entwickler bietet, da Änderungen in inkrementellen Teilen verwaltet werden. Eine zentralisierte, datengesteuerte Entscheidungsfindung hilft Managern und Testern, bessere Entscheidungen zu treffen und ihre Bemühungen auf das Testen der richtigen Teile der Anwendung zu konzentrieren. Im Laufe der Zeit entwickelt sich das kontinuierliche Testen von der reinen Qualitätsmessung zur Effektivitätsmessung.
Qualität messen
Was heute benötigt wird, ist nicht nur mehr Automatisierung, sondern auch eine Methode, bei der die erstellten Tests die Wahrscheinlichkeit eines mit dem Geschäftsrisiko verbundenen geschäftlichen Scheiterns anzeigen, und nicht nur einen Bericht über bestanden/nicht bestanden. Dies ist ein grundlegender Wandel in der Kultur des Qualitätsmanagements. Es ist auch wichtig, die Qualität des Prozesses selbst zu messen. Hier erzielen Organisationen, die in Lean- oder DevOps-Initiativen investieren, wirklich den größten Return on Investment.
Kontinuierliches Testen betont die kontinuierliche Prozessverbesserung. Während die Testautomatisierung die kritischen „Sensoren“ für die Erkennung von Softwarefehlern bereitstellt, werden beim kontinuierlichen Testen Prozessverbesserungen hervorgehoben, die das Auftreten zukünftiger Fehler verhindern können. Die ständige Überwachung der Ergebnisse und deren Rückführung in den Prozess ist der Schlüssel zur Verbesserung der Testwirksamkeit. Der Fokus des Teams verlagert sich von der Fehlersuche und -behebung auf die Weiterentwicklung der Fehlervermeidung. Die enge Schleife, die durch kontinuierliche Tests geschaffen wurde, ermöglicht es Managern, von der Brandbekämpfung zur Prozessverbesserung und schließlich zur Optimierung überzugehen.
Kontinuierliche Tests bieten Echtzeitbewertungen, objektive Go / No-Go-Qualitätstore und kontinuierliche Messungen, um den Entwicklungsprozess so zu verfeinern, dass die Geschäftserwartungen kontinuierlich erfüllt werden. Diese Eindämmungsstrategie verhindert das Austreten von Fehlern in nachgeschaltete, teure Sanierungsbemühungen.
Letztendlich setzt Continuous Testing die Frage von "Sind Sie mit dem Testen fertig?" Zurück. zu "Wird das Risiko verstanden und akzeptiert?"
Also, warum überlegen Die kontinuierliche Testlösung von Parasoft? Betrachten wir einige der folgenden Faktoren:
- Erstellen Sie aussagekräftige API-Tests automatisch: Parasoft SOAtest ermöglicht es Benutzern, schnell Testfälle zu erstellen, indem sie den Anwendungsverkehr überwachen und KI und maschinelles Lernen nutzen, um diese Tests sinnvoll, wartbar und skalierbar zu machen. Ohne dies ist es äußerst schwierig, schnell die richtige Anzahl von Testfällen innerhalb einer engen Frist zu erstellen
- Integrieren Sie die Testausführung in die kontinuierliche Integration So können selbst die komplexesten Einheiten, APIs, Benutzeroberflächen oder End-to-End-Testfälle mit einer vereinfachten Befehlszeilenausführung oder programmgesteuert über einen offenen API-Aufruf ausgeführt werden. Durch die nahtlose Integration von Parasoft SOAtest in die Service-Virtualisierung können automatisierte Tests von ihren Abhängigkeiten entkoppelt und kontinuierlich ausgeführt werden, was die Integration der Testausführung in CI-Plattformen erleichtert und die Erstellung von Skripten zur dynamischen und kontinuierlichen Ausführung von Testfällen überflüssig macht
- Reduzieren Sie den Zeitaufwand für Anwendungsänderungen indem Sie darauf hinweisen, wann und wo sich die Anwendung ändert und wie Sie die erforderlichen Testfälle aktualisieren, damit sie so schnell wie möglich für ein kontinuierliches Feedback verfügbar sind. Der Change Advisor von Parasoft SOAtest reduziert den Aufwand für die Nacharbeit von Tests bei Anwendungsänderungen erheblich. Parasoft SelenicDie AI-gestützten Locator-Empfehlungen und die Selbstheilung reduzieren die Kosten für die Wartung Ihrer UI-Tests, wenn sich die Anwendung ändert.
- Integrieren Sie kontinuierliche Tests in die DevOps-Pipeline Dies ist für jede kontinuierliche Testinitiative unerlässlich. die Integration von Funktionstests in die Software Delivery Pipeline und die DevOps Toolchain. Die preisgekrönte DevOps-Lösung von Parasoft bietet eine offene und interoperable Plattform für die Erstellung und Ausführung von API-Tests, sodass Benutzer eine Verbindung zu vielen Tools in der Toolchain herstellen und sinnvolle Maßnahmen ergreifen können, von der Erstellung über die Ausführung bis hin zum Abrufen der Ergebnisse.