Ich habe gehört, dass 30-50% Ihrer Zeit Unit-Tests schreiben. Dies berücksichtigt jedoch nicht die eingesparte Zeit
Nach meiner Erfahrung sind es mehr als 50%.
Sobald Sie den Test geschrieben haben, ist die Lösung in der Regel sehr einfach. Ich halte es nicht für ungewöhnlich, 70% - 75% Ihrer Zeit damit zu verbringen, Tests zu schreiben, aber Sie verbringen viel weniger Zeit damit, den 'Produktionscode' (Code, der getestet wird) zu schreiben und praktisch keine Zeit im Debugger zu verbringen .
Je früher Sie einen Fehler finden, desto billiger ist die Behebung, und TDD hilft dabei enorm. Ich habe an Projekten gearbeitet, bei denen die letzten 2 Monate (eines 8-monatigen Projekts) damit verbracht wurden, Fehler zu beheben, und diese Phase würde mit TDD fast vollständig beseitigt werden.
Für mich liegt der wahre Wert jedoch in der Wartung. Wenn Sie eine Codebasis mit Tests erben, haben Sie weniger Angst, sie zu ändern. Sie haben das Gefühl, dass Sie nichts kaputt gemacht haben, als die Tests noch bestanden wurden. Da Sie keine Angst vor Änderungen haben, sind Sie bereit, Änderungen vorzunehmen, wenn etwas nicht stimmt. Dies bedeutet, dass der Code übersichtlicher gestaltet werden kann, das Design besser passt und theoretisch Änderungen vorgenommen werden können. Vergleichen Sie das mit Voodoo-Code, den jeder anfassen kann.