Softwarehelden @ knowis: Test Engineer Andreas

Softwareheroes_Test_Engineer_Andreas

Zur Softwareentwicklung gehört nicht nur das Coden – das Testen sichert die Qualität der Software und ist ein ebenso wichtiger Teil des Lebenszyklus. Wer könnte das besser erklären als Softwareheld Andreas Rupprecht, der seit 2017 Test Engineer bei knowis ist. Im Interview erzählt er, warum es in seinem Job mit der Jagd auf Bugs nicht getan ist und ob man als Softwaretester*in programmieren können muss.

knowis ist ein Softwareunternehmen, das sich auf die Finanzbranche spezialisiert hat, insbesondere auf das Kreditgeschäft. Dabei handelt es sich um einen streng regulierten Bereich, in dem besonders viel Wert auf qualitativ hochwertige Softwareanwendungen gelegt wird.

Ein Ansatz der agilen Softwareentwicklung ist es, Fehler bereits möglichst früh im Prozess zu finden und zu beheben. Die Qualität des Codes ist darum schon während der Entwicklung ein wichtiges Thema für die Softwareentwickler*innen. Aber es braucht auch den Blick auf das fertige Produkt, die Banking Plattform isfinancial, als Ganzes – vor allem durch die Brille des Kunden. Hier ist das Testing Team gefragt.

Andreas_Rupprecht

Wie bei knowis getestet wird, erzählt uns Andreas Rupprecht im nachfolgenden Interview. Noch während seines Wirtschaftsinformatik-Studiums legte er 2015 mit einem Praktikum und anschließender Werkstudententätigkeit den Grundstein für seine berufliche Laufbahn bei knowis.

„Ich schätze bei knowis vor allem die flachen Hierarchien und den lockeren Umgang miteinander. Ich habe hier viele coole Leute mit den gleichen Interessen gefunden, mit denen ich auch regelmäßig über das Arbeitsverhältnis hinaus Pläne mache, zum Beispiel zum gemeinsamen Biken.“

Du bist Teil des Testing-Teams. Wofür seid ihr genau zuständig?

Es gibt ein Zitat von John Ruskin, das unsere Arbeit sehr treffend beschreibt: „Qualität ist kein Zufall, sie ist immer das Ergebnis angestrengten Denkens“. Konkret ist unser Team dafür zuständig, das knowis-Produkt isfinancial zu testen. Vereinfacht gesagt klicken wir die Software durch und prüfen die Richtigkeit, Funktionalität und Bedienbarkeit auf Herz und Nieren. Dabei nehmen wir die Perspektive des späteren Users ein. Außerdem ist das Testing-Team von Anfang an in den Requirement-Prozess des Produktmanagements eingebunden. Wenn wir also schon anhand einer Anforderung absehen können, dass deren Umsetzung zu Qualitätsmängeln führen könnte, haben wir die Möglichkeit bereits an dieser Stelle einzugreifen, um zu verhindern, dass später irgendetwas in der fertigen Software nicht stimmt.

Einen Teil unsers Teams machen die Test Analysts aus. Deren Aufgabe ist es, sich die Anforderungen an die Software gemeinsam mit unserem Product Management anzuschauen. Sie schreiben Test Case Designs, stellen Testpläne auf und machen Spezifikationen, wie wir unser Release testen wollen.

Dann gibt es noch die Test Engineers, zu denen ich gehöre. Die Profile der beiden Rollen sind eigentlich relativ deckungsgleich, aber bei uns Engineers kommt noch eine technische Komponente hinzu. Wir nutzen automatisierte Tests, deren Testskripte durch Frameworks definiert werden. Meine Aufgabe ist es, diese Testskripte zu schreiben und das dahinterliegende Framework so aufzubauen und zu pflegen, dass die Tests quasi einen User imitieren: Klicks machen, Texte in Felder schreiben und überprüfen, ob das erwartete Ergebnis dabei herauskommt.

Bist du als Test Engineer hauptsächlich auf der Jagd nach Bugs?

Das kann man so sagen, aber so formuliert klingt das einfacher als es ist. Ein Developer überprüft natürlich den Code, an dem er arbeitet, aber er testet nicht den großen Zusammenhang. Ich erkläre es mal anhand eines Beispiels: Wenn man ein Textfeld in eine Anwendung einbettet, kann es sein, dass das Textfeld zwar funktioniert, aber vielleicht tut es das nicht mehr, wenn darüber ein Zahlenfeld eingebaut ist. Darum ist es unsere Aufgabe, die Softwarebausteine in das UI einzubauen und so das große Ganze im Zusammenspiel mit anderen Dingen zu testen. Um in der UI zu testen, müssen wir also auch unsere Test-Apps selbst bauen.

Welche Methoden oder Vorgehensweisen gibt es, um Software zu testen?

Für uns steht die Qualitätssicherung an erster Stelle. Wir machen am Anfang eines jeden Release eine Risikoanalyse, um einzuschätzen welche und wie viele der Features kritisch sind. Dabei versuchen wir die Auswirkungen möglicher Fehler in der Software beim Kunden einzuschätzen. Anschließend gilt es zu entscheiden, wieviel man automatisiert und wieviel man manuell testet. Bereits parallel zum eigentlichen Entwicklungsprozess machen wir Feature Tests. Zum Ende des Release haben wir dann eine große Anzahl an Regression Tests; damit meint man wiederholbare Testfälle. So wird sichergestellt, dass sich durch Modifikationen keine neuen Fehler in bestehende Bereiche eingeschlichen haben. Eine weitere Möglichkeit ist es, Use Case Tests einzubeziehen, bei denen ein komplettes Kundenszenario End-to-End durchgespielt wird.

Wie wird man Softwaretester*in? Welche Skills sollte man mitbringen?

DEN klassischen Softwaretester oder DIE klassische Softwaretesterin gibt es nicht. Aber es gibt schon ein paar Eigenschaften, die man haben sollte, um im Bereich Testing zu arbeiten. Man braucht ein Auge für Details. Vielleicht ist das auch einer der Gründe, warum mich meine Kolleg*innen damals direkt für den Posten als Sicherheitsbeauftragter vorgeschlagen haben. Zusätzlich sollte man eine qualitätsorientierte Arbeitsweise mitbringen und motiviert sein, Dingen auf den Grund zu gehen. Ein gewisses Maß an Flexibilität und Kreativität gehört auch dazu, denn in so einem agilen Prozess wie unserer Entwicklung gibt es immer unvorhersehbare Dinge, die deine Arbeit beeinflussen können oder wo man mal um die Ecke denken muss. Was auch notwendig ist: gute Kommunikationsfähigkeit, denn als Tester*in ist man immer im regen Austausch mit anderen Teams; bei uns z. B. mit dem Development und dem Product Management. Menschen auf Fehler hinzuweisen ist ja oft nicht gerade die dankbarste Aufgabe, da hilft ein wenig Fingerspitzengefühl ungemein.

New call-to-actionNeben diesen Soft Skills ist der technische Background wichtig, insbesondere als Test Engineer. Es ist natürlich von Vorteil, wenn das Programmierniveau so hoch ist, dass man sich problemlos mit den Entwickler*innen über die Software austauschen kann. Man sollte auf jeden Fall den grundsätzlichen Umgang mit Programmiersprachen wie Java, JavaScript und Typescript beherrschen. Aber es ist noch kein Meister vom Himmel gefallen; man muss einfach wissen, wo man im Zweifel nachschauen muss oder wen man fragen kann.

Zeigen sich diese Eigenschaften auch in deiner Freizeitgestaltung?

Ich mache viel Sport zum Ausgleich, ich powere mich regelmäßig im Fitnessstudio, beim Wandern oder Mountainbiken aus. Als Informatiker darf man natürlich auch etwas nerdig sein; ich zocke zum Beispiel gern in meiner Freizeit. Außerdem bin ich ein echter Familienmensch und verbringe gerne Zeit mit meiner Frau, meinem Bruder – zum Beispiel beim Sporteln – und meinen Eltern.

Hier findest Du unsere aktuellen Stellenangebote

Informatik ist deine Leidenschaft, aber dir fehlt noch das passende Fahrrad, um dich der Softwarehelden-Crew anzuschließen? Dann ist unser Mitarbeiter-Benefit ‚Business Bike‘ vielleicht interessant für dich. Schau auf unserer Karriereseite vorbei, um weitere Job-Benefits zu entdecken und herauszufinden, in welcher Rolle du dich bei knowis wiederfinden könntest.

Geschrieben von Antonia Hawel

Antonia Hawel ist mitverantwortlich für das Personalmanagement und die Personalentwicklung bei der knowis AG. Sie ist Ansprechpartnerin für Bewerber, Studenten und alle Fragen rund um den Berufseinstieg bei knowis.
Kontakt: karriere@knowis.de , Telefon: +49 941 409249-14

Jetzt teilen

Abonnieren Sie unseren Newsletter

New call-to-action