Grundsätzlich IMMER testen, auch wenn es ein Miniprogramm mit einer einzigen super kurzen Funktion ist.
Mein Testcode ist im Schnitt 10 bis 50 mal umfangreicher als der zu testende eigentliche Programmcode, und ich achte strikt auf eine 100%ige Testabdeckung.
Die meisten Entwickler sind aber leider zu faul dazu und schreiben keine Mocks / Stubs / Spies, bzw. geben sich mit 90% oder gar weniger Testabdeckung zufrieden.
Wie wichtig glatte 100% sind merkt man jedoch erst richtig, wenn man in den letzten 10% haufenweise teils schwerste Bugs findet, die man bei "normalem" Testen übersehen hätte.
Lustig ist auch immer, wenn einem die 90%-Tester erzählen, dass 100% Testabdeckung übertrieben bzw. unnötig seien, ohne zu erkennen, dass man dann eben 1000 von 10000 Zeilen Code ungetestet in die Außenwelt entlässt.
Aber wie gesagt, die meisten Entwickler testen nicht so gründlich.
In meiner Firma haben wir übrigens noch nie einen wirklichen Bug gemeldet bekommen, obwohl wir in einer Nische weltweit die Standardsoftware stellen.
Natürlich ist auch unsere Software NICHT komplett Fehlerfrei, aber dass Bugs NACH dem Release gefunden wurden, kam in über 10 Jahren noch nie vor.
Und dennoch wird man als Verfechter 100%iger Testabdeckung schief angeguckt, weil es angeblich nicht wirtschaftlich sei und bla bla bla.
Dass wir jetzt Marktführer in unserem Segment sind und weltweit die gesamte Konkurrenz verdrängen konnten, liegt m. M. n. fast ausschließlich an der überragend hohen Qualität, auch wenn zum Testen von drei Zeilen eben mal 5 Seiten Testharness gebaut werden müssen, die zum größten Teil selbst erstmal ausgiebig getestet werden müssen.
Richtiges Testen ist eine hohe Kunst, die leider allzu oft unterschätzt wird. Bei uns kommen auf einen Programmierer zwei bis drei Tester.
Also um deine Frage zu beantworten:
Immer testen. Alles. Und zwar 100%. Auch Hobbyprojekte. :)