Der Beruf des/der Software-Tester:in ist in unserer Gesellschaft nicht so bekannt wie beispielsweise der Beruf des Softwareentwicklers. Nichtsdestotrotz steigt der Bedarf nach gut ausgebildeten Software-Tester:innen dramatisch, denn die Digitalisierung bestimmt unser Leben, sei es beruflich oder privat. Eine erfolgreiche Digitalisierung ist ohne qualifizierte Software-Tester:innen nicht möglich. In diesem Artikel erfährst Du alles, was Du über den Beruf des/der Software-Tester:in wissen solltest.
Werde jetzt in 6-12 Monaten Software-Tester!
Was macht ein:e Software-Tester:in?
In einem Satz gesagt: Ein:e Software-Tester:in trägt dazu bei, dass Software entwickelt wird, die Nutzer gerne verwenden. Abhängig vom Softwareentwicklungsprojekt und Kontext übernehmen sie unterschiedliche Aufgaben, jedoch immer mit dem Ziel, als Entwicklungsteam eine optimale Qualität der zu entwickelnden Software zu erreichen.
Eine:n gute:n Software-Tester:in ist ein Qualitäts-Coach, der/die jeden Schritt des Softwareentwicklungsprozesses kontinuierlich analysiert und alle Beteiligten über möglichen Optimierungsbedarf und über die aktuelle Qualität der Softwareanwendung informiert. Je mehr Fähigkeiten ein:e Software-Tester:in hat, desto mehr kann er/sie zu dem Ziel “Software entwickeln, die der Nutzer gerne verwendet” beitragen und desto spannender ist der Beruf.
Nachstehend vier Vergleiche von Software-Tester:innen, damit Du einen Überblick bekommst, wie vielfältig der Beruf sein kann, je nachdem welche Fähigkeiten ein:e Tester:in mitbringt.
Der/die monotone Software-Tester:in
Es gibt Software-Tester:innen, deren Hauptaufgabe es ist, Testfälle auszuführen. Du fragst Dich, was ein Testfall ist? Hier ein einfaches Beispiel:
- Rufe die google.de Seite auf
- Gebe in das Suchfeld “Qcademy” ein
- Überprüfe, ob der erste Eintrag über Qcademy ist
Ein Testfall ist eine Schritt-für-Schritt-Anleitung, die ein:e Software-Tester:in ausführt. Hört sich nicht spannend an? Ist es auch nicht, stell Dir vor, Du müsstest diese Aufgabe den ganzen Tag, Woche, Monat, Jahr… bis zur Rente machen. Wie Du Dir vorstellen kannst, wäre das eine sehr monotoner Job.
Der/die Software-Tester:in, der die Anforderungen checkt
Dann gibt es Software-Tester:innen, die den Fokus darauf haben, zu checken, dass die dokumentierten Anforderungen wie beschrieben umgesetzt sind. Anforderungen beschreiben in der Regel, was die Software tun soll. Diese Art von Software-Tester:innen setzen dazu unterschiedliche Techniken und Methoden ein, wie beispielsweise Testentwurfsverfahren. Beherrscht der/die Software-Tester:in noch die Programmierung, dann kann er/sie die Testfälle, die ein:e manuelle:r Tester:in händisch ausführen würde, automatisieren, mit der Hilfe von Testautomatisierung.
Das hört sich für Dich bestimmt schon spannender an, da nicht nur monoton Schritt-für-Schritt-Anleitung ausgeführt werden müssen, sondern verschiedene Techniken und Methoden eingesetzt werden, um die Qualität stetig zu verbessern. Des Weiteren ergänzen die Programmierung und Testautomatisierung Dein Aufgabenspektrum. Diese Art von Tester:in beherrscht in der Regel mehr Fähigkeiten als der/die monotone Tester:in. Wie eingangs beschrieben, je mehr Fähigkeiten ein:e Tester:in hat, desto spannender wird der Beruf.
Der/die kritische Software-Tester:in
Der/Die kritische Software-Tester:in, checkt nicht nur, ob die dokumentierten Anforderungen umgesetzt sind, sondern hinterfragt die Anforderung kritisch: “Ist es das, was der/die Nutzer:in überhaupt benötigt?” Des Weiteren versucht er/sie Fehler früher im Softwareentwicklungsprozess zu identifizieren. Wie er/sie das tut? Zusammen mit dem Team, denn er/sie versucht, als Quality Coach Rahmenbedingungen zu schaffen, dass Qualität ein Team-Ansatz ist und alle am Softwareentwicklungsprozess beteiligten Person dafür verantwortlich sind.
Das hört sich doch jetzt richtig spannend an. Nicht nur, dass die Person unterschiedliche Methoden, Techniken und Programmierung einsetzten darf, sie wird sogar für das kritische Denken bezahlt und trägt zusätzlich noch dazu bei, Qualitätsbewusstsein im Team/Projekt zu schaffen. Neben Hard Skills sind nun auch wichtige Soft Skills wie Kommunikationsfähigkeiten und Menschenkenntnisse gefordert. Es sind schon einige Fähigkeiten, die so ein:e Software-Tester:in mitbringt.
Du denkst jetzt bestimmt noch spannender gehts nicht? Doch jetzt kommen wir zur Königsdisziplin des Softwaretestens.
Der/die Software-Tester:in, der/die hilft Prozesse zu optimieren
Der/Die kritische Tester:in hatte den Fokus, Fehler so früh wie möglich zu finden und alles kritisch zu hinterfragen. Der/Die ich informiere über die Prozesse Software-Tester:in übernimmt die Aufgaben des/der kritischen Tester:in, des Weiteren analysiert er/sie jeden einzelnen Schritt des Softwareentwicklungsprozesses und versucht die Prozesse zu identifizieren, die optimiert werden sollten, um Fehler in der Zukunft zu vermeiden.
Diese Art von Software-Tester:in besitzt einiges an Fähigkeiten aus unterschiedlichen Disziplinen:
- System Theorie
- Lean Management
- Konstruktivismus
- Psychologie
- Kommunikationsfähigkeiten
- Agile Softwareentwicklung
- Testautomatisierung
- Programmierung
- Etc.
Es gibt nur wenige Berufe, die so vielfältig sind, wie dieser. Sich immer in neue Themengebiete einarbeiten und die Möglichkeit haben, dieses Wissen in der Praxis einzusetzen, macht diesen Beruf vielfältig und zugleich spannend.
Was muss eine:e Software-Tester:in können?
Wie in den letzten Abschnitten vorgestellt, kommt es ganz darauf an, über welche Art von Software-Tester:in wir sprechen. Willst Du ein montoner Software-Tester:in sein, dann solltest Du grundlegende Informatik-Skills mitbringen:
- Mit Windows oder Mac arbeiten können
- Schon mal eine Website im Browser geöffnet haben
- Eine mobile Anwendung im Handy benutzt haben
- Wissen wie man eine E-Mail schreibt
Wenn Du bei der Ausführung der Testfälle einen Fehler findest, dann solltest Du auch in der Lage sein, einen Fehlerbericht zu formulieren. Du fragst Dich, was in einen Fehlerbericht reinkommt? Dann kann ich Dir den folgenden Artikel empfehlen: Was gehört in einen Bug Report
Von Vorteil wäre es noch, dass Du wie ein:e Software-Testerin sprichst. Das heißt, die Fachbegriffe kennen und nutzen, die im Software Testing eingesetzt werden.
Die Aufgaben dieses:r Software-Tester:in sind Dir zu monoton und Du willst lieber wissen, was ein:e Software-Tester:in können muss, der/die den Fokus auf dem Checken der Anforderung hat. Super, denn hier wirds schon interessanter.
Fähigkeiten des/der Software-Tester:in, welche die Anforderungen checkt
In der Regel wird so ein:e Software-Tester:in in der agilen Softwareentwicklung arbeiten. Viele Unternehmen setzten Scrum als agiles Framework ein, deswegen solltest Du die Grundlagen kennen und verstehen. Mehr zu Scrum erfährst Du im folgenden Artikel: Ein Einblick in das agile Vorgehensmodell Scrum
Zusätzlich zu den Fachbegriffen solltest Du auch wissen, welche Techniken es gibt, um Testfälle zu entwerfen. Diese werden unterschieden zwischen Black Box & White Box Testing.
Mit den Testentwurfsverfahren kannst Du, dann effektive Testfälle erstellen und sie anschließend ausführen oder automatisieren. Mit effektiv ist gemeint, dass Du mit weniger Testfällen eine höhere Testabdeckung erreichst. Denn Du wirst als Software-Tester:in schnell merken, dass Du eine Softwareanwendung aus Ressourcen-Gründen nicht vollständig testen kannst. Testentwurfsverfahren können Dir hier nützlich sein, die richtige Auswahl an Testfällen zu treffen, um Deine Ressourcen optimal einzusetzen.
Da Du ja, Testfälle nicht monoton ausführen willst, ist es auch ganz nützlich, wenn Du die Programmierung beherrschst. Denn das ist die Grundlage, um automatisierte Testfälle zu erstellen. Wenn Du das kannst, dann kannst Du den monotonen Arbeitsaufwand für Dich drastisch reduzieren und Dich den spannenden Dingen widmen.
Der/die kritische Software-Tester:in
Das Wort kritisch ist hier Programm. Wir assoziieren das Wort kritisch oft mit etwas Negativem. Ein:e kritische:r Software-Tester:in ist jemand, der/die Sachverhalte analysiert und beurteilt. Diese:r Software-Tester:in akzeptiert nicht den Status quo, sondern hinterfragt alles. Das kritische Hinterfragen sollte Dir liegen, denn das ist eine wichtige Eigenschaft, die ein:e gute Software-Tester:in ausmacht. Die Eigenschaft des kritischen Hinterfragens kann man auch üben, also verzweifle nicht, wenn Du es noch nicht einsetzt und ein:e kritische:r Software-Tester:in werden willst.
Die Anforderungen beschreiben in der Regel, was eine Software können soll. Sie bilden die Basis für den ganzen Softwareentwicklungsprozess. Besteht hier eine Abweichung oder Mehrdeutigkeit von dem, was der/die Kund:in wirklich benötigt, kann dies sehr teuer werden, je später die Abweichung identifiziert wird. Ein kritische:e Software-Tester:in versucht, die Abweichung und Mehrdeutigkeiten möglichst schnell zu identifizieren. Aufgrund dessen solltest Du Texte analysieren können und kritisch hinterfragen können.
Ein Fokus des/der kritischen Software-Tester:in ist es, Fehler früher im Softwareentwicklungsprozess zu identifizieren. Hier solltest Du die Fehler, die in der Vergangenheit aufgetreten sind, analysieren können und Dich fragen, ob Du den Fehler nicht früher im Prozess hättest finden können und warum Du ihn nicht früher gefunden hast. Anschließen Aktivitäten vornehmen, um diese Art von Fehlern früher im Prozess zu identifizieren.
Der/die Software-Tester:in, der/die hilft Prozesse zu optimieren
Dieser Art von Software-Tester:in sollten alle anstreben, die schon die bisher aufgezählten Fähigkeiten gemeistert haben. Des Weiteren verfolgt er/sie einen holistischen Ansatz und sieht den Softwareentwicklungsprozess als ganze Einheit, der einen Mehrwert für die Kund:innen und Nutzer:innen schaffen will.
Um zu informieren, welche Prozesse optimiert werden könnten/sollten, muss er/sie die unterschiedlichen Aktivitäten des Softwareentwicklungsprozesses kennen und verstehen. Hier solltest Du wissen, wie eine Softwareanwendung aufgebaut ist, aus welchen Komponenten sie besteht, welche Schnittstellen sie haben und was die Aufgaben der einzelnen Komponenten sind. Aufgrund dessen kann es nicht schaden, dass Du selbst mal eine oder mehrere Anwendungen implementiert hast. Des Weiteren solltest Du alle Aktivitäten des Softwareentwicklungsprozesses kennen und wissen, welche Risiken bestehen und wie diese minimiert werden können.
Aus Fehlern lernen, ist hier Programm. Fehler, die in der Vergangenheit aufgetreten sind, zu analysieren und Muster zu erkennen, sind Eigenschaften, die diese Art von Software-Tester:in mitbringen sollte. Diese Informationen dann zu nutzen, um dazu beizutragen, die Softwareentwicklungsprozesse zu optimieren, hat sich diese Art von Software-Tester:in auf die Fahne geschrieben. Denn Fehler früh zu erkennen ist gut, Fehler zu vermeiden jedoch besser!
Wie viel verdient man als Software-Tester:in
Das kommt ganz auf Deine Fähigkeiten an. Das Einstiegsgehalt liegt in der Regel zwischen 40.000 Euro und 50.000 Euro. Wenn Du Dich kontinuierlich weiterentwickelst, kannst Du nach 3 bis 4 Jahren zwischen 65.000 Euro und 75.000 Euro verdienen. Übernimmst Du später Personalverantwortung, kannst Du auch zwischen 85.000 Euro bis 100.000 Euro verdienen. Hier sprechen wir davon, dass Du eine Festanstellung hast.
Als Freelancer kannst Du beim Einstieg zwischen 50 Euro und 60 Euro die Stunde verlangen. Dann bist Du bei einem Monatseinkommen zwischen 8.000 Euro und 9.600 brutto. Sammelst Du noch mehr Erfahrungen und kannst Du auch die Rolle des Testmanagers übernehmen, dann liegst Du in der Regel bei einem Monatseinkommen von 13.600 Euro bis 16.000 Euro brutto.
Software-Tester:innen Ausbildung
Es gibt kein Studium oder staatliche Ausbildung, die Dich optimal auf den Beruf des/der Software-Tester:in vorbereitet. Viele Tester:innen sind durch Zufall in den Beruf gekommen und diese kommen aus den unterschiedlichen Bereichen wie bspw.
- Linguistik
- BWL
- Soziale Arbeit
- Informatik
- Journalismus
- Pädagogik
- Etc.
Es gibt unterschiedliche Möglichkeiten, um sich auf den Beruf, des/der Software-Tester:in vorzubereiten. Du kannst dies im Selbststudium tun oder mit Unterstützung von erfahrenen Trainern, die Dich nicht nur fachlich auf den Beruf im Software Testing vorbereiten, sondern Dich dabei unterstützen, Dich optimal zu positionieren und den Bewerbungsprozess zu meistern und darüber hinaus.
Wie ich mich im Selbststudium auf den Beruf des/der Software-Tester:in vorbereitet habe, erfährst Du im Artikel „Der Langzeitstudent nimmt seine Zukunft in die eigene Hand“
Mit der richtigen Anleitung geht es oft schneller. Zurzeit gibt es in deutschsprachigen Raum nur die Qcademy, die Dich optimal auf den Einstieg ins Software Testing vorbereitet, auch ohne IT-Vorwissen.
Software-Tester:in Zertifizierung
Gerade als Freiberufler können Dir Zertifizierungen im Software Testing dabei helfen, mehr Projektangebote zu erhalten. Für eine Festanstellung kann es auch ein netter Pluspunkt sein. Die in der Industrie anerkannteste Organisation, ist das International Software Testing Qualifications Board (ISTQB) [1]. Diese Organisation bietet eine Reihe von unterschiedlichen Zertifikaten für Software-Tester:innen an. Du kannst Dich auf diese Zertifikate im Selbststudium oder in einer Schulung vorbereiten.
Die Schulung gehen in der Regel 2 bis 3 Tage und schließen mit einer Zertifizierungsprüfung ab. Die Kosten der Schulung liegen in der Regel bei 1500 Euro bis 1700 Euro.
Fazit IT-Beruf: Software-Tester:in
Der Beruf des/der Software-Tester:in ist sehr spannend und vielfältig. Je mehr Fähigkeiten Du besitzt, desto vielfältiger ist der Beruf im Software Testing in der Regel. Es gibt unterschiedliche Möglichkeiten, um den Einstieg zu meistern. Als Software-Tester:in solltest Du eine Leidenschaft dafür haben, Dich kontinuierlich weiterzuentwickeln.