Ich hab für meinen Code am Anfang noch Tests geschrieben, aber später hab ich es dann selber auch nicht mehr gemacht, weil die Zeit besser darin investiert ist, den Code von den anderen zu überarbeiten...
Achja und ich glaube, das hat mit der Ausbildung gar nicht so viel zu tun. Scheint mir eher eine Mentalitätssache zu sein.
Naja, da beisst sich die Katze in den Schwanz. UnitTests sind ja eigentlich genau dafür da, das man Code überarbeiten / refaktorieren kann ohne das einem die Änderungen irgendwo anders auf den Fuss fallen.
Ja sicher, aber manchmal kann man eben nur noch reagieren...
Wenn das Unternehmen ein wirkliches Interesse an Code Qualität hat, dann kann man das auch recht einfach hinbekommen.
1.) Code Coverage automatisieren und die Reports regelmäßig nach den Checkins ausführen.
2.) Jedem Entwickler in die Zielvereinbarung schreiben, dass sich die prozentuale Testabdeckung permanent erhöhen muss.
Das sorgt für: Jeder neue Code ohne Tests verringert die Testabdeckung. Das senkt die Prämie des Entwicklers und geht direkt ans Geld. Der Entwickler wird im Umkehrschluss
Unit Tests schreiben um seine Prämie zu sichern. Damit sichert er seinen Code auch ab. Win-Win
Ich war Code-Coverage als Maß für die „Sicherheit“ gegenüber immer skeptisch, da es durchaus sein kann, dass ein Test mit 100% Abdeckung weniger Fehler findet als ein Test mit 50% Abdeckung. Abdeckung alleine sagt nicht viel aus.
Aber als Maßnahme um die Leute zu zwingen,
überhaupt Tests zu schreiben, wäre es vielleicht ein guter Ansatz gewesen. Werde ich mir mal merken...
Wobei ich mir vorstellen könnte, dass das bei uns dann dazu geführt hätte, dass die Leute noch weniger Code schreiben, damit sie nicht auch noch
Unit-Tests schreiben müssen
. Es hat alles seine Tücken...