Rolle des Chamäleons – Vergangenheit und Zukunft


Taiab El Berkhami, Consultant Specialist Testing

Sorry, this entry is only available in German. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Ein Austausch mit dem Test Lead Luca

(Aus Trends & Benchmarks Studie Schweiz: https://report.swissq.it )

«Ich kann mich noch ganz gut dran erinnern, als ich von einer neuen Mitarbeiterin nach meiner Rolle gefragt wurde und sie mit meiner Antwort „Ich bin Tester“ nichts anfangen konnte: „Ich meine beruflich!?“. Dieses Gespräch hat mir damals klar gemacht, wie jung meine Rolle als Tester noch ist , und dass sie vielleicht noch nicht so richtig akzeptiert ist. Ich war gespannt, was die Zukunft mit sich bringt und wie sich die Tester-Rolle ändern wird.»

Das Testen ist heute ein wichtiger anerkannter Baustein der Software Entwicklung. Bei einer Befragung zum Thema der Veränderung der Tester-Rolle, hat sich gezeigt, dass es um 4.7% mehr Personen gibt, welche von einer Veränderung überzeugt sind, als Befragte, die nicht an eine Veränderung glauben. Nur 10.5% der gesamten Anzahl der Befragten, haben keine Meinung dazu.

                    Verändert sich die Tester Rolle?                                                                                           

Shift Left: eine Notwendige Entwicklung

«Als Tester habe ich während meiner 10-jähriger Erfahrung gelernt, mich immer wieder an die neuen Entwicklungen anzupassen und neue Fähigkeiten zu erlernen – zuerst in den Phasen der Professionalisierung und Standardisierung, zuletzt bei der Zentralisierung in Test Factories. Jetzt heisst es: Agil! Ich freue mich zwar bereits darauf, jedoch zwingen Veränderungen immer dazu, Neues zu erlernen und sich technisches Wissen anzueignen.»

Definitiv! Es reicht nicht mehr nur ein Chamäleon zu sein! Die kurzen Release-Zyklen und die damit verbundenen kurzen Zeiträume für das Testing fordern von den Testern nicht nur eine enge Zusammenarbeit mit den Entwicklern, sondern auch eine geistige Flexibilität. Zuerst geht es darum, Agilität in bisher traditionell geführten Projekte einzubringen. Dies erlaubt es, die Komplexität von Software Produkten herunterzubrechen. Die kleine Softwarepakete werden in kurzen iterative Zyklen umgesetzt, getestet und deployed.

In einem typischen traditionellen Setup, wird zu wenig Zeit für Testing oder die Implementierung der Features durch die Entwickler eingeplant. Dies führt meistens dazu, dass die Tester ungenügend Zeit für Testdurchführung, Fehlernachtest und Regressionstest zur Verfügung haben. Die Qualität wird dadurch negativ beeinflusst. Durch Agilität erhalten Entwickler früher Feedback über die Qualität. Dadurch sind die Entwickler in der Lage, Fehler frühzeitig zu korrigieren. Dann gibt es nur noch eine Testphase, die als isolierter eigenständiger Schritt am Ende des Entwicklungszyklus stattfindet: der Abnahmetest. Dieser findet nach dem Abschluss des letzten Sprints statt und kann selbständig vom Kunden oder mit Hilfe der Spint-Tester ausgeführt werden. Mit anderen Worten, das Testen fällt nicht komplett aus, sondern es wird verteilt über die einzelnen Iterationen (Sprints).

Ein weiterer Vorteil der Agilität ist, dass die Tester schon bei Design-Meetings anwesend sind. Sie sind dadurch in der Lage in einer sehr frühen Phase, noch bevor die Implementierung anfängt, Fragen zu stellen und Testideen sowie mögliche Test-Szenarien zu kreieren. Dadurch fühlen sich die Tester vertrauter mit dem Projekt und entwickeln ein früheres Verständnis für die Software und Technologien. Wir sprechen hier von der „Linksverschiebung“ des Testings oder auch vom „Shift-Left“-Testing.

Die unten stehende Grafik verdeutlicht das “Shift-Left”-Testing: Das Business Risiko wird so früh wie möglich durch Testfälle abgedeckt. Dies wird erreicht indem die meisten Testfälle auf der zuunterst liegenden Test-Stufe entsprechend der Testpyramide erstellt werden. Kurz gesagt, findet das Testing näher bei der Entwicklung statt.

Durch dieses “Shift-Left”-Testing wird ein konstantes, schnelles und frühes Feedback über die Qualität eines Produkts ermöglicht. Fehler werden somit viel früher gefunden und verbleiben weniger lang in der Applikation.

                                                                                                                                           Shift-Left-Testing

DevOps und Agilität

«Der neuste Hype ist nun DevOps. In Zukunft soll alles automatisch gehen. Da frag ich mich, was das in meiner Welt ändern würde. Die Investitionen verschieben sich jedenfalls weg von Testing, hin zu DevOps.»

Mehr als die Hälfte der Unternehmen in unserer Studie, erhöhten ihre Investitionen in DevOps signifikant (23.6%) oder leicht (28.1%).

                                                               Investitionen in DevOps

Bei dem oben beschriebenen traditionellen Setup, wo die Tester meistens ungenügend Zeit für ihre Tests haben, entspricht das End-Ergebnis sehr oft fehlerhaften Software und einem schlechten Ruf der Entwickler. Um diese Situation zu vermeiden, sollte im ersten Schritt, ein agiles Konzept eingeführt werden. Als Nächstes wird der agile Prozess mit DevOps (Development & Operation) einen Schritt weiter geführt.

Die agile Softwareentwicklung ändert die Art und Weise wie in den Teams programmiert wird. DevOps hingegen stellt einen Wandel in der Unternehmenskultur dar und beschreibt einen Prozess-Verbesserungsansatz und zwar die Art, wie Software in Betrieb genommen und betrieben wird.

DevOps soll durch gemeinsame Prozesse eine effektivere und effizientere Zusammenarbeit der DevOps Bereiche ermöglichen.

DevOps entspricht in diesem Fall der logischen Weiterentwicklung von Agilität. Dabei ist anzumerken, dass Agilität keine notwendige Voraussetzung für DevOps ist. Um die Vorteile von DevOps vollumfänglich zu nutzen, sollte die Agilität in gewissem Masse in der Organisation etabliert sein.

Neue Herausforderungen

Software Firmen sind vermehrt folgender Herausforderung gestellt: dem Gegensatz zwischen der Time-To-Market und dem Wunsch des Kunden nach einem schnelleren Releasezyklus. Defects sollen schneller behoben und die Korrekturen schneller dem Kunden zur Verfügung gestellt werden. Die Firmen müssen also vermehrt in DevOps Prozesse investieren. Mit DevOps sollen die Qualität der Software, die Geschwindigkeit der Entwicklung und der Auslieferung sowie die Zusammenarbeit der Beteiligten im DevOps-Team (Design, Development, Test und Operations) verbessert werden.

Auf der Business-Ebene sollten die Umsätze durch zufriedenere Kunden erhöht werden. Diese Steigerung der Kunden-Zufriedenheit verlangt wiederum das Liefern hochqualitativer Funktionen. Das ganze kann nur erreicht werden, wenn das DevOps-Team in jeder Phase des gesamten DevOps-Prozesses testet und damit die Probleme effizienter angeht. Deswegen ist das kontinuierliches Testen (Continuous Testing) nicht von DevOps zu trennen. Dabei muss angemerkt werden, dass das „Continuous Testing“ nur mittels einer Automatisierung der Testausführung gestaltet werden kann. Continuous Testen bedingt also den Aufbau der Testautomatisierung.                                                                          

Folgende Grafik veranschaulicht, dass das Continuous Testing während des gesamten DevOps Prozesses integriert werden muss.

                                                                                                      DevOps: Continuous Testing

Es ist spannend, was die Zukunft für die Tester-Rolle mit sich bringt. Wir sind jedoch davon überzeugt, dass der Software-Tester Job auf jeden Fall genauso spannend bleibt.

Haben Sie Probleme bei der Umsetzung von Agilität oder DevOps, zögern Sie bitte nicht uns zu kontaktieren. Ihr Erfolg ist auch unser Erfolg!

0 thoughts on “Rolle des Chamäleons – Vergangenheit und Zukunft”


Leave a Reply