Testing und Code-Qualität

Sollten Entwickler wirklich ihren eigenen Code testen?

Melanie Feldmann

© Shutterstock / blocberry

Einer der Trends der Softwareentwicklung ist, dass immer mehr Entwicklerteams ihren eigenen Code nicht nur bis in die Produktion bringen und á la DevOps betreuen, sondern auch im Vorfeld im Prozess selbst testen. Aber ist es eine so gute Idee, Entwickler ihren eigenen Code testen zu lassen?

Wenn Entwickler ihren eigenen Code testen, können laut einem Blogpost von ThinkSys nicht nur wegen fehlender Fachkenntnisse – der Standard-Entwickler ist eben kein spezialisierter Tester–, Probleme auftreten, sondern auch aufgrund der Herangehensweise.

Entwickler erschaffen Code, Tester zerstören ihn

Der Job eines Testers ist es, Code so lange zu malträtieren bis er zusammenbricht. Ein Tester sucht nach komplexen Situationen, wird sich schier unmögliche Szenarien ausdenken und er wird heftige Belastungszustände herbeiführen. Alles mit dem einen Ziel die Anwendung zum Absturz zu bringen. Ein Entwickler hingegen versucht alles, damit sein Code funktioniert. Das ist vielleicht nicht unbedingt die beste Herangehensweise für einen Test.

Manchmal stimmt schon die Grundlage nicht

Nicht selten kommt es vor, dass Software entwickelt wird, die auf einem falschen Verständnis der Anforderungen basiert. Der Entwickler selbst wird diesen Fehler kaum bemerken, denn sein Code folge ja eben seinem Verständnis des zu Grunde liegenden Problems. Einem externen Tester hingegen wird die Diskrepanz auffallen.

Die Liebe zum eigenen Code

Es gibt wohl kaum einen Entwickler, der sich seinem Code nicht auch emotional verbunden fühlt. Der Code ist sein Baby. Das kann dazu führen, dass Entwickler triviale Probleme erst gar nicht testen, da ihr Code natürlich funktioniert und sie Kleinigkeiten schon während des Programmierens gefixt haben. Also warum noch einmal Testen? Diese Blindheit gegenüber der eigenen Fehlbarkeit kann im späteren Verlauf zu einigen Problemen führen.

Kein Code ist eine Insel

Code funktioniert nicht in Isolation. Er ist abhängig von anderen Anwendungen, Services oder Daten. Aber nicht jeder Entwickler hat den Überblick über das mehr oder weniger komplexe System, in dem sein Code lebt. Ein Tester sollte diesen Überblick haben und wird den Code auf Schnittstellen und Abhängigkeiten testen. Und auch wie der Code in der realen Anwendungswelt läuft, wird er prüfen.

Tester kennen Trick 17

Zu guter Letzt: Ein spezialisierter Tester weiß natürlich besser an welchen Stellen er ansetzen muss, um Code wirklich auf Herz und Nieren zu prüfen. Er kennt die Tools und Techniken. Ein Standard-Entwickler müsste sich über sein Basiswissen hinaus neu in die Materie einarbeiten.

Heißt das, Entwickler sollten auf gar keinen Fall ihren eigenen Code testen? Nein, ist sich der Autor des Blogposts sicher. Natürlich sollten Unit Tests und Validation Tests in den Händen der Code-Erschaffer liegen. Teams aus Entwicklern und Testern funktionieren seiner Meinung nach am besten. Vor allem im agilen Kontext mit seinen kurzen Sprints und Iterationen. Außerdem sind gemischte Teams eine gute Idee, weil es viel schwieriger ist, den Testerkollegen am Nebentisch den Teufel an den Hals zu wünschen, wenn er wieder einen Fehler gefunden hat, als dem Testkollegen fünf Büros weiter, von dem man nur leicht genervte Tickets bekommt.

Aufmacherbild: business man seeing himself beeing successful  von Shutterstock / Urheberrecht: blocberry

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Sollten Entwickler wirklich ihren eigenen Code testen?"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Steven
Gast

Schöner kurzer undknackiger Artikel 🙂