Holen Sie sich die neuesten wichtigen Update-Informationen für die Log4j-Sicherheitslücke. Sehen Sie sich an, wie Sie das Problem mithilfe der Parasoft-Anleitung beheben können. Erfahren Sie mehr >>

X
BLOG

Warum (und wie) Sie sich vom automatisierten Testen zum kontinuierlichen Testen weiterentwickeln sollten

Warum (und wie) Sie sich vom automatisierten Testen zum kontinuierlichen Testen weiterentwickeln sollten Lesezeit: 4 Minuten

Heutige DevOps- und „Continuous Everything“ -Initiativen erfordern die Fähigkeit, die mit einem Release-Kandidaten verbundenen Risiken sofort und kontinuierlich zu bewerten. Kontinuierliches Testen bietet eine automatisierte, unauffällige Möglichkeit, um sofortiges Feedback zu den mit einem Software-Release-Kandidaten verbundenen Geschäftsrisiken zu erhalten. Es führt Entwicklungsteams dazu, die Geschäftserwartungen zu erfüllen, und hilft Managern, fundierte Entscheidungen zu treffen, um den Geschäftswert eines Release-Kandidaten zu optimieren.

Kontinuierliches Testen ist NICHT einfach mehr Testautomatisierung. Angesichts der Geschäftserwartungen in jeder Phase des SDLC bietet Continuous Testing eine quantitative Risikobewertung sowie umsetzbare Aufgaben, die zur Risikominderung beitragen, bevor sie zur nächsten Phase des SDLC übergehen. Ziel ist es, bedeutungslose Aktivitäten zu eliminieren und Mehrwertaufgaben zu erstellen, die die Entwicklungsorganisation zu einer erfolgreichen Veröffentlichung führen. Dies schützt die Integrität der Benutzererfahrung und schützt das Unternehmen vor den möglichen Auswirkungen von Anwendungsmängeln.

DevOps.com hat kürzlich eine neue veröffentlicht Artikel über kontinuierliche Tests von Parasofts Wayne Ariola. Hier ist ein Auszug aus diesem Artikel…

Vom automatisierten Testen zum kontinuierlichen Testen

Da agile Entwicklungspraktiken ausgereift sind und DevOps-Prinzipien unsere Unternehmenskulturen infiltrieren, erkennen Unternehmen die eindeutige Möglichkeit, die Softwarebereitstellung zu beschleunigen. Wenn Sie jedoch einen Prozess beschleunigen, werden unreife Übungsbereiche wie Tests und Straßensperren viel ausgeprägter. Es ist der Unterschied zwischen dem Fahren über eine Geschwindigkeitsbegrenzung mit 5 Meilen pro Stunde und 50 Meilen pro Stunde ... bei 50 Meilen pro Stunde wird diese Geschwindigkeitsschwelle ziemlich erschütternd sein.

Durch die Beschleunigung eines Geschäftsprozesses werden systembedingte Einschränkungen aufgedeckt, die das gesamte Unternehmen an seine sich am langsamsten bewegende Komponente binden. Im Fall des beschleunigten Softwareentwicklungslebenszyklus (SDLC) ist das Testen zum größten Hindernis geworden, um iterativere Ansätze für die Softwareentwicklung voll auszunutzen. Damit Unternehmen diese transformativen Entwicklungsstrategien nutzen können, müssen sie von der Testautomatisierung zum kontinuierlichen Testen übergehen.

Die Unterscheidung zwischen Testautomatisierung und kontinuierlichem Testen mag wie eine Übung in der Semantik erscheinen, aber die Lücke zwischen der Automatisierung von Funktionstests und der Ausführung eines kontinuierlichen Testprozesses ist erheblich. Diese Lücke wird im Laufe der Zeit geschlossen, wenn der Prozess der Softwarebereitstellung ausgereift ist. Sowohl interne als auch externe Einflüsse werden die Entwicklung kontinuierlicher Tests vorantreiben. Intern werden agile, DevOps- und Lean-Prozessinitiativen die Haupttreiber sein, die die Nachfrage nach Veränderungen erzeugen. Extern werden die Kosten und der Aufwand für die Prüfung staatlicher und branchenbezogener Compliance-Programme der Hauptimpuls für Veränderungen sein.

Eine Roadmap zum Testen

Jede echte Veränderungsinitiative erfordert die Abstimmung von Menschen, Prozessen und Technologie - wobei Technologie ein Wegbereiter und nicht die Silberkugel ist. Es gibt jedoch einige grundlegende Technologiethemen, die wir untersuchen müssen, wenn wir zu einem echten Qualitätssicherungsprozess übergehen. Im Allgemeinen müssen wir uns nicht mehr nur auf die Testautomatisierung konzentrieren, sondern auch den Prozess der Risikomessung automatisieren. Um diese Reise zu beginnen, müssen wir Folgendes berücksichtigen:

Aufgrund der Geschäftsziele müssen Unternehmen auf automatisiertere Methoden zur Qualitätssicherung umsteigen und sich von der taktischen Aufgabe, Software von unten nach oben zu testen, entfernen.

Von kausalen Beobachtungen zur probabilistischen Risikobewertung

Da die Qualitätssicherung (QS) traditionell manuelle oder automatisierte Tests durchführt, konzentriert sich das Feedback aus dem Testaufwand auf den Fall, dass ein Test bestanden oder nicht bestanden wird - dies reicht nicht aus. Tests sind kausal, was bedeutet, dass Tests so konstruiert sind, dass sie einen ganz bestimmten Funktionsumfang validieren und als isolierte Datenpunkte ausgewertet werden. Obwohl diese eigenständigen Datenpunkte kritisch sind, müssen wir sie auch als Eingabe für eine erweiterte Gleichung zur statistischen Identifizierung von Anwendungs-Hotspots verwenden.

Der SDLC erzeugt eine erhebliche Datenmenge, die relativ einfach zu korrelieren ist. Die Überwachung von Prozessmustern kann zu sehr umsetzbaren Ergebnissen führen. Beispielsweise sollte eine Codeüberprüfung ausgelöst werden, wenn bei einer Anwendungskomponente alle folgenden Probleme in einem bestimmten Build für die kontinuierliche Integration auftreten:

  • Regressionsfehler größer als der Durchschnitt
  • Statische Analyse Defektdichte größer als der Durchschnitt
  • Zyklomatische Komplexität größer als ein vorgeschriebener Schwellenwert
  • Von der Fehlerdokumentation zur simulierten Wiedergabe

Das Ping-Pong zwischen Testern und Entwicklern über die Reproduzierbarkeit eines gemeldeten Defekts ist legendär geworden. Es ist schwieriger, einen Defekt in die Entwicklung zurückzuführen, als eine Vorspeise von einem weltberühmten Koch zurückzusenden. Angesichts des aggressiven Ziels, die Software-Release-Zyklen zu beschleunigen, sparen die meisten Unternehmen viel Zeit, indem sie dies nur hin und her eliminieren.

Durch die Nutzung von Service Virtualization zur Simulation einer Testumgebung und / oder von Aufzeichnungs- und Wiedergabetechnologien für virtuelle Maschinen zur Beobachtung der Ausführung eines Programms sollten Tester in der Lage sein, die Entwicklung einer sehr spezifischen Test- und Umgebungsinstanz in einem einfachen Containerpaket zu versenden. Dieses Paket sollte einen Fehler isolieren, indem es mit einem Test gekapselt wird, und Entwicklern das Framework geben, das zur Überprüfung des Fixes erforderlich ist.

Von strukturierten Daten zu strukturierten und unstrukturierten

Die aktuellen Tools und Infrastruktursysteme, die zur Verwaltung des SDLC verwendet werden, haben die Generierung und Integration strukturierter Daten erheblich verbessert (z. B. wie CI-Engines Testergebnisse importieren und präsentieren). Diese Daten sind wertvoll und müssen viel effektiver genutzt werden (wie oben im Abschnitt „Von kausalen Beobachtungen zu probabilistischen“ angegeben).

Die Fülle unstrukturierter Qualitätsdaten, die sowohl auf interne als auch auf öffentlich zugängliche Anwendungen verteilt sind, birgt häufig die Geheimnisse, die den Unterschied zwischen zufriedenen Endbenutzern und unglücklichen potenziellen Kunden ausmachen, die das Produkt eines Mitbewerbers verwenden… [Lesen Sie den Artikel über kontinuierliche Tests auf DevOps.com weiter]

Neues Buch für kontinuierliche Tests: Kontinuierliche Tests für IT-Führungskräfte

Sind Sie bereit, vom automatisierten Testen zum kontinuierlichen Testen überzugehen? Lesen Sie das neue 70-seitige Buch Kontinuierliche Tests für IT-Führungskräfte um zu erfahren, wie kontinuierliche Tests Ihrem Unternehmen bei der Beantwortung der Frage helfen können, "Hat der Release-Kandidat ein akzeptables Geschäftsrisiko?"

Du wirst lernen, wie man:

  • Schließen Sie gemeinsam die Lücke zwischen den Geschäftserwartungen und den DevTest-Aktivitäten
  • Richten Sie ein Sicherheitsnetz ein, mit dem Sie neue Funktionen schneller auf den Markt bringen können
  • Treffen Sie bessere Kompromissentscheidungen, um den Geschäftswert eines Release-Kandidaten zu optimieren
  • Richten Sie Feedback-Schleifen ein, die eine schrittweise und kontinuierliche Prozessverbesserung fördern

Dieses Buch bietet eine Geschäftsperspektive zur Beschleunigung des SDLC und zur sicheren Veröffentlichung. Es richtet sich an leitende Entwicklungsmanager und Führungskräfte, die ein optimales Gleichgewicht zwischen Geschwindigkeit und Qualität erreichen müssen.

Geschrieben von

Parasoft

Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.