Ob man als "pro" Tests unbedingt braucht: Tests haben Vorteile und Nachteile, ob die Energie hier oder anderswo besser investiert ist, sollte jeder fuer sich entscheiden.
Ich vermute mal, das Thema kommt hier überhaupt nur deswegen zur Sprache, weil der FHEM e.V. ne "Zukunfts-Strategiesitzung" hatte - oder?
Ob das Thema also nun wie schon in vergangenen Jahren wieder mit solchen Floskeln "Tests haben Vorteile und Nachteile" abgebügelt wird, soll nicht mein Problem sein, aber ich denke in der heutigen Zeit sollte man ein wenig Weltbürgerpflicht tun und gegen Fake-News vorgehen:
Tests haben keine Nachteile. Noch nicht einmal "mehr Arbeit", weil sie auf lange Sicht eine shitload an Arbeit abnehmen.
Wenn "zu Beginn mehr Arbeit = auf Dauer mehr Qualität" ein Nachteil ist, dann Hände weg von Tests liebe Kinder.
Ab einem bestimmten Code-Coverage (habe gerade Devel::Cover entdeckt
) steigt der Muell-Faktor, weil man bestimmte Sachen nur dann testen kann, wenn
man den Code auf Testen optimiert.
Ich habe Devel::Cover seit 2010 im Einsatz. Es ist bewundernswert, mit welchen Statements Du so kurz nach der Entdeckung operieren kannst.
"Der Muell-Faktor steigt..."
"Man optimiert den Code auf Testen..."
"Bei so einer Optimierung kann der Code unleserlich werden, und ich habe auch gesehen, wie man dabei "real-life" Bugs einbaut."
Tatsächlich zeigen einem Tests (und Coverage) häufig wie wenig modular man den Code geschrieben hat. Nach meiner Einschätzung sind die "original main-Namespace" FHEM Module nicht testbar. Und nein, man muss auch nicht auf 100% Coverage hinarbeiten. 80% ist besser als nix und häufig startet man mit 10%. Daher:
Wenn Maintainer das Beduerfnis haben, fuer ihre FHEM-Module Tests schreiben zu wollen, bin ich bereit dafuer ein Framework bereitzustellen, bitte melden.
Das ist löblich und Du bist natürlich frei hinsichtlich Deiner Zeitgestaltung, aber ich würde empfehlen erstmal das Namespace Problem in FHEM
in den Griff zu bekommen, bevor man sich das nächste neue nonkonforme Rad für ein nonkonformes System aus dem Knie schnitzt.
Unbestrittener Vorteil aus Sicht der Anwender: der Entwickler ist gezwungen sich laenger mit seinem Code zu beschaeftigen.
Ob der Entwickler das mit sich machen laesst, ist was Anderes.
Ja, das sehen wir dann. Ich bin da mittlerweile indifferent, aber euphorischer Darwin Fan.