Qualität in jeder Phase des Software Lifecycle sichern
Höhere Kundenanforderungen, instabile Wirtschaftslage, Fachkräftemangel: Wie lässt sich trotzdem eine hohe Software-Qualität sicherstellen?
DevOps-Teams müssen heute immer kürzere Release-Zyklen bewältigen. Teilweise stehen bei Cloud-Applikationen sogar mehrere Builds am Tag an. Wie lässt sich dieses Tempo meistern, ohne dass dabei die Qualität auf der Strecke bleibt? Kompromisse können sich Unternehmen weder bei ihrer internen Software noch bei ihren externen Kunden leisten. Die meisten Geschäftsprozesse sind heute IT-basiert und müssen reibungslos funktionieren. Fehler in der Software haben daher erhebliche Auswirkungen auf die Produktivität. Indes stellen Kunden immer höhere Anforderungen an eine Applikation und haben wenig Verständnis für Pannen. Wer schlechte Erfahrungen macht, wechselt schnell zur Konkurrenz. Ein verlässliches Quality Engineering wird daher zum wichtigen Wettbewerbsfaktor.
Doch dabei stehen Unternehmen vor großen Herausforderungen. Viele müssen angesichts der wirtschaftlich turbulenten Zeiten mit knappen Budgets haushalten. Gleichzeitig bleibt der Fachkräftemangel ein anhaltendes Problem, das sich durch den demographischen Wandel noch verschärfen wird. Gerade im Entwicklungs-Bereich fehlen in den meisten Unternehmen qualifizierte Mitarbeiter. Das führt dazu, dass kleine Teams in immer kürzerer Zeit mit weniger finanziellen Mitteln mehr leisten müssen. Damit das gelingt, ist eine neue Qualitätssicherungs-Strategie gefragt.
Ganzheitliches Quality Engineering statt nachträgliches Testing
Traditionell findet die Qualitätssicherung erst am Ende des Entwicklungsprozesses statt. Meist arbeiten die Tester isoliert von den Planern und Entwicklern, sodass ein ganzheitlicher Blick auf das Thema Qualität fehlt. Dadurch werden Probleme oft erst spät bemerkt und sind dann aufwändig zu beheben. Häufig erfolgt das Testing zudem noch manuell oder ist nur teilweise automatisiert. Daher gilt es als Flaschenhals in der Entwicklung und bremst den Release-Prozess aus. Eine solche Testing-Strategie ist angesichts der heute geforderten Dynamik und hohen Ansprüche nicht mehr zeitgemäß.
Vielmehr brauchen Unternehmen einen ganzheitlichen Quality-Engineering-Ansatz, der sich auf Testautomatisierung stützt. Qualität darf nicht länger erst im Nachgang adressiert werden, sondern sollte von Anfang an Thema in jeder Stufe des Software-Lebenszyklus sein: von der Planung über die Code-, Build-, Test- und Deploy-Phase bis hin zum Betrieb. So können Unternehmen Probleme frühzeitig erkennen und schon im Vorfeld beheben, bevor hohe Kosten und Release-Verzögerungen entstehen.
Wie gelingt eine holistische Quality Engineering-Strategie?
Um ein durchgängiges Quality Engineering zu etablieren, ist es entscheidend, sowohl technologische als auch organisatorische Silos aufzubrechen. DevOps-Teams müssen Qualitätssicherung und Testing als festen Bestandteil in die CI/CD-Pipeline integrieren und für alle Applikationen umsetzen – ganz gleich ob Web, Desktop oder mobile. Dabei kommen meist verschiedene Tools zum Einsatz. Diese dürfen nicht isoliert voneinander arbeiten, sondern sollten miteinander vernetzt sein und Daten austauschen. Das ermöglicht es, Qualitätsthemen über den gesamten Software-Lebenszyklus hinweg zu betrachten und Zusammenhänge herzustellen.
Auf organisatorischer Seite ist es wichtig, Tester, Entwickler und Projektmanager zusammenzubringen, sodass sie gemeinschaftlich die Verantwortung für die Qualität einer Applikation übernehmen. Eine Möglichkeit ist zum Beispiel, übergreifende Projektteams zusammenzustellen, in denen Qualitätssicherer Seite an Seite mit den Entwicklern arbeiten. So können die Tester bereits in einer frühen Phase beraten und Einfluss nehmen.
Um das Quality Engineering kontinuierlich weiterzuentwickeln, Prozesse zu optimieren und die besten Tools auszuwählen, ist zudem ein reger Austausch mit anderen Experten wichtig. Diesen ermöglicht zum Beispiel die neue ShiftSync Community, in der sich Entwickler, Tester, Führungskräfte und Branchenführer aus der ganzen Welt vernetzen. Mitglieder können hier Ideen mit anderen teilen, Fragen stellen und neue Techniken erlernen.
Low Code/No Code-Testautomatisierung
Auf technischer Seite spielt Testautomatisierung eine Schlüsselrolle, um ganzheitliches Quality Engineering in die CI/CD-Prozesse zu integrieren. Denn mit manuellen Tests lassen sich die schnellen Iterationen und die damit wachsende Zahl an Test-Cases und Testdaten nicht mehr stemmen. Continuous Testing erfordert einen hohen Automatisierungsgrad. Traditionelle Script-basierte Automatisierungsansätze sind jedoch sehr aufwändig und setzen Entwickler-Know-how voraus.
Viel einfacher und schneller lässt sich Testautomatisierung dagegen mit einer Low-Code/No-Code-Plattform umsetzen. Diese ermöglicht es, Tests zu designen, zu managen und durchzuführen, ohne dass man dafür programmieren muss. Low-Code/No-Code zählt zu den großen Trends in der Software-Entwicklung. Laut einer aktuellen KPMG-Studie setzen bereits 43 Prozent der Unternehmen in Europa ein Low-Code-Framework ein und 20 Prozent haben den Ansatz fest in ihre Software-Entwicklungs-Strategie integriert. Weitere 33 Prozent planen, in den nächsten Jahren Low-Code-Entwicklung einzuführen. Nicht umsonst erwartet das Analystenhaus Gartner, dass der weltweite Low-Code-Markt 2023 um 19,6 Prozent wachsen wird.
Der große Vorteil eines Low-Code/No-Code-Ansatzes besteht darin, dass auch Mitarbeiter ohne Programmierkenntnisse Anwendungen entwickeln, anpassen und testen können. Das entlastet IT-Teams und hilft Unternehmen dabei, trotz Fachkräftemangel ihre Produktivität zu steigern. Indem man Komplexität reduziert, wird es zudem leichter, Quality Engineering teamübergreifend umzusetzen und ein unternehmensweites qualitätsorientiertes Mindset aufzubauen.
KI wird im Quality Engineering unverzichtbar
Auch der Einsatz von künstlicher Intelligenz ist entscheidend, um Entwicklung und Quality Engineering möglichst effizient zu gestalten und zu beschleunigen. Spätestens, seit ChatGPT im Alltag Einzug gehalten hat, gilt KI nicht mehr als „nice to have“, sondern als kritische Komponente für die digitale Transformation. Auch im Quality-Engineering-Bereich birgt die neue Technologie großes Potenzial. Laut dem Capgemini World Quality Report betrachten 86 Prozent der CIOs KI als wichtiges Kriterium bei der Auswahl von Qualitätssicherungs-Lösungen. Intelligente Algorithmen können zum Beispiel die Test-Case-Wartung vereinfachen, indem sie Probleme erkennen und selbstständig beheben.
Wertvolle Unterstützung bieten sie zudem beim Aufbau von API, UI und Unit Tests, bei der Fehleranalyse oder bei der Priorisierung von Tests. Außerdem hilft KI dabei, Quality Engineering sehr früh im Entwicklungsprozess umzusetzen. So können Qualitätssicherer mithilfe von Machine Learning bereits anhand des Mock-up-Designs einer Applikation Test Cases erstellen.
Effiziente Qualitätssicherung als Wettbewerbsvorteil
Mit KI-gestützter Testautomatisierung und einem Low-Code/No-Code-Ansatz können Unternehmen Quality Engineering einfach und effizient in alle Phasen des Software-Lebenszyklus integrieren. Dank der technologischen Unterstützung und dem niederschwelligen Zugang sind auch unerfahrenere Mitarbeiter in der Lage Testing-Aufgaben zu übernehmen. Entwickler, Tester, Planer und Produktmanager können leichter zusammenarbeiten und sich für das gemeinsame Ziel einsetzen: Applikationen zu veröffentlichen, die fehlerfrei funktionieren, problemlos skalieren und Anwender begeistern.
Indem Unternehmen Testing nicht mehr als lästiges Anhängsel betrachten, sondern frühzeitig in den Entwicklungsprozess und in ein ganzheitliches Quality Engineering-Konzept einbinden, vermeiden sie Verzögerungen kurz vor dem Release. Sie verbessern die Qualität ihrer Anwendungen, steigern ihre Innovationsgeschwindigkeit und verschaffen sich einen Wettbewerbsvorteil.
ist VP Sales Central Europe bei Tricentis.