Testen von Software
17.05.2021, 10:37 Uhr
Code-lose Testautomatisierung
Nach No-Code/Low-Code in der Entwicklung steigt das Interesse, diese Art der Herangehensweise auch bei der Überprüfung von Software zu verwenden.
(Quelle: dotnetpro)
Low-Code- und No-Code-Tools sind bereits zu einer festen Größe für Entwicklungsteams auf der ganzen Welt geworden. Sie entlasten Entwickler, indem sie ihnen banale und sich wiederholende Aufgaben abnehmen, während sie gleichzeitig das Risiko menschlicher Fehler reduzieren. Diese Tools für die Entwicklung sind auf dem besten Weg sind, Mainstream zu werden. Jetzt kommen ähnliche Tools für die Testautomatisierung auf den Markt.
Low-Code- und Code-lose Testautomatisierungstools zielen darauf ab, die Dinge einfacher zu machen: in diesem Fall für
- Entwickler
- QA-Tester
- DevOps-Profis
- SDETs (Software Development Engineers in Test)
Die Idee ist, dass jeder in einem Unternehmen – von der Entwicklung bis hin zum Marketing, der Finanzabteilung, der Rechtsabteilung und dem Vertrieb – schnell und einfach automatisierte Tests erstellen kann, ohne dabei eine einzige Zeile Code schreiben zu müssen.
Die Herausforderungen der Testautomatisierung werden nicht verschwinden
Entwicklungs- und QA-Teams müssen ständig der Erwartung gerecht werden, mit weniger Mitteln mehr zu erreichen. Dazu sollen sie vor allem schneller veröffentlichen, ohne gleichzeitig die Qualität zu beeinträchtigen oder die Ausgaben zu erhöhen. Um diese Anforderungen von internen Kunden und Endnutzern zu erfüllen, setzen viele Teams auf Automatisierung. Aber auch die traditionelle Automatisierung hat ihre Tücken.
Dies zeigt auch eine kürzliche Umfrage von Applause zum Thema Testautomatisierung unter weltweit mehr als 2000 QA-, Produkt-, Engineering- und DevOps-Fachleuten. Demnach gibt es nach wie vor einige ernsthafte Hindernisse für die traditionelle Testautomatisierung – sowohl für Unternehmen, die bereits viel Zeit und Ressourcen in die Automatisierung investiert haben, als auch für solche, die in ihrer Automatisierungsreife und -strategie weiter zurückliegen. Letztere gaben in der Umfrage als Grund für das minimale Niveau ihrer Testautomatisierung an, dass sie nicht über die notwendigen Ressourcen verfügen, um diese zu unterstützen. 41 Prozent nennen einen Mangel an qualifizierten und/oder erfahrenen Testautomatisierungsressourcen als ihre größte Herausforderung.
Teams, die ein höheres Niveau der Testautomatisierung erreicht haben, sehen sich hingegen einer größeren Vielfalt an Herausforderungen gegenübergestellt. Mit 20 Prozent gaben die meisten an, dass sie mit der Testautomatisierung zu langsam vorankommen und nicht den erwarteten Abdeckungsgrad erreichen. Diese Herausforderung wurde dicht gefolgt von zwei weiteren:
- 19 Prozent gaben an, dass ihre Testautomatisierung nicht priorisiert ist und daher nicht die erforderliche Zeit für Aufbau und Wartung erhält.
- 18 Prozent nennen einen Mangel an Ressourcen als ihre größte Herausforderung.
Diese Ergebnisse zeigen die Schwierigkeiten der Unternehmen mit der traditionellen Testautomatisierung auf, die sich vor allem auf den Bedarf an mehr Ressourcen und Investitionen sowie auf die Fähigkeit zur Erhöhung der Testabdeckung beziehen. Dies sind genau die Bereiche, in denen die Code-lose Testautomatisierung als Lösung ansetzt. So sehen es auch die Befragten, denn mehr als 56 Prozent gaben an, dass ihr Unternehmen die Anschaffung einer Lösung zur Code-losen Testautomatisierung plant. Der Hauptgrund für den Kauf einer Code-losen Lösung ist laut Umfrage die Notwendigkeit, die Automatisierungsressourcen zu erhöhen und die Testabdeckung zu verbessern.
Traditionelle Automatisierung vs. Codeless Automation
Testautomatisierung ist nicht neu – und sie wird auch nicht verschwinden, selbst wenn Code-lose Tools immer mehr an Bedeutung gewinnen. Das liegt daran, dass Unternehmen mithilfe von Automatisierungen besser in der Lage sind, Software zu entwickeln und zu testen, die sowohl qualitativ hochwertig ist als auch schnell an die Endnutzer freigegeben werden kann. Der Nachteil der traditionellen Testautomatisierung ist jedoch, dass ihr Aufbau ein zeit-, kosten- und ressourcenintensiver Prozess sein kann.
Die traditionelle Automatisierung erfordert Experten in der Programmierung. Nicht nur um Tests zu Beginn zu skripten, sondern auch, um sie im Laufe der Zeit zu warten. Der Bedarf an verschiedenen Tools für die Automatisierung – wie Appium, Selenium, Apple Simulatoren, Android Emulatoren, Element Locator, Locator-Strategien und andere – trägt weiterhin zur Komplexität der traditionellen Automatisierung und dem Bedarf an spezifischem Fachwissen bei. Da die Nachfrage nach SDETs hoch, aber das Angebot gering ist, kommen zudem höhere Personalkosten auf Unternehmen zu. Außerdem werden diese SDETs ständig aus den QA-Teams abgezogen und in die Entwicklung versetzt, was oft dazu führt, dass Testautomatisierungsprojekte auf halbem Weg stecken bleiben und nie vollständig abgeschlossen werden.
Der übergreifende Wert der Code-losen Testautomatisierung besteht hingegen darin, dass jeder sie durchführen kann. Bei einer Code-losen Lösung bewegt sich ein Nutzer einfach durch einen Testfall und seine Aktionen werden dabei automatisch aufgezeichnet. Das Code-lose Tool übersetzt diese Sitzung dann in ein Automatisierungsskript. Dieser rationalisierte Prozess führt zu höherer Geschwindigkeit, schnelleren Releases und geringeren Kosten. Und während Code-lose Testautomatisierungstools ursprünglich nur für Webanwendungen gedacht waren, bieten inzwischen mehr Tools die Möglichkeit, Testautomatisierungsskripte ebenso für mobile Geräte – sowohl für Android als auch für iOS – zu erstellen.
Letztendlich sollten Unternehmen Code-lose Tools und traditionelle Automatisierung nicht als ein Entweder-Oder-Szenario betrachten. Code-lose Testautomatisierungstools eignen sich hervorragend für weniger aufwändige Szenarien wie zum Beispiel Regressionstests. Dieser Einsatz von Code-losen Tools ermöglicht es SDETs, sich auf höher priorisierte und komplexere Automatisierung zu konzentrieren. Idealerweise sollten sowohl die traditionelle Automatisierung als auch Code-lose Tools genutzt werden, um die Geschwindigkeit und Qualität zu maximieren, mit der Software an die Endnutzer geliefert werden kann.
Quelle: Jan Wolter