Mit Testautomatisierung gegen den IT-Fachkräftemangel

Lesezeit
4 Minuten
Bis jetzt gelesen

Mit Testautomatisierung gegen den IT-Fachkräftemangel

03.05.2023 - 07:10
Veröffentlicht in:

Die globale Wirtschaftslage stellt deutsche Unternehmen vor eine Zerreißprobe: Die digitale Transformation und Weiterentwicklung von Softwareprodukten und Dienstleistungen wird durch den akuten IT-Fachkräftemangel deutlich erschwert. Um dieses Spannungsverhältnis zu entkräften, müssen IT-Entscheider ihre Abteilungen mit Ansätzen wie Testautomatisierung und Testing-as-a-Service befähigen und Prozesse beschleunigen. Denn bei all diesen Herausforderungen ist neben einem nachhaltigen Wandel vor allem Tempo gefragt.

Mit der Geschwindigkeit und dem Tempo der digitalen Veränderungen in der Wirtschaft Schritt halten: Das ist für viele Unternehmen mitunter die größte Herausforderung, mit der sie sich im Zuge der digitalen Transformation konfrontiert sehen. Denn um den sich schnell verändernden Marktbedingungen gerecht zu werden, müssen Unternehmen ihre Geschäftsmodelle und -prozesse anpassen. Mit der Notwendigkeit, bessere und innovative Produkte und Dienstleistungen zu entwickeln, um Wettbewerber zu übertrumpfen, geraten Unternehmen zunehmend unter Druck.

Doch kein Fachbereich leidet mehr unter den Belastungen der digitalen Transformation als IT-Abteilungen, nicht zuletzt wegen des omnipräsenten Fachkräftemangels, der sich weiter zu verschärfen droht. Um die Entwicklung digitaler Produkte und Dienstleistungen schneller und effizienter zu gestalten, setzen viele IT-Führungskräfte auf agile Softwareentwicklung. Obwohl die Methodik bereits seit Jahrzehnten im Einsatz ist, gewinnt sie in der aktuellen Situation noch mehr an Bedeutung. Das führt dazu, dass Entscheidungsträger zunehmend nach Technologien oder Möglichkeiten suchen, die die agile Softwareentwicklung optimieren und sich gleichzeitig sinnvoll in bestehende Arbeitsprozesse integrieren lassen.

Manuelles Softwaretesten als Flaschenhals
Obwohl agile Softwareentwicklung Prozesse effizienter gestalten soll, wird die Methodik für die vom Fachkräftemangel gebeutelten IT-Abteilungen deutscher Unternehmen schnell zur Herausforderung. Insbesondere für Regressionstests fehlen im Entwicklungsprozess oftmals Kapazitäten, auch wenn es sich dabei um einen elementaren Bestandteil des Qualitätsmanagements handelt.

Zu den am meisten aufgeführten Regressionstest gehören sogenannte User Acceptance Tests, die in das Aufgabengebiet der Entscheidungsträger fallen. Sie erfolgen in der Regel manuell und prüfen, ob Anwendungen wie beabsichtigt funktionieren, bevor sie final abgenommen werden. Da Akzeptanztests das Testen der Software aus der Perspektive der Nutzer ermöglichen, sind sie unerlässlich.

Wenn IT-Abteilungen nun in kurzen Zyklen neue Software veröffentlichen wollen, wie es in der agilen Softwareentwicklung erforderlich ist, sind kontinuierliche Akzeptanztests nötig. Aufgrund fehlender zeitlicher Kapazitäten gerät der Prozess jedoch schnell zur Belastung, was die Abnahme verzögert und die (Weiter-)Entwicklung von Produkten oder Dienstleistungen ausbremst. Wie also können IT-Führungskräfte eine Testumgebung schaffen, die die Integrität der agilen Methodik aufrechterhält, während deren Umsetzung oftmals genau das Gegenteil bewirkt? Hier kommt die Testautomatisierung ins Spiel.

Testautomatisierung für effiziente Prozesse
Die Automatisierung von Testprozessen in der Softwareentwicklung gewinnt an Bedeutung. Denn auch wenn manuelles Testen aktuell noch nicht gänzlich ersetzbar ist, lassen sich Regressionstests dadurch optimieren. Zum einen reduziert Testautomatisierung zeitliche Ressourcen, wodurch Fachkräfte mehr Freiraum erhalten, um den Entwicklungsprozess weiter voranzutreiben. Außerdem erhöht der Prozess die Qualität der Software, da es sich beim manuellen Testen um einen monotonen Prozess handelt, der für eine korrekte Ausführung dennoch eine hohe Konzentrationsfähigkeit erfordert und deshalb anfälliger für Fehler ist.

Jedoch gestaltet sich das Testverfahren bei spezialisierten Automatisierungssoftwares aufwendig und kompliziert, weshalb es nur von qualifizierten Entwicklern ausgeführt werden kann. Bei User Acceptance Tests, die nicht in die Verantwortlichkeit der Entwickler fallen, kann dies schnell zu Problemen führen. Deshalb ist es wichtig, dass IT-Verantwortliche hierfür ein Tool wählen, das keine Kenntnisse über die innere Funktionsweise des zu testenden Systems voraussetzt. Insbesondere visuelle und No-Code-Tools senken die Einstiegshürden und befähigen auch Angestellte mit wenigen oder ohne jegliche Programmierkenntnissen, die Tätigkeiten erfolgreich auszuführen. Zudem federn sie eine mögliche Fluktuation im Team ab, da die Automatisierung nicht an spezielle Fähigkeiten einzelner Mitarbeitenden geknüpft ist.

Um möglichst effizient zu testen, sollte das Werkzeug außerdem über virtuelle Maschinen jederzeit in der Cloud abrufbar sein. Denn lokal ausführbare Automatisierungen mit "Capture and Replay"-Verfahren sind meist nicht in der Lage, mehrere Tests gleichzeitig abzuwickeln. Zudem binden sie lokale Rechner, was deren Nutzung während des gesamten Testvorgangs verhindert. Hierbei bieten manche visuell-basierte Tools den Vorteil der technologieunabhängigen Automatisierung, da sie ihre Aktionen anhand des User-Interfaces ausrichten. Ob es sich um eine Desktop-, Mobile- oder Web-Applikation handelt oder mit welcher Technologie diese programmiert wurde, spielt dabei keine Rolle.

Outsourcing ohne internen Know-how-Verlust
Die zunehmende Komplexität von Software erfordert eine skalierbare und automatisierte Testumgebung. Doch für viele Fachabteilungen greift die Testautomatisierung allein noch nicht weit genug. In diesem Fall besteht die Möglichkeit, die gesamte Testinfrastruktur auszulagern. Dabei übernimmt ein Anbieter alle Testaktivitäten, was zu einer Entlastung der Fachabteilungen führt. Zudem stellt Testing-as-a-Service (TaaS) eine flexible Lösung dar, mit der sich User-Acceptance-Tests ohne immensen Zeitaufwand hoch- und herunterskalieren lassen. TaaS umgeht außerdem zentrale Probleme im Outsourcing: Das interne IT-Know-how geht weder verloren, noch muss den Anbietern blind vertraut werden. Doch um die Vorteile von Testing-as-a-Service optimal zu nutzen, sollten Entscheidungsträger bei der Wahl des Anbieters auf bestimmte Kriterien achten.

Zunächst gilt es, Testanforderungen genau zu definieren. Eine präzise Anforderungsanalyse hilft dabei, den Bedarf an Tests und die Art der benötigten Tests zu bestimmen. Bei der Wahl des Anbieters ist außerdem auf eine gemeinsame Sprache und Ergebnisorientierung zu achten sowie auf die Verfügbarkeit eines umfassenden Berichtssystems, das den Kunden einen Überblick über den Teststatus und die Testergebnissen bietet. Das schafft die besten Voraussetzungen, um die Kommunikation zwischen dem Dienstleister und der Fachabteilung so effizient wie möglich zu gestalten. Durch eine transparente und nachvollziehbare Projektdokumentation erhalten IT-Verantwortliche außerdem die Möglichkeit, vertragliche und regulatorische Verpflichtungen nachzuvollziehen und regelmäßig zu prüfen.

Im nächsten Schritt empfiehlt es sich, einen Blick auf die Integration mit bestehenden Tools und Prozessen zu werfen. Denn um eine reibungslose Zusammenarbeit zu gewährleisten, gilt es, den TaaS-Dienstleister nahtlos in vorhandene Entwicklungs- und Testprozesse zu integrieren. Durch die effektive Integration des Anbieters in das Projektteam erleichtern sich die Kommunikation des Testresultate und Behebung der Fehler durch die Entwickler. So lassen sich letztere maximal entlasten und die Entwicklungsgeschwindigkeit um ein Mehrfaches steigern.

Mehr Kommunikation und Zusammenarbeit in der Softwareentwicklung
Da agile Softwareentwicklung ein hohes Maß an Effizienz erfordert, muss sich dies auch in den DevOps sowie in der Kommunikation und Zusammenarbeit zwischen IT-Teams und Business Verantwortlichen widerspiegeln. Die manuelle Durchführung von Akzeptanztests erschwert die Kommunikation von Fehlern und unerwarteten Testergebnissen oftmals aufgrund fehlender Nachvollziehbarkeit von allen beteiligten Akteuren. Das führt nicht nur zu einer längeren Problembehebung, sondern reduziert zudem die Entwicklungsgeschwindigkeit.

Automatisch durchgeführte Akzeptanztests zeigen allen involvierten Teilhabern mithilfe von visuellen Berichten, welche Tests erfolgreich waren und welche Probleme noch zu beheben sind. So unterstützen sie eine effizientere und bessere Zusammenarbeit zwischen verschiedenen Teams. Zudem dienen diese Berichte nicht nur der unmittelbaren Kommunikation der Beteiligten, sie sind auch ein wichtiger Bestandteil der Projektdokumentation und machen Entscheidungen nach längerer Zeit noch nachvollziehbar.

Dazu gehört die sogenannte Visual Test Automation, eine Funktion, die Tests in verschiedenen Umgebungen und Technologien ermöglicht. Dabei stellen visuelle Tests sicher, dass Anwendungen nicht nur funktional sind, sondern auch optisch dem gewünschten Erscheinungsbild entsprechen. Die dadurch entstehenden Reports sind leicht verständlich und lassen sich sogar von weniger technisch versierten Akteuren intuitiv auswerten.

Akzeptanz- und Regressionstests bieten sich besonders für Automatisierung an. Dies kann bereits als Dienstleistung im Rahmen des Testing-as-a-Service erfolgen, bei dem die Fachabteilung die erstellten Tests abnimmt und gefundene Fehler automatisch dokumentiert an die Entwickler kommuniziert.

Fazit
Die digitale Transformation zwingt Unternehmen, sich mit der Optimierung und Skalierung der eigenen Softwareentwicklung zu befassen. Der Baustein Software-Testing lässt sich durch Automatisierung und Testing-as-a-Service kosteneffektiv und zeitsparend gestalten. Dies funktioniert allerdings nur, wenn Entscheidungsträger dabei auf das richtige Automatisierungstool oder den richtigen TaaS-Anbieter setzen.

ln/Dr. Andreas Grau, CEO & Founder testup.io

Ähnliche Beiträge

IT-Tage 2023 – Konferenz für Entwicklung, Datenbanken, DevOps, Security und KI

„Alles unter einem Dach!“ ist das Motto der IT-Tage, der Jahreskonferenz des Fachmagazins Informatik Aktuell. Unter anderem werden Subkonferenzen zu den Themen Software-Entwicklung und -Architektur, Datenbanken, DevOps, Cloud & Serverless, IT-Security, Künstliche Intelligenz, Java, Python oder .NET angeboten.

Microsoft 365 Threat Intelligence verstehen und produktiv nutzen (1)

Mit Microsoft 365 Threat Intelligence können Administratoren auf Funktionen aus der Microsoft-Cloud setzen, um Angriffe zu erkennen und zu bekämpfen. Auf Basis gesammelter Daten lassen sich Vorgehensweisen erarbeiten, mit denen sich Attacken auf Netzwerke und Clouddienste verhindern lassen. Im ersten Teil der Workshopserie erklären wir die Grundlagen des Bedrohungsmanagements und was es mit dem Intelligent Security Graph auf sich hat.

Zero Trust richtig umsetzen

Zero Trust ist mittlerweile state of the art in Sachen Sicherheit. Was dabei häufig unter den Tisch fällt: Ganzheitliche Sichtbarkeit – und zwar bis auf Netzwerkebene – ist die Grundvoraussetzung für das Konzept. Ausgerechnet hier scheitern bereits viele Unternehmen. Die Folge: Blind Spots nehmen ihnen die Sicht. Erfahren Sie im Fachbeitrag, warum Deep Observability bei einer Zero-Trust-Strategie nicht fehlen darf.