Seidl_ Software Testing_5 Fragen5 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? (siehe http://www.infoq.com/news/2015/03/agile-testers-influence )

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? (siehe http://www.infoq.com/news/2015/03/creativity-agile-testing)

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:

1.) 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.

2.) 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.

3.) 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