Podcast #4: Entwickelnde Tester oder testende Entwickler?

🕒 Hördauer: 37 Minuten

In dieser Folge diskutieren Max, Mihail und Markus moderiert von Mario, wer im Team die Automatisierung von Tests übernehmen sollte. Sollten es Tester sein, die Tests nebenbei automatisieren oder Entwickler, die auch die Aufgabe der Testautomatisierung übernehmen ? Neben dem Mindset der Testautomatisierer wird auf das Umfeld der Testautomatisierung in den agilen Teams eingegangen und die Wartung automatisierter Tests thematisiert. Letztlich hängt viel vom eingesetzten Framework ab und den Einstiegshürden bei der Übernahme von Automatisierungsaufgaben. In der lebhaften Auseinandersetzung kommen viele Aspekte zur Sprache und eine Antwort auf die Eingangsfrage bleibt letztlich offen.

Hör' Dir hier den ganzen Podcast an:

 

 

Diese Themen erwarten Dich:

0:55 Testautomatisierung als eigenständiges Projekt

2:00 Rollen/Tätigkeiten/Mindsets von Testern und Entwicklern

5:22 Vorteile einer ausgelagerten Qualitätssicherung

5:50 Skills eines entwickelnden Testers

6:20 Architekturen für Testautomatisierung

7:05 Kontextabhängige Skillprofile von Testern

7:48 Cucumber/Keyword-Driven Frameworks

8:40 User Journeys und Testverantwortlichkeiten

9:50 User Stories für Testaktivitäten

10:25 Entwickler als Tester und Testautomatisierer

12:05 Technologien als Herausforderung für entwickelnde Tester

13:25 Wie kommt der Testautomatisierer zu seinen Testfällen

14:15 Architekturen für entwickelnde Tester

16:15 Testen im Entwicklungsprozess und Nutzen von Leerlauf

18:00 Testen in Sprintzyklen

19:20 Testen kritischer Software auf Basis stabiler Versionen

20:50 Testen in Shared Teams

21:10 Ausbildung von Testern zu Testautomatisierern

23:30 Layerbezogener Einsatz von Testern

24:30 Motivation von Testern zu entwicklungsnahen Tätigkeiten

28:30 Testautomatisierung als Jobkiller ?

29:30 Testautomatisierung als Kernkompetenz

30:18 Fachlicher Tester als Reviewer für Serviceschichten

31:56 Tester und die Festlegung von Testdaten

32:25 Businesskenntnisse bei Testern und Entwicklern

33:30 Entwickler zwischen Devops und Testen

34:18 Mehrfachbelastung von Entwicklern durch Testautomatisierung

35:28 Zusammenfassung

Die Definition der Rollen

Zu Beginn der Diskussion war es wichtig, klarzustellen, dass unsere Debatte sich nicht auf formale Scrum-Rollen bezog, sondern auf die tatsächlichen Tätigkeiten innerhalb des Entwicklungsprozesses. Mihail Luca hob hervor, dass ein Tester sich primär der Qualitätssicherung widmet – sein Credo ist 'You will make it, I will break it', was ein ganz anderes Mindset als das eines Entwicklers symbolisiert. Hier beginnt bereits die Differenzierung zwischen den beiden Rollen: Während der Tester darauf aus ist, Fehler zu finden und somit die Qualität zu sichern, fokussiert sich der Entwickler auf das Schaffen neuer Features oder das Beheben von Bugs.

 

Die Verschmelzung der Rollen

Max Bodsch wies darauf hin, dass die Grenzen zwischen den Rollen in der heutigen Zeit nicht mehr so strikt sind wie früher. Die agile Arbeitsweise und Methodiken wie Scrum erfordern eine gewisse Flexibilität in den Rollen. Ein moderner Ansatz sieht vor, dass Entwickler auch in die Welt des Testens eintauchen und umgekehrt. Dieser Perspektivenwechsel ist notwendig geworden, um den zunehmend komplexeren Anforderungen moderner Softwareentwicklung gerecht zu werden. Dabei ist es essenziell, dass auch Tester ein Grundverständnis für Entwicklung haben sollten – nicht um selbst komplexe Systemarchitekturen zu entwerfen, sondern um effektiv an der Automatisierung von Tests teilhaben zu können.

 

Die Herausforderung der Testautomatisierung

Markus Thaler thematisierte einen wichtigen Aspekt: Wer sollte für die Automatisierung von Tests verantwortlich sein? In vielen Fällen sind es die Tester selbst, die Testfälle definieren müssen. Das bedeutet jedoch nicht unbedingt, dass sie auch für den technischen Teil der Automatisierung zuständig sein sollten. Das bringt uns zur grundlegenden Überlegung zurück – sollten Entwickler in den Prozess eingebunden werden oder liegt die Verantwortung ausschließlich bei den Testern? Mihail Luca argumentierte dabei für ein Modell, in dem Tester zumindest rudimentäre Entwicklungsaufgaben übernehmen können sollten, um nicht jedes Mal einen Entwickler aus seinem eigentlichen Arbeitsbereich herausreißen zu müssen.

 

Der ideale Mittelweg

Im Verlauf unserer Diskussion kristallisierte sich heraus, dass ein idealer Mittelweg wahrscheinlich am effektivsten wäre: eine enge Zusammenarbeit zwischen testenden Entwicklern und entwickelnden Testern. Diese Symbiose ermöglicht es beiden Seiten, ihre spezifischen Stärken einzubringen und gleichzeitig von den Kenntnissen des anderen zu profitieren. Besonders im Kontext von Agile und DevOps erscheint eine solche Kooperation als Schlüssel zum Erfolg. Durch kontinuierliche Weiterbildung und eine offene Kommunikation können Teams dieses Gleichgewicht erreichen und somit Qualitätssoftware schneller liefern.

 

Fazit: Keine Einheitslösung

Zum Abschluss unserer lebhaften Diskussion bleibt festzuhalten: Es gibt keine Einheitslösung für das Dilemma zwischen testenden Entwicklern und entwickelnden Testern. Jedes Projektteam muss basierend auf seinen spezifischen Anforderungen und Rahmenbedingungen entscheiden. Was jedoch deutlich wurde ist, dass beide Seiten von einer verstärkten Zusammenarbeit nur profitieren können. Die Kombination aus technischem Know-how und qualitätssichernder Expertise führt zu einer verbesserten Softwarequalität und einem effizienteren Entwicklungsprozess. Letztlich kommt es darauf an, einen Weg zu finden, der sowohl Innovation fördert als auch sicherstellt, dass Qualitätsstandards eingehalten werden.

Um tiefer in diese spannende Debatte einzutauchen und weitere Einblicke direkt von den Experten zu erhalten, hören Sie in unsere aktuelle Podcast-Episode rein.

 

Veröffentlicht am 10.März 2022

Aktualisiert am 28.Mai 2024

Markus Thaler

Senior Testmanager, Testarchitekt

Markus Thaler war 22 Jahre in der Commerzbank tätig, wo er sich mehr als 10Jahre um Teststandards, Testwerkzeuge und Testautomatisierung in einer zentralen Funktiongekümmert hat, bevor er nach einer Zwischenstation im Testinfrastrukturmanagement achtJahre als Testmanager in der Risikofunktion der Commerzbank gewirkt hat. Vor derCommerzbank konnte er Testerfahrungen bei Lufthansa, Siemens, Nestle und der DZ-Bankgewinnen. Aktuell ist er als Senior Testmanager und Testarchitekt bei Qytera tätig.

Finden Sie weitere interessante Artikel zum Thema: