Moin
Und diese ganzen neuen Methoden sind ja schön. Aber in wiefern verbessern oder beschleunigen sie was?
Naja ich hab versucht mich mit dem "TestDriven" auseinander zu setzen. Letztlich geht es darum sich im Vorfeld darüber klar zu werden was schief gehen kann, und dementsprechend daran orientiert das eigentliche Programm zu schreiben.
Halte ich so für unrichtig.
Test driven sagt ja erstmal, dass die die Anforderungen die du bekommt
erst in einen Test gießen sollst und dann umsetzen.
Ergebnis sollte ein Programm sein, dass die Business-Logik nicht nur gemäß den Anforderungen umsetzt, sondern dies (mehr oder weniger beweisbar) tut. Alle Tests grün = alle Anforderungen erfüllt.
Der Benefit ist nun, dass du nach Änderungen (Refactorings, Features, Bugfixes) die Tests laufen lassen kannst und relativ sicher sein kannst, dass die keine neuen Bugs erzeugt hast. Wenn doch, dann war das entweder eine Spezifikationslücke (und deshalb gab es keinen Test) oder der Test hat die Spec nicht ausreichend abgedeckt.
Was natürlich nicht passieren darf ist "ich ändere das mal so und so, um dem Bug zu fixen, und dann schau ich welche Tests kaputt sind um die dann auch anzupassen" - das ist sinnfrei und kein TDD.