Wir danken Ihnen für die Einstellung, dass Sie aus dieser Erfahrung etwas lernen werden. Ich bin sicher du wirst.
Das allererste, was Sie lernen sollten, ist, dass die Notwendigkeit von Unit-Tests nichts damit zu tun hat, wie erfahren Sie sind . Der beste Entwickler wird auch einer der besten Unit-Tester sein:
Bill Venners: Sie sagen in Ihrem Buch Refactoring: "Wenn Sie refactoring möchten, ist die wesentliche Voraussetzung solide Tests." Bedeutet das, wenn Sie keine Tests haben, sollten Sie nicht umgestalten?
Martin Fowler: Sie sollten sich vorstellen, eine Gratwanderung ohne Netz zu machen. Wenn Sie gut in einer Gratwanderung sind und es nicht so hoch ist, können Sie es versuchen. Aber wenn Sie noch nie eine Gratwanderung gemacht haben und es über den Niagarafällen ist, möchten Sie wahrscheinlich ein gutes Netz.
Von http://www.artima.com/intv/refactorP.html
Ich habe PHP ohne Unit-Test geschrieben. Nachdem ich jahrelang Unit-Tests in Java geübt hatte, stellte ich fest, dass ich ohne Unit-Tests an nichts viel Komplizierterem arbeiten konnte als an einzelnen Seiten in PHP. Der Grund? Produktivität . Ohne Unit-Tests könnte ich nicht mit Zuversicht umgestalten - dies bedeutete, dass entweder A) ich viel mehr abreißen und alles von Anfang an neu bearbeiten müsste oder B) ich mich mit hässlichem, altem Code befassen müsste.
Wenn Sie ein Gebot abgeben, müssen Sie die Zeit zum Testen berücksichtigen? Ja . Scheint es intuitiv, dass dies mehr Zeit in Anspruch nehmen wird? Ja nochmal . Sie werden wahrscheinlich, wie einige andere Antworten grob geschätzt haben, 50-100% mehr schätzen müssen als ohne Unit-Tests.
Jedoch!...
- Sie werden Spezifikationslöcher früher erkennen und beheben
- Das heißt, Sie entwickeln sich zu einer saubereren und solideren Spezifikation
- Sie können schnell und sicher auf Änderungen der technischen Daten reagieren
- Sie werden weniger Fehler haben
- Ihre Fehler werden schneller erkannt und können leichter behoben werden
Infolgedessen sind Ihre Schätzungen genauer . Wenn Sie stündlich berechnen, werden Sie Ihre Kunden mehr beeindrucken und Ihre Preise erhöhen können. Wenn Sie eine Pauschale berechnen, verdienen Sie mehr Geld pro Stunde.
Ohne Tests sind Ihre Schätzungen höchstwahrscheinlich ein Crapshoot. Fehler, Änderungsaufträge und Neudefinitionen sind für eine genaue Schätzung schrecklich. Testen ist der Schlüssel zur Minimierung der Auswirkungen aller drei!