Was sind die wichtigsten Trends und Themen, die 2023 im Bereich der Testautomatisierung auf uns zukommen? Das SQ-Magazin hat Expertinnen und Experten aus der Test-automatisierungsbranche gefragt, welche Themen im Jahr 2023 relevant werden und auf welche Trends die Softwarebranche zukünftig schauen wird.
Automation von End-2-End-Tests, Cloud-Based Testing und Low Code
Karsten Kramp, Senior Test Engineer bei diconium
In-Sprint & Branch-Based Test Automation werden immer relevanter! Dabei findet die Entwicklung und Testautomatisierung innerhalb desselben Sprints (Sprint x) statt, womit nachgelagerte Tests (Sprint x+1) vermieden werden können. Das hat den großen Vorteil, dass sich Entwickler und Tester als Team verstehen, um die höchstmögliche Qualität ihres Produktes zu erreichen. Vorzugsweise wird das branch-based Testen eines Feature-Branches durchgeführt, bevor dieser mit dem Main Branch verbunden wird. Dadurch muss der Main Branch nicht nachträglich getestet werden, was ein Continuous Deployment bzw. Release ohne zusätzlichen Testzyklen ermöglicht. Der Vorteil: die Anwendung kann jederzeit deployed oder released werden.
Die Nutzung von Cloud-Diensten für das Testing wird in Zukunft wohl noch wichtiger werden. Denn Cloud-Dienste können die komplette Infrastruktur dynamisch bereitstellen, auf der die Anwendung mit allen Services und Web-Frontends deployed und getestet wird. So haben auch für den Test benötigte Mobilgeräte oder Web-Browser Remote-Zugriff auf die Infrastruktur. Die Virtualisierung erlaubt dabei mehr Flexibilität und ist eine große
Erleichterung für TesterInnen. Außerdem ermöglichen Cloud-Dienste einige weitere Möglichkeiten wie Skalierung, dynamische Stages, Infrastructure on Demand, paralleles Testing, Multi Device Testing und Cross Browser Testing.
End-To-End Testing (E2E) ist das Testen eines kompletten Geschäftsablaufs über alle beteiligten Dienste und Anwendungen hinweg. Die Automatisierung der E2E Tests wird zunehmend wichtiger, um den Aufwand für manuelle E2E Tests zu reduzieren und im besten Fall alle E2E Tests bzw. Workflow Tests als Bestandteil von CI/CD auszuführen. Interessant sind hier auch Low Code Testing Tools.
Von Crossbrowser zu Device Testing und Visualisierung
Jörg Sievers, ,
Ein Trend, der sich nicht nur auf die Automatisierung bezieht, ist die Visualisierung von Arbeitsvorgehen. Waren in früheren Zeiten Reports und eine „Klötzchengrafik“-Oberfläche ausreichend, geht es nun vielmehr darum, Geschäftsprozesse von Anfang an als Flow darzustellen (Domain Driven Design, Domain Storytelling als Beispiel) – und das macht auch vor der Automatisierung nicht Halt.
Als „gegenläufigen“ Trend sehe ich das Crossbrowser Testing, das immer weiter obsolet wird, da die verfügbaren Browser-Engines sich auf weniger als eine Handvoll beschränken und die Kompatibilität heutzutage mehr im Fokus steht als früher. Zunehmend wichtiger wird hingegen das Device Testing, das heißt das Testen verschiedener „Auflösungen“ (aka Breakpoints) und verschiedener Geräte, da man bei den meist verbreiteten auf eine
gute Abdeckung achten sollte.
Screenplay Pattern, SUT Isolierung und Test Piplines
Chris van Bael, Testspezialist und Gründer des Unternehmens tesuqa
Für das Jahr 2023 sehe ich keine wirklich neuen Trends im Bereich der Test-automatisierung. Ich hoffe aber, dass die folgenden drei Praktiken von immer mehr TesterInnen angewendet werden, um innerhalb ihrer Organisation ein wartbares Testautomatisierungs-Framework zu erstellen, das einen echten Mehrwert liefert.
Screenplay Pattern habe ich bereits in mehreren Projekten eingesetzt und dabei die Vorteile von klaren und verständlichen Abstraktionsschichten im Testautomatisierungs-Framework kennengelernt. Anders als der Name vermuten lässt, ist Screenplay Pattern nicht nur auf UI-Tests beschränkt, sondern kann auch auf API-Tests und andere Arten der Testautomatisierung angewendet werden.
Anstatt das SUT in einer Testumgebung mit einem festen Datensatz für alle Tests zu installieren, ist es besser, Container, Mocking und Service-Virtualisierung zu verwenden, um zuverlässigere Tests zu erstellen. End-2-End-Tests sind aufgrund von Problemen mit Testumgebungen und Testdaten nur schwer durchführbar, eine Isolierung des SUT ist hier sehr hilfreich.
Test-Pipelines sind bereits in vielen Unternehmen im Einsatz, leider werden aber immer noch zu viele automatisierte Tests manuell gestartet. Eine Pipeline kann dabei so viel mehr und ist auch ein Enabler für CI/CD und DevOps.
API, Security und Performance-Tests
Maria Shalnova-Weinzierl, Senior Consultant Quality Assurance, ZEISS Digital Innovation
Zwischen Unit- und UI-Tests werden in Web-Projekten oft auch API-Tests ausgeführt und in den CI/CD-Prozess eingebaut. Mit oder ohne Mocks bietet die API-Testautomatisierung eine perfekte Möglichkeit, die Qualität sowohl einer einzelnen Komponente als auch die Qualität der Zusammenarbeit mehrerer Komponenten zu überprüfen. So lassen sich Fehler schneller identifizieren und beheben, ohne den gesamten Deploymentprozess zu
durchlaufen.
Schadsoftware wird immer raffinierter, deswegen ist es sinnvoll, an einigen Stellen des Softwareentwicklungsprozesses auch sicherheitstechnische Überprüfungen durchzuführen.
Manche Sicherheitsprobleme lassen sich mithilfe von API- und UI-Tests feststellen. Je früher sicherheitskritische Aspekte in der Softwareentwicklung berücksichtigt werden, umso besser.
Da viele Anwendungen nicht nur auf einem Rechner, sondern auf vielen mobilen Geräten laufen und viel benutzt werden, könnten Performanz- und Lasttesting mehr an Bedeutung gewinnen. Auch die globale Nutzung von Web-Anwendungen spricht dafür, weil die Antwortzeiten auch aus verschiedenen Ländern nicht allzu hoch sein sollten. Wenn es sich um Web-Shops oder Buchungssysteme wie z. B. Reise- oder Autobuchung handelt, sind Testszenarien wichtig, bei denen mehr Benutzer gleichzeitig eine Anwendung nutzen.
Entwicklungsnahe Testautomatisierungslösungen, API-Tests und KI
Christoph Menke, Principal Consultant, MaibornWolff
Entwicklungsnahe Testautomatisierungslösungen wie Playwright, Cypress oder Selenium werden sich im nächsten Jahr sicherlich weiter verbreiten und Organisationen darin unterstützen, schnelle und stabile neue Versionen bereitzustellen. Die Testautomatisierung in agilen Teams ist ein integraler Teil der Softwareentwicklung. Auch die Bedeutung von API-Tests wird aufgrund der immer größeren Vernetzung von Produkten (z.B. durch das IoT) deutlich zunehmen, uns vor Herausforderungen stellen und spannende neue Lösungen hervorbringen.
Des Weiteren beobachte ich, dass Organisationen mit heterogenen dezentralisierten Systemlandschaften zu einer Zentralisierung der Testautomatisierung von E2E Tests in
diesen komplexen und heterogenen Systemlandschaften übergehen und mit Werkzeugen wie Tosca, Ranorex oder UFT automatisieren.
Spannend finde ich in beiden Bereichen den Einsatz von KI. Hier bin ich besonders neugierig auf die Weiterentwicklung von neuen Lösungen wie die von ASK.ui oder auch die Erweiterungen bestehender Tools wie es z.B. Tosca mit Vision AI macht.