fbpx

Das erste Projekt in der Testautomatisierung

Es ist wieder mal so weit und ich möchte euch über meine letzte Lernerfahrung in der Qcademy berichten.

Diesmal dürfen wir wieder an einem sehr interessanten Projekt arbeiten. Gegeben war eine API mit verschiedenen Endpunkten. Es handelte sich dabei, um eine API für eine Tierhandlung. Es wurden nun in unserem fiktiven Unternehmen verschiedene Endpunkte implementiert. Diese sollten jetzt getestet werden. Spannenderweise wurde unser Team, dann in verschiedene Rollen aufgeteilt. Die manuellen Tester sollten eine Teststrategie entwickeln und die Endpunkte manuell testen. Meine Aufgabe als Testautomatisierer war es, ein Testautomatisierungsframework aufzusetzen und die automatisierten Tests zu implementieren.

Bis zu diesem Zeitpunkt hatte ich noch keine Erfahrung, was die Testautomatisierung betrifft. Ich hatte allerdings einige Ansatzpunkte. Zum einen wurde vorgeschrieben, dass das Framework REST-assured genutzt werden sollte, und des Weiteren gab es eine YouTube Videoreihe von Jakob zur Unterstützung.

Die ersten Tage des Sprints verbrachte ich damit, die Videoreihe von Jakob anzuschauen. Sie war sehr hilfreich und gab mir erste Anhaltspunkte. Die nächsten Tage überlegte ich mir dann eine Strategie, welche Methoden ich wie testen wollte. Wie immer fühlte ich mich am Anfang etwas von der Aufgabe überfordert und hatte Zweifel diese meistern zu können.

qcademy-programming-session

Die ersten Herausforderungen

Nachdem ich dann das Projekt aufgesetzt hatte und versuchte, die ersten Testfälle zu implementieren, stieß ich schon auf die ersten Probleme. Leider schlugen alle Tests fehl, obwohl ich die Video-Anleitungen befolgt hatte. Die entsprechenden manuellen Tests mit Postman funktionierten auch ordnungsgemäß, doch die Rest Assured Testfälle hatten immer ein anderes, unerwartetes Ergebnis. 

So musste ich das tun, was ich schon so oft in den letzten Wochen während meiner Programmieraufgaben tun musste. Ich musste auf Fehlersuche gehen und das Netz durchforsten. Nach einiger Recherche fand ich dann die entsprechende Lösung. Ich musste einige Anpassungen vornehmen und dann wurden endlich die korrekten Ergebnisse angezeigt.

Kaum hatte ich das erste Hindernis überwinden und die ersten Testfälle implementiert, da folgte schon die nächste Hürde. Manche Anfragen konnte ich nicht wie bis dato gewohnt programmieren, da andere Formate erwartet wurden. Auch hier waren wieder Recherchearbeit und viel Versuch und Irrtum angesagt, bis es funktionierte. Ähnlich erging es mir, als ich einen Testfall für den Upload einer Datei zu schreiben.

Die Herausforderung bei der Testautomatisierung gehen weiter

Die YouTube Videoreihe von Jakob hatte mir sehr weitergeholfen, doch an vielen Stellen, war es eben doch zusätzlich notwendig eigenständig Lösungen zu finden und diese auszuprobieren.

Manchmal vergingen Stunden und ich kam kein Stück weiter. Dies führte an manchen Tagen zu einigem Frust, doch dann entschloss ich mich dazu, die Aufgabe ruhen zu lassen. Einige Tage später, mit frischem Elan, kühlem Kopf und genug Schlaf, sah die Welt wieder anders aus. Probleme, die ich vorher nicht gelöst bekommen hatte, konnte ich dann doch mit einigem Zeitabstand lösen.

Doch wie so oft folgte ein neues Problem. Diesmal ging es darum, dass ich gewisse Tests erst durchlaufen konnten, wenn ein gewisser Zustand bereits existierte. Ich entschloss mich für eine schnelle Lösung und brachte in Erfahrung, wie ich mit Prioritäten arbeiten konnte.

Die ersten Erfolge in der Testautomatisierung

Nach und nach entstanden dann, mit der Zeit, mehr und mehr automatisierte Testfälle und ich konnte endlich sichtbaren Fortschritt sehen. Der Frust am Anfang hat sich in Ansporn verwandelt und die Aufgabe machte dann sogar noch sehr Spaß. Mir blieb nicht mehr allzu viel Zeit bis zum Sprintende, doch ich konnte die Ziellinie bereits sehen.

Die bisherigen Coding Sessions mit Jessy hatten mir bereits verdeutlicht, dass Programmieren auch eine Frage der Geduld und Ausdauer ist. Manchmal ist etwas Zeit nötig, da man manchmal, denn Wald vor lauter Bäumen nicht sieht.

programming-session

Meine ersten Erfolge in der Testautomatisierung

Als ich dann am Ende 25 Testfälle programmiert hatte und alle Tests grün waren, freute ich mich schon darauf, mein Ergebnis im Review vorzustellen. Jakob und Francesco hatte mir schon oft mitgeteilt, dass auch Menschen ohne IT-Hintergrund, in der Qcademy lernen können, mit der Testautomatisierung zu starten, allerdings hatte ich oft Bedenken, dass dies sehr schwer werden würde. Diese Aufgabe hat mir einen Hoffnungsschimmer gegeben und ich war selbst am Ende erstaunt, dass ich alle Tests zum Laufen gebracht hatte, ohne vorher jemals mit REST-assured gearbeitet zu haben.

Mein Code war am Ende des Tages nicht perfekt und es gab definitiv Potenzial nach oben, doch die Aufgabe war gemeistert und das machte mich sehr froh.

Meine Learnings aus dieser Erfahrung sind, dass wirklich jede:r Person mit Ausdauer, Motivation und Fleiß Testautomatisierung lernen kann, auch ohne Informatik-Grundwissen. Wie auch bei den vorigen Coding-Aufgaben, muss man wohl immer damit rechnen, dass Hürden auf dem Weg zum Ziel auftauchen werden. Doch sollte man sich nicht von den Hürden einschüchtern oder frustrieren lassen. Oft ist die Lösung nur einen Mausklick entfernt. Manchmal hilft es auch etwas Abstand zu gewinnen. 

Es macht definitiv Spaß, neue Dinge zu lernen und seine eigenen Grenzen auszutesten.
Wer dabei Hilfe von erfahrenen Coaches braucht, ist bei der Qcademy genau richtig.

Josef Tuku

Josef Tuku

Softwaretester

Ich habe 6 Jahre Berufserfahrung als manueller Tester im agilen Kontext. Dabei durfte ich bereits spannende Web- und Desktopapplikationen im E-Learning Bereich betreuen und dabei mitwirken, die Qualität stetig zu verbessern. Das explorative Erforschen von Software ist meine große Leidenschaft und nun möchte ich mithilfe der Qcademy mein Tester-Skillset erweitern und die Testautomatisierung meistern.