Daniel Gagsteiger hat Elektrotechnik studiert und ist seit Anfang 2020 als Software-Tester bei der Brunel GmbH tätig. Für den 25-Jährigen hat die spannende Stellenausschreibung den Ausschlag gegeben, sich bei dem Ingenieurdienstleister zu bewerben: „Das Aufgabengebiet ist sehr interessant. Außerdem kann ich nun von Projekt zu Projekt meinen Horizont in der Welt der Software-Entwicklung erweitern.“ Welches dabei seine täglichen To-dos sind und welches Vorwissen für seinen Job wichtig ist, berichtet Daniel im Interview.
Was sind die Aufgaben von Software-Tester:innen?
Software-Tester:innen finden Fehler und berichtigen diese. Hierzu entwerfen wir Testfälle, die die Funktionen der zu testenden Software abdecken und durchführen, um so neben der Funktionalität auch die Einhaltung der Spezifikationen zu prüfen. Dabei gehört es auch zu unserem Aufgabenbereich, den Testaufbau – also die Hardware, auf der die Software betrieben wird – im Auge zu behalten. Dieser Aufbau muss stets auf dem neuesten Stand und die Voraussetzungen für die Tests müssen immer gleich sein, sonst werden die Ergebnisse verfälscht. Nach der Durchführung der Testfälle analysiere ich deren Ergebnisse: War der Test fehlerhaft und ist deshalb fehlgeschlagen, muss er nachgebessert werden. Lag der Fehler in der Software, gebe ich diesen an das Entwicklerteam weiter, das bei der Ursachenfindung weiterhin von uns Tester:innen unterstützt wird. Bei einem meiner Projekte – die Entwicklung eines Kombi-Instruments für Fahrzeuge – haben beispielsweise die Entwickler:innen Schritt für Schritt neue Funktionen umgesetzt. Ich war dafür verantwortlich, die Einhaltung der Spezifikationen zu prüfen und die Stabilität des aktuellen Standes der Software im Auge zu behalten.
Mit welchen Tools arbeitet man in diesem Beruf?
Ich arbeite mit Simulationstools, die in der Regel firmenintern entwickelt werden. Mit diesen simuliere ich verschiedene Eingangssignale und stelle so den realen Gebrauch der Software nach. Dabei ist es auch möglich, Szenarien zu erzeugen, die im Alltag nur sehr selten vorkommen und bei der Entwicklung der Software daher oft nicht bedacht werden. Mit einem Tracingtool kann ich außerdem die Ausgaben und Signale der Software anschauen und aufzeichen. Das erleichtert die Fehlersuche enorm.
Welches sind die relevanten Hard-Skills?
Es gibt kein Studium oder keine Ausbildung. Auch ist es nicht unbedingt notwendig, eine bestimmte Programmiersprache zu beherrschen. Essenziell dagegen ist Know-how im Umgang mit Computern und die schnelle Einarbeitung in verschiedene, anfangs noch neue Programme. Neben dem jeweiligen Simulationstool, mit dem hauptsächlich gearbeitet wird und in dem auch die Testfälle erstellt und durchgeführt werden, kommen diverse andere Tools zum Einsatz: beispielsweise für die Verwaltung und Versionierung der Software oder für die Dokumentation der Testergebnisse.
Und welche Soft-Skills sind wichtig?
Gerade Einsteiger:innen sollten über eine schnelle Auffassungsgabe verfügen, um sich zügig in Programme und Testumgebungen einzuarbeiten. Wichtig ist außerdem ein gutes Vorstellungsvermögen, da aus der Spezifikation heraus die Testfälle erstellt werden. Da neben den erwarteten Signalen oder Benutzerinteraktionen mit der Software auch abgetestet werden muss, was bei unerwartetem Input geschieht, sind Flexibilität und Kreativität ebenso relevant. Grundlage für erfolgreiche Projekte ist eine gute Kommunikationsfähigkeit: Software-Tester:innen sind in ständigem Kontakt mit den Entwickler:innen, geben ihnen Feedback über die Testergebnisse, unterstützen sie bei der Fehleranalyse und erhalten von ihnen die um neue Funktionen erweiterte Software-Version, um diese dann erneut zu testen.
Welches sind die größten Herausforderungen in diesem Beruf?
Die größte Herausforderung besteht darin, entlang des gesamten Entwicklungsprozesses den Überblick zu behalten. Denn je mehr Funktionalität eine Software hat, desto aufwändiger werden die Tests. Schließlich müssen stets mehr Funktionen überprüft werden, zwischen denen dann wiederrum die Abhängigkeiten steigen. Entsprechend müssen mehr Szenarien durch die Testfälle abgedeckt werden und so weiter. Wichtig ist dabei, eines immer im Hinterkopf zu behalten: Ein Software-Test ist niemals beendet. Tester wie auch Entwickler:innen gehen davon aus, dass man nie eine zu 100 Prozent fehlerfreie Software erhalten kann. Trotzdem ist es mein Ansporn als Tester, möglichst viele Fehler aufzuspüren.
Daniel Gagsteiger
Daniel Gagsteiger (25) ist seit Anfang 2020 als Software-Tester bei Brunel tätig. Die spannende Stellenausschreibung hat für ihn den Ausschlag gegeben, sich bei dem Ingenieurdienstleister zu bewerben.