„Marzipan?“, ich reiche dem Softwareentwickler Wolfgang die Schachtel Lübecker Marzipan über den Tisch. Ich weiss, dass er nicht widerstehen kann, so wie er weiss, dass ich eine Gegenleistung möchte. Vorsichtig nimmt er eins und schaut mich etwas unglücklich an. „Nimm ruhig zwei“, ich nicke ihm aufmunternd zu. Seine Schultern sacken etwas zusammen, als er fragt „Was funktioniert nicht?“
Mein Beruf ist Software Tester. Selbst nenne ich mich gerne „Die arme Sau“. Oder den „Meckersack“. Aber was macht ein Tester eigentlich den ganzen Tag?
Software regiert unser Leben. Sie ist allgegenwärtig. Wenn ich am Morgen auf meine Withings Waage steige, dann kann ich beim ersten Kaffee mit sorgenvoller Miene mein Körperfett auf dem Handy kontrollieren. Meistens funktioniert Software reibungslos und unsichtbar – bis wir wegen einer Gleisstörung im Zug festsitzen oder uns ein Bluescreen daran erinnert, dass wir schon länger nicht mehr auf Speichern gedrückt haben.
Die Welt bewegt sich immer schneller
Die Digitale Transformation merke ich im Berufsalltag. Heute heisst Softwareentwicklung häufig: Ein kleines Projekt mit einem Produkt, das möglichst schnell auf den Markt soll. Manchmal auch Software, die nur für eine kurze Zeit am Leben sein wird, z.B. eine Oster-App oder ein elektronischer Weihnachtskalender. Entsprechend heisst „Testen“ heute oft, dass ich nur eine grobe Beschreibung der Software erhalte und dann mit ihr experimentiere. Ich nehme dann die Rolle des Endusers war und prüfe Benutzbarkeit und Verständlichkeit. Entsprechend ist nicht immer klar, ob ein Fehler vorliegt oder nicht. Das können Apps für Smartphones sein, der Online Auftritt eines Tourismus Verbands oder die Bezahlung in einem Geschäft per Handy. Heute gehen Projekte häufig bereits nach wenigen Monaten live, meist in mehreren Releases. Nebenbei checke ich noch, ob die vier Standardsprachen in der Schweiz unterstütz werden, es nicht zu Abstürzen kommt und ob die Darstellung auf diversen Geräten wie gewünscht ist.
How to break Things
Das spannende am Software Testen ist für mich: Das Tüfteln. Ich nehme Software (oder Hardware) und versuche herauszufinden, was nicht funktioniert. Wie kann ich die Software „kaputt machen“? An was haben die Entwickler nicht gedacht? Oder was haben die Business Analysten vergessen zu spezifizieren?
Ein Software Tester versucht herauszufinden, was nicht funktioniert.
Da ich das seit vielen Jahren mache, überträgt sich das auch auf meinen Alltag. Als Youtube-Fotograf werde ich häufig angegriffen, wenn ich „negative Dinge“ über Kameras sage. Dabei ist das für mich die einzig wichtige Information. Was funktioniert steht im Verkaufsprospekt. Ich will wissen, was davon leere Versprechungen sind.
Nicht alle Fehler werden behoben
Hast Du schon einmal gedacht: „Haben die das nicht getestet?“ Nicht alles, was Du als Fehler empfindest, ist streng genommen auch einer. Aber es ist auch klar: Software hat Fehler. Häufig haben wir Tester diese sogar gefunden, aber aus Zeit/Budget-Gründen wurden sie (noch) nicht behoben. Oder sie treten nur in ungewöhnlichen Situationen auf. Qualität ist teuer und nicht immer ist der Markt bereit, das zu bezahlen. Du wirst selbst wissen, wie Du Dich scheust, z.B. für eine Smartphone-App mehr als 10 EUR zu bezahlen.
Nicht jeder bekannte Fehler wird auch behoben.
Je komplexer Software ist und je mehr sie mit anderen Systemen integriert ist, desto mehr Kombinationen an möglichen Systemzuständen gibt es. Entsprechend kann man heute nicht mehr „alles“ testen, auch nicht mit Testautomation. Als Tester muss ich daher immer Risikobasiert vorgehen. Dazu muss ich abschätzen, wie wahrscheinlich ein Fehler in einem Stück Software ist und wie schlimm die Konsequenzen, falls der Fehler eintritt. Medizinische Geräte werden daher anders getestet, als ein Computerspiel.
Langweilig oder Spannend?
Als Software Tester bin ich häufig der Einzige, der eine neue Software wirklich kennt. Ich muss mit den Endusern reden und ihre Probleme verstehen. Ich muss aber auch mit den Entwicklern gut auskommen und der Projektleitung Rede und Antwort stehen. Und am Ende vom Projekt muss ich eine Empfehlung aussprechen – und trage eine wichtige Verantwortung. Der Schaden durch ein fehlerhaftes Release kann trivial sein oder Menschenleben gefährden.
Neben dem manuellen Testen von Software gibt es viele Spezial-Disziplinen. Security-Testing wird immer wichtiger, genauso wie die Automation von Tests oder die Durchführung von Performancetests. Auch die Themen Usability und Design gewinnen an Bedeutung. In meiner Rolle als Vermittler zwischen Fachbereich und Entwicklung muss ich beide Sprachen verstehen. Ich bin kein Datenbank-Administrator, aber ich verstehe genug davon, um bei der Fehlersuche zu helfen. Und ich bin kein Steuerexperte, aber ich kann mit der Sachbearbeiterin über ihre Bedürfnisse an eine Casemanagementsoftware reden.
Dringend gesucht: Nerd mit Sozialkompetenz
Software ist immer mehr vernetzt. Auch die Integration mit Hardware spielt immer mehr eine Rolle. Entsprechend wird es immer wichtiger, dass wir Tester auch technische Skills mitbringen. Dennoch bleibt meine grösste Kompetenz die Zusammenarbeit im Team zu meistern. Als Tester sitze ich zwischen den Fronten. Ich rede mit den Endusern, mit dem Auftraggeber, den Entwicklern. Und ich bin immer derjenige, der die schlechten Nachrichten bringt. Marzipan und Fehlerreport sind bei mir das sprichwörtliche Zuckerbrot und Peitsche.
Software Tester – ein Beruf mit Zukunft?
Wie in anderen Berufen auch, wird viel diskutiert, ob Tester eine Zukunft haben. Meine persönliche Meinung ist ein klares JA. Ich merke aber auch, wie sich der Beruf in den letzten 20 Jahren verändert hat. Es wird künftig (noch) mehr geistige Flexibilität brauchen. Kurze Release-Zyklen, hohe Integration von Software und die Verschmelzung von Hardware und Software (Stichwort Internet of Things) fordern von uns Testern die gleichen Anpassungen, wie von den Entwicklern auch. Unsere Social Skills werden weiter an Bedeutung gewinnen. Reine Routine-Arbeiten, den gleichen Testfall zwanzig mal durchführen, das wird hingegen künftig kaum noch vorkommen.
Sprich: Der Beruf Software Tester bleibt spannend. Und ich halte meinen Marzipan-Vorrat aufgefüllt.