Testautomatisierung ermöglicht in der Softwareentwicklung besonders schnelle Tests, die vom QA-Team mehrmals am Tag durchgeführt werden können. Warum jedoch auch manuelles Testing nicht vernachlässigt werden sollte, erklärt Jan Wolter, General Manager EU bei Applause.
Um während der digitalen Transformation wettbewerbsfähig zu bleiben, optimieren und aktualisieren Unternehmen ihren Softwareentwicklungs- und Bereitstellungsprozess. Dabei versuchen sie, eine nahtlose CI/CD-Struktur zu schaffen. Technologien wie künstliche Intelligenz, maschinelles Lernen und Testautomatisierung helfen zwar, die Entwicklung effizienter zu gestalten. Bei einer höheren Entwicklungsgeschwindigkeit muss allerdings noch mehr darauf geachtet werden, dass die Qualität der Software Builds weiterhin gewährleistet wird. An welcher Stelle und wie können manuelle Tests also den SDLC beschleunigen?
Beispielsweise durch Shift-Left Testing, welches sich von einem neuen Konzept zu einem anerkannten Buzzword entwickelt hat – viele Unternehmen praktizieren diesen Ansatz mittlerweile. Dabei wird bereits früh im Software-Lebenszyklus getestet. Das Testen zu einem früheren Zeitpunkt im SDLC verlangsamt unter Umständen die Entwicklung etwas und widerspricht dem eigentlichen Ziel der Entwickler, den Code so schnell wie möglich zu erstellen und bereitzustellen. Allerdings lohnt sich dieses Vorgehen für viele Unternehmen, denn es reduziert die Anzahl der Bugs, die an den Endnutzer weitergegeben werden. Durch den Shift-Left sind Entwickler:innen so bereits im Anfangsstadium in der Lage, Probleme zu erkennen und sie somit letzten Endes schneller und effizienter zu beheben. Das wirkt sich schlussendlich positiv auf den Projekterfolg aus. Werden Fehler stattdessen erst am Ende des Entwicklungsprozesses entdeckt, richten sie einen weitaus größeren Schaden an, da ihre Behebung erheblich mehr Zeit, Aufwand und Geld kostet. Daher sind viele Unternehmen bereit, für ein insgesamt besseres Benutzererlebnis Kompromisse bei der Geschwindigkeit einzugehen.
Kollaboration und Echtzeit-Reviews
Im Kern geht es beim Shift-Left Testing darum, dass alle Teammitglieder im Sinne einer verbesserten Qualität zusammenarbeiten. Dabei sollte jedoch die Release-Geschwindigkeit nicht zu stark beeinträchtigt werden. In Sachen Zusammenarbeit ist Pair Programming – dabei arbeiten zwei Entwickler gemeinsam am Code – ein hervorragendes Beispiel dafür, wie wichtig Kollaboration und Echtzeit-Reviews sind, um die Codequalität von Anfang an zu verbessern. Bei dieser Entwicklungsmethode schreibt ein Entwickler den Code, welcher sofort in Echtzeit vom anderen geprüft wird. Die Entwicklung wird effizienter, der Code so fehlerfrei wie möglich.
Der Faktor Mensch
Obwohl Echtzeit-Reviews und Pair Programming den Bestrebungen nach Automatisierung entgegenwirken, sind sie dennoch enorm wichtig, um Testing-Prozesse nach links zu verschieben. Darüber hinaus bieten sie Vorteile gegenüber der Testautomatisierung. Beispielsweise können nur menschliche Tester die dynamische und unvoreingenommene Validierung und Überprüfung von Software bewerkstelligen – Technologien sind dazu einfach noch nicht in der Lage. Automatisierte Tests können zwar feststellen, ob ein beabsichtigtes Ergebnis tatsächlich erreicht wird. Doch sie lässt beispielsweise folgende Fragen unbeantwortet:
-
Ist das Produkt intuitiv und benutzerfreundlich?
-
Ist es außerdem barrierefrei, also für alle potenziellen Endnutzer geeignet?
Automatisierte Softwaretests reichen demnach aus, um Entwickler:innen und QA-Teams mitzuteilen, ob eine Software funktioniert oder nicht. Sie erkennen Probleme, die Menschen unter Umständen übersehen, und tun dies auf flexible und effiziente Weise. Doch in der Realität, wo die Software genutzt und ihr Wert erkannt wird, ist das nicht so einfach. Wenn Software nur in einer Laborumgebung getestet wird, ist sie nicht mit allen möglichen Einflussfaktoren konfrontiert. Denn automatisierte Tests decken einfach nicht die Vielfalt der realen Benutzererfahrungen ab, die Milliarden von Menschen auf der ganzen Welt täglich mit Anwendungen machen.
Bestmögliche Customer Experience
Aus diesem Grund setzen Unternehmen, die ihren Kunden die bestmögliche Customer Experience (CX) und Zugänglichkeit bieten wollen, auch weiterhin Menschen in Softwaretests ein. Doch dabei ist zu beachten, dass Entwickler:innen eine unschätzbare Ressource für Unternehmen sind. Daher ist die Forderung von IT-Führungskräften, dass Developer den Großteil ihrer Zeit weiterhin für die Entwicklung von Anwendungen verwenden, nur logisch. Denn es stimmt, dass Entwickler in einigen Unternehmen mit einer weniger ausgereiften Qualitätssicherung etwas mehr Zeit für Tests aufwenden müssen. Aber idealerweise beansprucht diese Aufgabe so wenig Zeit wie möglich, sodass sie sich wieder schnell ihrer Hauptaufgabe, der Entwicklung hochwertiger Software, widmen können. Dennoch: Shift-Lest Testing führt dazu, dass Entwickler zunehmend mehr Verantwortung für das Testen übernehmen.
Um diesen Mehraufwand für Entwickler auszugleichen, darf automatisiertes Testing somit nicht vernachlässigt werden. Solang das Endprodukt jedoch von Menschen genutzt wird, müssen diese ebenfalls in den Testing-Prozess eingebunden werden. Nur der Mix aus der Effizienz der Testautomatisierung und der menschlichen Testing-Komponente stellt einwandfrei sicher, dass eine Anwendung für den End User bereit und für alle potenziellen Nutzer zugänglich ist.