Low-Code oder No-Code in der Testautomation

01.03.2022
Ralf Röber, Rudolf Grötz
Das SQ Magazin hat eine neue Rubrik. Quality Battle bringt ab sofort zwei Fachleute zusammen, die ein brisantes Thema in Bezug auf Software und IT Qualität kontrovers diskutieren. In dieser Ausgabe streiten Rudolf und Ralf über Low-Code oder No-Code in der Testautomation.

Beide Technologien tragen dazu bei, den Programmieraufwand zu reduzieren und entlasten die IT- Abteilungen. Low-Code- und No-Code-Plattformen haben die IT revolutioniert. Dasselbe gilt für Lösungen der Testautomatisierung, die den Aufwand für Codierung obsolet machen und die keine zusätzlichen Ressourcen für Testautomation zur Verfügung stellen wollen oder können. Low-Code- und No-Code Testautomatisierung (abgekürzt LCNCTA) kann ein Segen für Unternehmen sein, die mit Ressourcenproblemen konfrontiert sind und versuchen, auch die Testautomatisierung damit meistern. Sie kann aber auch ein Fluch sein.

Die zwei Experten, Ralf Röber, CEO bei CometaRocks, und Rudolf Grötz, Agile Engineering Coach für Test & Test Automation bei der Raiffeisen Bank International, streiten freundschaftlich, welche der beiden Techniken die bessere ist und geben Einsichten in ihre Denkweise zum Thema.

Rudolf: LCNCTA als Antwort auf das Ressourcenproblem führt zu nichts, außer zu einem Testcase Repository, das mit zunehmender Größe nicht mehr wartbar ist. Denn dort, wo es keinen Code gibt, können auch die traditionel-len Development Practices wie Design Pattern usw. nicht eingesetzt werden. Ich sage immer: „Test Automation ist Software Entwicklung“ – BASTA. Da ist LCNCTA nur Schnick-Schnack.

Ralf: Wenn ich Testfälle flexibel gestalte, dann spare ich mir Ressourcen, weil ich keine Entwicklerinnen und Entwickler mehr benötige. Zu mindestens im zweiten Schritt, nämlich bei der Wiederverwendung durch den Anwender selbst. Außerdem spare ich, wenn in den Testfällen Fehler auftreten, die durch Nutzung von LCNCTA ohne Entwickler behoben werden können. Gerade heute, wo Entwicklerinnen und Entwickler fehlen, weil der Bedarf an Software hoch ist, ist es entscheidend mehr Freiheiten zu geben, anstatt weniger. Es gibt eine Bewegung, die sich „Citizen Development“ nennt. Hier wird der Fokus in der Entwicklung darauf gelegt, dass alle am Ende mehr und selbstständig machen können (sprich LCNC).
Rudolf: Diese Freiheit geht in die falsche Richtung. Testfälle, die mit LCNCTA Lösungen selber erstellt werden, führen zu Testfällen, die in weiterer Folge, nämlich bei der Wiederverwendung, unwartbar werden. Ganze Testfälle werden neu aufgezeichnet, weil die, die sie nutzen (in den meisten Fällen die Fachabteilungen), nur auf den schnellen Erfolg aus sind. Nach dem Motto: „Ok, der Test läuft. Tschüss mit Ü.“ Das Ganze skaliert nicht. Zum Beispiel bei TestOPS-Ansätzen, wo tausende von Testfällen ablaufen. Dann brauche ich Wiederverwendbarkeit, die ich durch Softwaredesign mit modular aufgebauten mehrfach einsetzbaren Testkomponenten erreichen kann. Ich gebe dir aber recht, dass im Fall von Tests, die nur einmal laufen oder wo ich nur ein paar Testfälle habe (die vielleicht noch mit Recording aufgezeichnet werden), LCNCTA sicher einen Wert liefert.

Ralf: LCNC verschafft allen die Möglichkeit der Veränderung, Anpassung und Lösung der Probleme. Anwenderinnen und Anwender denken nicht in TestOPS-Ansätzen! Hart codierte Softwareentwicklung ist oldschool, unflexibel und letztlich unwirtschaftlich. Wir sehen viele LCNC Anwendungen, die scheitern, weil sie mit viel Code die eigentliche Anwendung verkomplizieren, anstatt sie zu vereinfachen. Test Automation ist Software Entwicklung! Da bin ich deiner Meinung. LCNC sehe ich als Zusatz in der Programmierung. LCNC ist eine Abstraktionsebene, die mit Informatik wenig zu tun hat, ermöglicht, Tests zu erstellen, auszuführen und zu korrigieren.

Beispiel   für   einen   LCNCTA   Testschritt:

„I move mouse to {selector} and click“

Als Hard-Code sieht das dann so aus: driver.findElement(By.xpath(„// input[@name=‘name‘]“)).click();

Die Programmierung in diesem Beispiel ermöglicht es den Selector als ID, Name, contains-text(), css, x-path usw. zu sehen. Das wurde programmiert. Für alle Anwenderinnen und Anwender ist es jetzt einfach. Sie müssen nicht mehr überlegen, ob sie By.xpath oder By.css brauchen.

Rudolf: Aber da haben wir es ja. Du sagst „die Programmierung”. Du brauchst der Code schreibt. Das Killerargument „Mit LCNC kann jede und jeder Tests erstellen.“ zieht nicht! Ich kenne einen CTO, der sein zigtausend Euro schweres LCNC Tools bewirbt mit „Mit unserem Tool können auch ungeübte Fachabteilungen Tests automatisieren!“ Dann zeigt er einen Showcase mit seiner Versicherungsapp, die testautomationsmäßig optimiert ist und sagt „Na, was habe ich gesagt?“ Dann nimmst du die Lösung und versuchst es mit deiner Applikation, die von 50 verschiedenen Leuten geschrieben und nicht testautomationsmäßig optimiert wurde (Dynamische ID, …) und dann, große Überraschung, funktioniert es nicht und fliegt dir um die Ohren. Das ist nur Marketing. Am Ende brauchst du immer jemanden, der den Code schreibt – auch wenn es nur wenig sein sollte, oder Module anlegt usw. Und dann muss wieder gecodet werden, ohne Zeit für Anpassungen, weil Featurecode für das Team geschrieben werden muss. Schau dir nur die Lizenzkosten und Lizenzmodelle für diese Tools an. Ich gebe zu, dass ich auch vielleicht ein wenig voreingenommen bin, da ich noch keine Success-Story aus Sicht von Anwenderinnen und Anwendern gesehen habe. Zeig mir einen von ihnen, die zufrieden sind! Jemanden, der LCNC Testautomation erfolgreich einsetzt!?

Ralf: Ah, vielen Dank für den Ball: „Fehlende Success-Story“. Die LCNCTA Abstraktionsebene ist erfolgreich, wenn sie einfach zu bedienen, performant und flexibel einsetzbar ist. Eine Kollegin von mir, die bei der Daimler AG arbeitet, erzählt Dir gerne Ihre Success-Story. Sie organisiert über 200 Testfälle und testet gegen IBM Cognos, wo dynamische IDs generiert werden. Ergebnis: Testabdeckung rauf, Testzeiten runter, Kosten runter und Zufriedenheit rauf.

0 Kommentare

Einen Kommentar abschicken

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.