Anzeige

Testautomatisierung

Um neue Anwendungen und Releases schneller bereitzustellen, müssen Unternehmen Continuous Testing in ihre DevOps-Prozesse integrieren. Doch die Automatisierung von End-to-End Functional Tests ist komplex. Welche Hindernisse es auf dem Weg dorthin zu überwinden gilt, erklärt Viktoria Praschl, VP Sales Central Europe bei Tricentis.

Die meisten Unternehmen setzen heute DevOps-Prozesse und agile Entwicklungsmethoden mit in der Regel mindestens täglichen Builds ein. Das Testing läuft dagegen zum Großteil noch manuell ab und bremst dadurch eine schnelle Software-Bereitstellung wieder aus. Denn herkömmliche Testzyklen dauern in der Regel Wochen und kommen den immer kürzeren Release-Frequenzen, die die Digitalisierung mit sich bringt, nicht mehr hinterher. Doch Entwicklungs- und DevOps-Teams brauchen kontinuierliches Feedback während des gesamten Release-Zyklus, um die Qualität ihrer Arbeit sicherzustellen. Dies mit manuellen Tests zu bewerkstelligen, ist schlichtweg unmöglich – selbst wenn man eine ganze Armee an Testern beschäftigen würde. Wenn Unternehmen jedoch nicht kontinuierlich prüfen, wie sich die neuesten Code-Änderungen auf wichtige End-to-End-Transaktionen auswirken, geht das zu Lasten der Nutzererfahrung. Die Folge sind verärgerte Kunden und Reputationsverlust. Um das Dilemma zu lösen, müssen auch Testprozesse agil werden und sich nahtlos in die Continuous Delivery Pipeline integrieren. Eine Entwicklung hin zu Continuous Testing wird unverzichtbar. 

Es gibt noch viel zu tun

Laut Forrester Research ist ein Testautomatisierungsgrad von über 80 Prozent erforderlich, um Continuous Testing zu ermöglichen. Doch davon sind wir noch weit entfernt. Wie der aktuelle World Quality Report zeigt, haben Unternehmen im Durchschnitt erst 15 Prozent ihrer Tests automatisiert. Bisher findet Testautomatisierung vor allem im Bereich der Unit Tests statt, so eine Tricentis-Studie. Da sie eine Funktion oder Klasse isoliert prüfen, lassen sie sich relativ einfach umsetzen. Wesentlich komplexer sind End-to-End Functional Tests, die Ende-zu-Ende Geschäftstransaktionen über viele verschiedene Komponenten und Applikationen hinweg aus der Nutzerperspektive betrachten. Solche Tests zu automatisieren ist schwer. Hier kommen die fünf größten Herausforderungen, vor denen Unternehmen dabei stehen:

1. Zeit und Ressourcen

Häufig unterschätzen Teams den Aufwand, den eine nachhaltige Testautomatisierung mit sich bringt. Zunächst muss man zum Beispiel entscheiden, was überhaupt getestet werden soll und wie. Auch die Einrichtung eines Test-Frameworks, das Wiederverwertbarkeit und datengesteuertes Testen unterstützt, ist wichtig. Während sich die Applikation weiterentwickelt, muss das Test-Framework kontinuierlich synchronisiert und aktualisiert werden. Das ist umso aufwändiger, je größer die Test Suite wird. Dazu kommt die Herausforderung, Fehlermeldungen zu analysieren und False Positives herauszufiltern. All diese Aufgaben kosten Zeit und Ressourcen.

2. Komplexität

Geschäftskritische Transaktionen durchlaufen in der Regel viele verschiedene Technologien, zum Beispiel Mobilgeräte, APIs, SAP und Mainframes. Die Testautomatisierung muss daher in der Lage sein, all diese Technologien zu verbinden. Unternehmen müssen dafür sorgen, dass sie korrekte, sichere und Compliance-konforme Testdaten zur Verfügung haben, um realistische Tests aufzusetzen und komplexe Abfolgen zu durchlaufen – und zwar jedes Mal, wenn der Test ausgeführt wird. Außerdem brauchen sie zuverlässigen, kontinuierlichen und kostengünstigen Zugang zu allen abhängigen Systemen, die für die Tests erforderlich sind, einschließlich APIs und Drittanbieter-Anwendungen.

3. Vertrauen

Testergebnisse bilden die Basis für „Go/No-Go“-Entscheidungen. Daher ist es wichtig, dass man ihnen vertrauen kann. Ein großes Problem stellen hier False Positives dar. Tester müssen solche Fehlalarme untersuchen, erkennen und herausfiltern. Je größer die Test-Suite, desto aufwändiger wird dies, denn umso höher ist die Zahl der False Positives. Sie zu ignorieren wäre jedoch fatal, denn dann nehmen Entwickler auch echte Fehlermeldungen nicht mehr ernst. Am Ende betrachten sie jedes Problem, das beim Testen aufgedeckt wird, als falschen Alarm.

4. Ausrichtung auf die Stakeholder

Bei Continuous Testing geht es darum, den richtigen Stakeholdern zum richtigen Zeitpunkt das richtige Feedback zu geben. Das kann für jeden etwas anderes bedeuten und lässt sich nicht in Metriken wie der Anzahl der Tests messen. Während eines Sprints ist es für Entwickler zum Beispiel wichtig zu erfahren, wenn eine kleine Änderung erhebliche Auswirkung auf die Nutzererfahrung hat. Ein Product Owner möchte vor der Veröffentlichung einer Anwendung hingegen wissen, wie viel Prozent der Risiken getestet sind.

5. Unternehmensweite Umsetzung

Meistens beginnen Unternehmen Testautomatisierungs-Projekte mit ihren leistungsstärksten Teams. Diese begeistern sich am ehesten für Innovationen und tun sich leichter, neue Herausforderungen zu bewältigen. Das ist ein guter Start, muss aber weiter gehen. Nur wenn Unternehmen flächendeckend Testautomatisierung einführen, erzielen sie die Geschwindigkeit, Genauigkeit und Transparenz, die sie für ihre Entwicklungsprozesse benötigen.

Wie kann man die Hürden überwinden?

In der Praxis haben sich vier Strategien bewährt, um die genannten Herausforderungen zu meistern: die Vereinfachung der Automatisierung über den gesamten Technologie Stack hinweg, die Verbesserung der Test-Wartung, API-Testing und die Wahl der richtigen Tools. Eine zentrale Rolle spielt dabei eine KI-basierte Continuous-Testing-Plattform, die es ermöglicht, Softwaretests durchgängig automatisiert, vollständig codelos und intelligent gesteuert durchzuführen. Unternehmen sollten sich nicht länger von manuellen Prozessen ausbremsen lassen. Denn Testautomatisierung ist ein entscheidender Faktor für eine zukunftsfähige Software-Entwicklung und -Bereitstellung. 

www.tricentis.com


Artikel zu diesem Thema

DevSecOps
Okt 10, 2021

Sicherheit geht vor! – DevSecOps in der Praxis

Es ist bereits zehn Jahre her, dass Entwickler anfingen, DevOps-Praktiken in ihre…
Pareto
Mär 31, 2021

Testautomatisierung – aber richtig: Anwendungen besser und schneller bereitstellen

Ohne sie ist der Geschäftserfolg in Gefahr. Doch auch ein Zuviel kann mehr schaden als…

Weitere Artikel

Cloud Security

Cloud Optix für AWS jetzt noch effektiver

Sophos stellt seine AWS (Amazon Web Services)-Erweiterungen für Sophos Cloud Optix vor. Neu ist die automatisierte Erkennung und Reaktion auf Sicherheitsvorfälle in der AWS-Infrastruktur.
Digitales Meeting

New-Work-Umgebungen und Meetings optimal schützen - aber wie?

Mit der strategischen Einführung von New Work verankern Firmen das flexible Arbeiten in Projektteams, das „Work from Anywhere“-Prinzip und hybride Meetings langfristig in ihrer Unternehmensstrategie. Dazu müssen sie in vielen Fällen die ad hoc entstandenen…
Windows 11

Windows 11 – Vor dem Upgrade

Mit Windows 11 stellt Microsoft ein Betriebssystem mit neuen, fortschrittlichen Funktionen zur Verfügung, das sowohl Einzelnutzern als auch Unternehmen eine Reihe potenzieller Vorteile bietet. Während private Anwender sich jedoch in der Regel um nur einen PC…
COBOL

Drei Tipps für eine IT-Strategie von Morgen mit COBOL

Veränderungen von digitalen Strukturen innerhalb eines Unternehmens sind allgegenwärtig: Viele IT-Teams setzen zunehmend auf State-of-the-Art-Technologien und Software und oftmals steht das Ziel im Raum, etablierte Kernsysteme vollständig zu ersetzen.

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.