top of page
AutorenbildPia

Was Automation (nicht) für euch tun kann!

Picture: Jotform, Unsplash

Ich bin ein grosser Fan von Automation und jeglichen Tools, die mir das Leben leichter machen. Gleichzeitig arbeite ich gerne mit Menschen. Ein Widerspruch?


Ich liebe mein Home-Office und brauche es, selbstbestimmt und eigenverantwortlich arbeiten zu können. Ebenso benötige ich den Austausch und die Zusammenarbeit im Team.

Nicht weil ich es alleine nicht hinkriege, sondern weil ich weiss, dass wir es als Team noch viel besser hinkriegen.


Mein ideales Team ist divers und verfügt über alle Skills, die es braucht, um ein qualitativ hochwertiges Produkt zu erschaffen und zu betreuen. Klar, dass in diesem Team unterschiedliche Disziplinen und verschiedene Rollen vertreten sind.

In letzter Zeit sehe ich mich jedoch vermehrt mit einem altbekannten Trend konfrontiert:


Automation (in testing) first!


Ich höre und lese Sätze wie:

“Wir brauchen (mehr) Automatisierung, um unsere Qualität zu verbessern.”
“Wir suchen Testautomatisierer:innen, Automation Engineers, Engineers in Testautomation, [you name it].”
“Wir haben keine Verwendung für dich, wenn du keine Tests automatisieren willst oder kannst.”

Ich dachte ernsthaft, wir hätten dieses leidige Entweder-Oder-Thema überwunden. Offensichtlich nicht.

Der Automation-Hype ist wie ein Boomerang. Er kommt immer wieder zurück. Wie der nervige Verwandte, der dich auf jeder Familienfeier auch noch in der letzten Ecke findet und dich bis zur Sperrstunde voll quatscht. Wie die Stechmücken im Sommer, die mich auch gebadet im stärksten Insektenschutz finden und malträtieren.


Ich weiss nicht wie’s euch geht, aber mir langt’s! Meine Ohren glühen von den immer gleichen Statements.

Aus diesem Grund möchte ich hier, basierend auf persönlichen Erfahrungen, mit meinen Top-5 Mythen rund um Automation aufräumen.




Was Automation NICHT für euch tun KANN


1) Fehlende Strategie ausgleichen

Ein Beispiel: Ihr habt dieses fancy One-for-All-Tool im Haus, das irgendwer für viel Geld eingekauft hat und das euch laufend Wartungs- und Lizenzkosten beschert.

Um zumindest ein wenig Return on Investment (ROI) sicherzustellen, setzt ihr das Tool auf der End-to-End (E2E) Teststufe ein. Dafür wirbt die Herstellerfirma schliesslich. Dort wird alles geprüft, End-to-End, wie der Name schon sagt. So weit, so verkehrt. Oftmals ist die oberste Teststufe, a.k.a. E2E, nämlich die falsche.

Ihr müsst euch im Klaren sein, welche Szenarien ihr auf welcher Teststufe und in welcher Form, automatisch, semi-automatisch oder manuell, prüfen wollt und vor allem WARUM.

Welches sind eure kritischen Pfade, was sind eure Geschäftsprozesse, wo im Code ist eure Business Logik eingebettet etc.?

Die allermeisten Szenarien können bereits sehr früh, ab Unit-Teststufe, geprüft werden.

Ohne schlaue (Test-)Automation Strategie lauft ihr Gefahr, zeitliche, monetäre und menschliche Ressourcen unnötig zu strapazieren.

Kein Tool ist schuld, wenn ihr eure Hausaufgaben nicht macht! Wir wissen alle, der Hund hat sie nicht gefressen.


2) Falsche Tests korrigieren

Wenn eure Tests keinen Sinn ergeben, weil sie an eurem Anwendungsfall vorbeitesten, ist Automation weder das Problem noch die Lösung.

Wenn eure Tests den falschen Use Case testen, weil ihr den tatsächlichen nicht verstanden habt, solltet ihr vielleicht aufhören, asynchron zu kommunizieren.

Wenn eure Tests falsch sind, weil kritische Pfade nicht geprüft werden, solltet ihr eure Risiken aufdecken und sicherstellen, dass alle sie kennen.

Wenn eure Tests flaky sind, weil eurem Team Know-How fehlt, solltet ihr dieses Wissen umgehend ins Team holen. Und nein, dafür muss nicht immer eine dedizierte Person angestellt werden. Wie wäre es mit gezieltem Upskilling in Form von Coaching oder Trainings?

Das smarteste Automation-Tool allein kann euch nicht helfen, falsche Tests zu fixen.

Garbarge in, garbage out!

Anmerkung: Ja, KI(Künstliche Intelligenz)-Tools können euch hierbei unterstützen. Aber Achtung! KI ist immer noch eine Maschine. Diese Maschine kennt kein “Ich weiss es nicht”. Sie wird euch immer eine statistisch gesehen wahrscheinliche Lösung präsentieren. Es sei denn, ihr habt euren Prompt ausreichend feingetuned. Und selbst dann, tut mir bitte den Gefallen und vertraut nicht blind auf die KI!

Wann immer ihr KI oder LLMs (Large Language Model) nutzt, unterzieht die Ergebnisse einem kritischen, menschlichen Review.


3) Ownership für Qualität übernehmen

Wenn ihr kein gemeinsames Verständnis von Qualität habt, solltet ihr darüber reden.

Wenn euer Team nicht an einem Strang zieht, um gute Qualität von Beginn an zu integrieren, solltet ihr die Gründe dafür aufdecken.

Wenn Teammitglieder Testing im Aufgabenbereich der anderen sehen, solltet ihr das Verständnis der Zuständigkeiten abstimmen.

Wenn nicht jede und jeder einzelne Verantwortung für Qualität übernimmt, solltet ihr euch fragen, wie es um eure Fehlerkultur bestellt ist.

Wenn Testing eine nachgelagerte Phase, anstatt eines integralen Bestandteils der Entwicklung darstellt, solltet ihr euren Prozess überdenken.

Das beste Automation-Tool kann nicht die Verantwortung für euch übernehmen. Qualität ist Teamverantwortung. Change my mind!


4) Kommunikation & Zusammenarbeit ersetzen

Egal ob New Work oder alteingesessene Organisationsmodelle, wieso wird so wenig und engstirnig kommuniziert? Wieso wird so wenig diskutiert und noch viel weniger gefragt?

Viele denken, wenn sie alles aufschreiben, jedes kleine Detail definieren (was nicht möglich ist) oder dem Team Gestaltungsfreiraum (a.k.a. mit Glück hat die User Story einen Titel) lassen, ist alles nötige gesagt. Ist es nicht!

Jede Anforderung ist eine Einladung zur Konversation und kann die Basis für funktionsübergreifende Zusammenarbeit sein.

Wenn euer Team zwar agil sein möchte und dennoch in Silos denkt und arbeitet, vergrössert Automation die damit einhergehenden Challenges nur noch.

Ihr werdet nicht umhin kommen, interdisziplinär und aktiv aufeinander zuzugehen. Ja, dafür braucht es die Offenheit und Bereitschaft jeder und jedes einzelnen.

Es sei denn, ihr bevorzugt eine Kultur, in der Fingerpointing, Micromanagement und eine hohe Personalfluktuation auf der Tagesordnung stehen.


5) Widerstände beseitigen

Menschen sind Gewohnheitstiere. Wir mögen keine Veränderung. Der Pain muss schon immens sein, damit wir etwas ändern. Jetzt stellt euch vor, ein Verkäufer klopft unaufgefordert an eure Tür mit “dem Ding”, das alles ändert. Es stellt eure bisherige Welt auf den Kopf, kostet euch potenziell eure Daseinsberechtigung, aber hey, es macht alles viel besser. Wie reagiert ihr?

Die meisten von uns reagieren bestenfalls skeptisch, aber sehr wahrscheinlich eher ablehnend. Warum sollte das bei der Umstellung von Arbeitswelten oder der Einführung neuer Tools anders sein?

Wenn ihr Automation in eurer Organisation nutzen wollt, vergesst nicht, euer teuerstes Gut, eure Mitarbeitenden mitzunehmen. Sprecht offen mit ihnen und interessiert euch ehrlich für ihre Gedanken und Befürchtungen. Nur gemeinsam könnt ihr das Beste aus beiden Welten, aus Mensch und Maschine, herausholen.


In diesem Sinne, lasst uns schauen, was die Automation-Maschine so drauf hat, wenn ihr sie mit dem richtigen Treibstoff füttert.


Hier kommen meine Top-5 Tatsachen rund um Automation.




Was Automation für euch tun KANN


1) Schnelleres Feedback & automatische Quality Gates

Smart aufgesetzte Automation, z.B. in CI/CD Pipelines, verkürzt eure Feedback-Zyklen auf ein Minimum. Ihr wisst zeitnah, wo eure Qualität steht, anstatt wochenlang auf Testergebnisse und Bugreports zu warten.

Viele Deployment-Tools verfügen bereits über vollautomatische Quality-Checks für Codequalität, Security/Vulnerability, Accessibility u.ä., die ihr direkt verwenden oder individuell an eure Bedürfnisse anpassen könnt.

Viele Testtools, welche früher getrennt von Entwicklung und Deployment betrieben wurden, lassen sich heute nahtlos in den DevOps-Prozess einbinden. Das schafft Transparenz über alle Teststufen hinweg.

Zudem könnt ihr heute Testumgebungen ad-hoc, auf Knopfdruck in virtuellen Containern hochfahren, Tests automatisch laufen lassen und im Fehlerfall direkt entsprechende Bugs in eurem Trackingtool erstellen lassen.

Manuelles Reporting könnte damit ein Ding der Vergangenheit werden. Ich kann es kaum erwarten ;-)


2) Ressourcen freimachen

Die richtigen Tests zu automatisieren setzt mittel- bis langfristig Ressourcen frei. Eure Tester:innen müssen sich nicht (mehr) mit dem Durchklicken von manuellen Tests quälen, sondern können sich auf anregendere Aufgaben konzentrieren, wie z.B. explorativem Testing. Zudem können sie das Team mit ihrem besonderen Qualitätsfokus mit kritischen Fragestellungen, beim Schreiben von Anforderungen und deren Review, dem Pair Programming, als Quality Rubber Duck oder QA-Coach unterstützen. So profitiert das gesamte Team und die Produktqualität von Automation in Testing.


Anmerkung: Testautomatisierung muss nicht zwingend von Tester:innen implementiert werden. Sie sind darauf spezialisiert, die richtigen Tests zu identifizieren und diese auf der passenden Teststufe zu verordnen. Wenn sie dann noch Spass an Coding haben, ausgezeichnet.

Ich persönlich bin froh, wenn Softwareentwickler:innen als Coding-Profis die Implementierung übernehmen. Sie sind darin einfach besser als ich. Wäre ja auch tragisch, wenn es anders herum wäre. Low-Code und No-Code-Tools mal ausgeklammert.

Wer definiert und wer implementiert ist zweitrangig. Am Ende muss der Mix aus beiden Disziplinen gegeben sein.


3) Fehlerquellen reduzieren

Unzählige Sonntage habe ich an einem Wochenend-Release im Büro verbracht und fassungslos die Fehler in der Produktion angestarrt. Wie konnte das passieren? Wir haben doch alles rigoros getestet.

9 von 10 Mal lag der Fehler nicht am Testing, sondern an der handschriftlichen Checkliste des Infrastrukturbetreibers: “Kollege X hat gestern Abend Step Y im Deployment-Protokoll übersehen. Ups! Sooo, sorry…”

Tut euch selbst einen Gefallen und nutzt automatische Deployments inklusive der richtigen Quality Gates und erspart euch Releases, wie diese.


Zu jener Zeit kannte ich alle Testfälle meiner Applikation auswendig. Ich musste die manuellen Steps nicht einen nach dem anderen durchklicken. So dachten alle in meinem Team. Und dann war es passiert. Es war der 1 Release von 10, in dem wir im Testing etwas übersehen hatten. Das hundertfache manuelle Ausführen der immer gleichen Testfälle hatte uns müde gemacht. Ein ganz normaler menschlicher Fehler und zugleich vermeidbar, denn einer Maschine wäre das nicht passiert.


4) Parallele Testausführung

Noch nie war es so leicht wie heute, Geräte zu simulieren und Browser, Betriebssysteme oder echte Geräte anzusteuern.

Unzählige Tools unterstützen euch dabei, eure Tests einmalig aufzusetzen und diese anschliessend zeitgleich in verschiedenen Konstellationen auszuführen.

Wir sollten, meines Erachtens, alles daran setzen, die Möglichkeiten in diesem Bereich zu nutzen. Sie sparen uns wertvolle Zeit und ermöglichen es, bestehende Ressourcen smarter einzusetzen.


5) Automation & KI

Automation ist aus unserem Alltag nicht mehr wegzudenken und so wird es auch mit KI sein. Die geschickte Kombination aus beidem kann euer Daily Business enorm bereichern und erleichtern. Ich empfehle allen, sich mit den Basics von KI, LLMs und gutem Prompting zu beschäftigen. Kleine Dinge machen hier einen grossen Unterschied. Wenn ihr das Prompting im Griff habt, kann euch die KI bzw. das LLM sehr gut bei strategischen sowie operativen Aufgaben unterstützen.

Sei es beim Brainstorming zu Testdesign oder -strategie, bei der Erstellung von Automation-Skripts oder der Formulierung eindeutiger Akzeptanzkriterien. Die Möglichkeiten sind schier unendlich, genauso wie die Tools, die jeden Tag wie Pilze aus dem Boden spriesen.

Mein Tipp: probiert verschiedenes aus und lasst euch nicht von der unendlichen Auswahl überfordern. Eure Lieblings-LLM liefert euch bestimmt ein paar gute Ideen für Tools, die zu eurem Anwendungsfall passen könnten ;-)


Soviel zu meinen persönlichen Top-5 Mythen und Tatsachen rund um Automation.

Wie ihr seht, die Mischung macht’s.


Darum lasst uns aufhören mit Entweder-Oder und auf die Stärken von Mensch und Maschine in Kombination konzentrieren.


Happy human-powered Automation, allerseits!

6 Ansichten

Aktuelle Beiträge

Alle ansehen

Comments


Commenting has been turned off.
bottom of page