Der Hanser-Verlag hat mich zu den Themen Kreativität, Agile Projekte, die Macht des Testers und künftige Herausforderungen interviewt. Das Interview ist ursprünglich im Blog “Hanser-Update” erschienen.
5 Fragen – 5 Antworten, das neue Fachformat unserer Autoren: diesmal mit Richard Seidl über Software Testing!
Herr Seidl, welche Themen werden im Bereich Software Testing gerade heiß diskutiert?
Ich nehme in meinem Umfeld aktuell zwei Themen wahr, die die Tester bewegen:
- Wie schaffe ich den Switch als Tester von einem traditionellen in ein agiles Projekt?
- Wie schaffe ich es, die Testautomatisierung so richtig abheben zu lassen?
… können Sie bitte beide Thematiken kurz für unsere Leser umreißen?
Es gibt Tester, die erleben den Wechsel in ein agiles Umfeld mühelos und begeistern sich für die neuen Möglichkeiten. Aber ebenso wie agile Projekte kein Allheilmittel sind, gibt es Tester, die mit diesem Vorgehen wenig anfangen können und sich in agilen Projekten verloren vorkommen. Ausbildungen wie der Certified Agile Tester sind eine empfehlenswerte Grundlage für das Verständnis, können aber konkrete Situationen und Probleme im Alltag nicht adressieren. Testern in dieser Situation empfehle ich, sich einmal im Detail mit den Werten, Konzepten und der Motivation der agilen Vorgehensweise auseinanderzusetzen. Dort steckt so viel mehr als ein anderer Prozess dahinter. Helfen kann auch die Frage: Wie kann ich meine Fähigkeiten am besten in das Projekt einbringen, um den Wert und die Qualität zu steigern – vielleicht auch auf unkonventionelle, neue Weise?
Kommt man hier nicht auf einen grünen Zweig, bleibt immer noch die Möglichkeit, sich ehrlich zu fragen, ob das überhaupt der richtige Weg für einen selbst ist. Es gibt ja bei weitem nicht nur agile Projekte und im Team Frust zu schieben, bringt niemanden etwas.
Bei der Automatisierung lassen sich das Konzept und die Fachlichkeit viel eher lernen und in den Alltag integrieren. Ein großer Fallstrick liegt in der Komplexität des Testobjekts und des Automatisierungstools oder -frameworks. Der Teufel steckt hier im Detail. Ein aussagekräftiges Proof of Concept und eine Entscheidung und Implementierung im Team halte ich für essentiell. Aber vor allem den Mut zu haben, den eingeschlagenen Weg bei großen Hindernissen auch wieder zu verlassen und vielleicht andere Ansätze der Automatisierung zu verfolgen, vermisse ich manchmal. Wenn ein Ansatz nicht zielführend ist, bringt es wenig, noch mehr Energie reinzustecken. Ebenso dürfen auch mehrere Tools und Frameworks parallel zum Einsatz kommen, wenn eines nicht ausreicht. Hier wird meiner Meinung nach oft viel zu spät reagiert. Man verrennt sich in das bestehende Konzept und verliert wertvolle Zeit statt sich mit einer besser geeigneten Alternative zu beschäftigen. Statt der Testabdeckung steigt der Frust. Um abzuheben, benötigt Testautomatisierung viel Aufmerksamkeit – von der Planung bis in die Wartung des Projekts.
Ist es wahr, dass Agilität Testern mehr Einfluss bzw. mehr Macht gibt?
Agile Projekte bieten von ihrer Struktur her eine stärkere Ausrichtung auf Qualität – unter der Verantwortung aller Teammitglieder. Fehlende Qualität wird im agilen Umfeld auch viel schneller sichtbar. Die Grundvoraussetzung, dass Tester im Team Gehör finden, ist also mehr gegeben als vielleicht in traditionellen Projektstrukturen. Entscheidend ist, was daraus gemacht wird. Es gibt traditionell aufgesetzte Projekte, die Qualität optimal leben, aber genauso auch agile Projekte, die daran scheitern, wenn Qualität nicht von allen im Team getragen wird.
Gehen Kreativität und Testing zusammen?
Auf jeden Fall! Kreativität wird für Tester immer wichtiger und das ist sehr gut so. Meiner Meinung nach zeigt uns das, dass einige qualitätssteigernde Maßnahmen – gerade durch das agile Vorgehen gepusht – greifen: Entwickler implementieren mehr Unit-Tests und arbeiten z.B. mit TDD. Das härtet in vielen Fällen die Software und macht sie robuster. Code-Reviews werden gewissenhafter durchgeführt. Die Unterstützung durch Entwicklungs- und Test-Frameworks wird besser. Testautomatisierung wird integraler Bestandteil der Entwicklung. All das sind Erleichterungen für den Tester und er kann seine Aufmerksamkeit auf wichtigere Dinge lenken: Gute Tests designen und aus Anwendersicht das Produkt hinterfragen. Beides erfordert mehr Kreativität und neue Skills.
Wie wird sich Ihrer Meinung nach Software Testing in den nächsten Jahren entwickeln?
Meiner Meinung nach werden 3 Bewegungen das Thema Software-Test in den nächsten Jahren stärker beeinflussen:
- Es werden neue “Spielfelder” für den Software-Test entstehen, ähnlich wie gerade beim Testen von Mobile Apps. Eine Fülle neuer Geräteklassen steht am Start. Ob Smart Home, 3D-Druck, selbstfahrende Autos, Drohnen, Internet of Things – da gibt es eine Menge Software, die getestet werden möchte. Dafür müssen u.a. Testmethoden angepasst oder Testframeworks geschaffen werden.
- Qualität wird noch mehr essentielle Aufgabe des ganzen Projektteams. Der klassische Tester, der gebetsmühlenartig um Qualität mahnt und als alleiniger “Qualitätskontrolleur” agiert, wird an Bedeutung verlieren.
- Software-Test wird noch mehr Fokus auf die Bedürfnisse der Anwender legen müssen. Das Nutzer-Erlebnis, die Usability, die intuitive Bedienung werden mehr Gewichtung erhalten als die formale Überprüfung der umgesetzten Anforderungen.
Welche Skills werden bei Testern künftig benötigt?
Um für die beschriebenen Entwicklungen gewappnet zu sein, würde ich folgende Skills hervorheben und versuche diese auch in meinen Teams zu forcieren:
- Kreativität für das Design von nutzenbringenden Tests
- Beratungs-Skills für die Unterstützung anderer Team-Mitglieder (Entwickler etc.)
- “Anwender-Versteher”, der den Nutzer und sein Verhalten vertreten kann
- Technisches Verständnis für Nutzung der Test-(Automatisierungs)-Frameworks
Häufig gestellte Fragen
Warum fällt manchen Testern der Wechsel von einem traditionellen in ein agiles Projekt schwer?
Weil agiles Arbeiten mehr ist als ein anderer Prozess. Manche Tester begeistern sich mühelos für die neuen Möglichkeiten, andere fühlen sich verloren, weil sie mit dem Vorgehen wenig anfangen können. Hilfreich ist die Auseinandersetzung mit den Werten, Konzepten und der Motivation hinter dem agilen Vorgehen, verbunden mit der Frage, wie die eigenen Fähigkeiten Wert und Qualität im Projekt steigern können, notfalls auf unkonventionelle Weise.
Reicht eine Zertifizierung als Vorbereitung auf das Testen in agilen Teams?
Nein. Ausbildungen wie der Certified Agile Tester galten 2015 als empfehlenswerte Grundlage für das Verständnis, konkrete Situationen und Probleme im Alltag konnten sie aber nicht adressieren. Wer nach der Schulung nicht weiterkommt, sollte auch ehrlich prüfen, ob der agile Weg für ihn selbst der richtige ist. Es gibt bei weitem nicht nur agile Projekte, und Frust im Team nützt niemandem.
Woran scheitert Testautomatisierung in der Praxis am häufigsten?
An der Komplexität von Testobjekt und Automatisierungswerkzeug: Der Teufel steckt im Detail. Häufig wird zu spät reagiert. Teams verrennen sich in das bestehende Konzept, stecken immer mehr Energie in einen Ansatz, der nicht zielführend ist, und verlieren Zeit, statt sich mit einer besser geeigneten Alternative zu beschäftigen. Statt der Testabdeckung steigt dann der Frust.
Sollte man sich bei der Testautomatisierung auf ein Werkzeug festlegen?
Nicht zwingend. Mehrere Tools und Frameworks dürfen parallel zum Einsatz kommen, wenn eines allein nicht ausreicht. Vor der Entscheidung steht ein aussagekräftiges Proof of Concept, und Auswahl wie Implementierung gehören ins Team. Wichtig ist der Mut, einen eingeschlagenen Weg bei großen Hindernissen wieder zu verlassen und andere Ansätze der Automatisierung zu verfolgen.
Hängt gute Softwarequalität vom gewählten Vorgehensmodell ab?
Nein. Agile Projekte sind von ihrer Struktur her stärker auf Qualität ausgerichtet, unter der Verantwortung aller Teammitglieder, und fehlende Qualität wird schneller sichtbar. Entscheidend ist aber, was daraus gemacht wird. Es gibt traditionell aufgesetzte Projekte, die Qualität optimal leben, und ebenso agile Projekte, die scheitern, weil Qualität nicht von allen im Team getragen wird.
Wird der Tester überflüssig, wenn Entwickler mehr Unit-Tests und TDD einsetzen?
Nein, seine Arbeit verschiebt sich. Mehr Unit-Tests, TDD, gewissenhaftere Code-Reviews, bessere Frameworks und Testautomatisierung als integraler Teil der Entwicklung härten die Software und entlasten den Tester. Dadurch kann er die Aufmerksamkeit auf Wichtigeres lenken: gute Tests designen und das Produkt aus Anwendersicht hinterfragen. Beides verlangt mehr Kreativität und neue Skills.
Verliert der Tester als alleiniger Qualitätskontrolleur an Bedeutung?
Der Artikel erwartete 2015, dass Qualität noch stärker zur Aufgabe des ganzen Projektteams wird und der klassische Tester, der gebetsmühlenartig um Qualität mahnt und als alleiniger Qualitätskontrolleur agiert, an Bedeutung verliert. Parallel wurden neue Spielfelder gesehen: Smart Home, 3D-Druck, selbstfahrende Autos, Drohnen, Internet of Things, mit angepassten Testmethoden und neuen Testframeworks.
Welche Fähigkeiten außer Testwissen braucht ein Tester?
Neben Kreativität für das Design nutzenbringender Tests nannte der Artikel 2015 drei weitere Fähigkeiten: Beratungs-Skills zur Unterstützung anderer Teammitglieder wie Entwickler, die Rolle des “Anwender-Verstehers”, der den Nutzer und sein Verhalten vertreten kann, und technisches Verständnis für die Nutzung von Test- und Automatisierungsframeworks. Nutzererlebnis und Usability sollten dabei mehr Gewicht erhalten als die formale Überprüfung der Anforderungen.


