Jobs in der IT: Software Tester

In unserem letzten Beitrag aus der Reihe “Jobs in der IT” haben wir das Thema DevOps vorstellt. In unserem heutigen Beitrag geht es um das Testen von Software. Dazu haben wir mit Marta gesprochen, die eine wichtige Rolle in unserem Quality Assurance-Team einnimmt. 

Was bedeutet Software Testing?

Das Testen von Software ist ein Teil des Entwicklungsprozesses und dient dazu, die Software auf verschiedene Mängel zu prüfen und diese zu beseitigen. Es gibt eine Vielzahl von hilfreichen Tools, mit welchen das Testing manuell oder auch automatisiert durchgeführt werden kann.  

Arten von Software Testing

Prinzipiell unterscheidet man in funktionale und nicht-funktionale Tests (functional und non-functional tests). 

Beim funktionalen Test geht es darum zu prüfen, ob die Software die Funktionen aufweist, die zuvor spezifiziert wurden. Es geht also darum herauszufinden zu verifizieren, ob die Software das tut, was sie tun soll. 

Nicht-funktionale Tests hingegen betrachten andere Parameter wie Sicherheit, Belastbarkeit und Stabilität. Unter diesen Bereich fallen Tests wie Penetrationstests, Performance- und Stresstests oder auch Desaster/Recovery Tests. 

Es gibt also eine Reihe von Faktoren, die dafürsprechen, eine Software vor ihrem Einsatz ausgiebig zu testen, funktional wie nicht-funktional. Einer dieser genannten Faktoren ist die Sicherheit: es ist wichtig sicherzustellen, dass der Kunde eine vertrauenswürdige Software erhält, in welcher personenbezogene Daten sicher verarbeitet werden. Dieser Aspekt hat durch europäische Richtlinien (DSGVO) auch bedeutend an Wichtigkeit gewonnen. Ein weiterer fundamentaler Faktor ist natürlich die Qualität: Es sollte getestet werden, ob die Software tatsächlich alle gewünschten Produktanforderungen aufweist und diese fehlerfrei funktionieren.  

Erhöhung der Kundenzufriedenheit

Damit erhöht Software Testing die Kundenzufriedenheit. Nur wenn der Kunde eine Lösung erhält, die weitestgehend frei von Bugs ist, aus Usabilitysicht einwandfrei nutzbar ist und keine Ausfälle zu erwarten sind, wird er mit der Software zufrieden sein.

Usability (UX/UI) ist ein weiteres Thema, welches wir in unserer Serie “Jobs in der IT” betrachten werden. 

Agile Softwareentwicklung

Softwareentwicklung findet heute zumeist agil statt. Hierbei wird der Entwicklungsprozess in Phasen unterteilt, das Testen ist eine davon. Wenn Tests frühzeitig durchführt werden und nicht nur einmalig nach Fertigstellung der Lösung, können Schwachstellen zumeist einfacher behoben werden. Der Prozess test driven development sieht gar die Planung und Beschreibung der Tests vor dem Start der eigentlichen Entwicklung vor. 

Dennoch hält das Klischee des Softwaretesters, der von seinen entwickelnden Kollegen gefürchtet wird, da er jeden noch so kleinen Fehler aufspürt und somit die Arbeit der Entwickler in schlechtem Licht dastehen lässt. 

Was sagen unsere Tester selbst dazu? Wir haben mit Marta gesprochen. 

Ein Einblick in den Job als Software Tester

Marta kam nach Ihrer Tätigkeit für ein deutsches Unternehmen an unseren Standort in Breslau (Polen). An ihrer Position bei Vialutions gefällt ihr sehr, dass sie zwar mit polnischen Kunden Kontakt hat, aber eben auch weiterhin mit deutschen Kunden und so ihre Sprachkenntnisse vertiefen kann. Am meisten begeistert sie an der Arbeit als Software Tester das ständige Lernen und Verbessern der eigenen Skills. Ironischerweise freut sie sich besonders, wenn sie einen Fehler findet, allerdings nicht aus Schadenfreude, sondern weil jeder gefundene Fehler repariert werden kann und die Software somit sicherer, stabiler und funktionaler wird. 

Zu Beginn war Marta bei Vialutions rein als Software Testerin tätig. Mittlerweile unterstützt sie auch im Bereich Business Analysen. Sie ist als Single Point of Contact Hauptansprechpartnerin für eine Reihe von Kunden, bespricht die Erwartungen und Anforderungen in regelmäßigen Meetings und koordiniert diese mit den Entwicklern und Testern. 

Martas Schwerpunkt ist das Testen von Software aus dem Gesundheitsbereich. Auf der einen Seite besteht die Herausforderung in der Einhaltung bestimmter Standards und Richtlinien. Auf der anderen Seite handelt es sich zumeist um Anwendungen, die Ärzten und Patienten die Arbeit und das Leben erleichtert und es ist ein gutes Gefühl, Teil dieses Entwicklungsprozesses zu sein. 

Herausforderungen beim Testen

Auch wenn ihr diese Rolle gefällt, hat sie am meisten Spaß daran, Software selbst zu testen. Als Schwierigkeit in der Rolle als Software Testerin empfindet es Marta, mache Dokumentationen zu verstehen, gerade wenn die Lösung nicht von unseren Entwicklern programmiert wurde. Diese Dokumentationen sind häufig in einer anderen Sprache oder sehr umständlich geschrieben. Doch durch den Austausch innerhalb des Teams konnte bisher noch jedes Problem gelöst werden. 

Marta interessiert sich auch sehr für künstliche Intelligenz im Softwaretestprozess. Sie glaubt, dass dies die Zukunft der IT ist und erweitert ihr Wissen darüber. 

Fazit

Das Testen von Software ist eine wichtige Phase im gesamten Zyklus der Softwareentwicklung und sollte kontinuierlich durchgeführt werden. Auch wenn sich die Suche nach Schwachstellen oder Bugs manchmal anfühlt, wie die Suche nach der Nadel im Heuhaufen, ist die Freude über das Entdecken eines Fehlers umso größer. Denn so können wir sicherstellen, dass unsere Kunde eine sichere, stabile und seinen Anforderungen entsprechende Lösung erhält.