3 Stimmen

Wie haben Unit-Tests Ihr Leben verbessert?

Ok, ich will ehrlich sein, ich habe in meinem Leben wahrscheinlich nicht mehr als 10 Unit-Tests geschrieben.

Ich nehme ein neues Projekt in Angriff, und da ich der einzige Programmierer bin, bedeutet das Ich sollte Angst haben ... große Angst .

Die Vorstellung, dass ich Pseudogarantie dass meine Software funktioniert, bringt ein Gefühl der Freude mit sich.

Sicherlich werde ich eine Menge Fälle verpassen, in denen ich hätte testen sollen, aber daraus werde ich im Laufe der Zeit lernen.

Unit-Tests werden mir helfen, nachts besser zu schlafen was besser für meine Gesundheit ist.

Mein Code wird scheitern, aber zumindest habe ich eine bessere Vorstellung davon, wann es passieren wird. .

Wie hat das Testen von Einheiten Ihr Leben verbessert (oder hat es das?), obwohl der Rest Ihres Teams nicht auf den fahrenden Zug aufspringen ?

0 Stimmen

0voto

Bill K Punkte 61074

Ich habe ziemlich viel in Java gearbeitet und ein Jahr in Ruby.

In Ruby haben wir umfangreiche Tests (TDD) durchgeführt. Dies war ABSOLUT ERFORDERLICH. Sie können fast kompletten Müll in eine Ruby-Datei schreiben, und wenn Sie diese spezielle Codezeile nicht treffen, werden Sie es nie erfahren, daher müssen Ihre Tests eine nahezu 100%ige Abdeckung haben.

In Java habe ich nie viel mehr als einen einzigen, einfachen Erfolgspfad-Test benötigt - und der kann normalerweise weggeworfen werden, nachdem der Code gelaufen ist. Die statische Typüberprüfung, die starke Typisierung und die Verwendung von Codierungsmustern wie starke Kapselung und Parameterüberprüfung machen dies möglich. Man kommt dem Beweis sehr nahe, dass eine kleine Klasse ohne Tests nicht gebrochen werden kann (fehlerfrei ist), und wenn sie richtig entworfen ist, sollten alle Klassen klein sein.

Ein weiterer interessanter Punkt: Bei dem Ruby-Projekt hatten wir ein Refactoring, das uns 2 Tage echte Code-Arbeit (Aufteilung einer Prime-Model-Klasse in zwei Klassen) und 2 Wochen Test-Reparaturen kostete.

Irgendwann haben all diese Tests ihren Preis, denn sie sind immer noch Code, den Sie pflegen müssen.

Das heißt, ich finde TDD Spaß und ein guter Weg, um Dinge zu beginnen, auch in Java, und ich würde auch wiederholen, dass ich IMMER einige Erfolgspfad Tests zumindest (auch wenn es nur eine schnelle Hauptmethode) in praktisch jeder Klasse, die ich schreibe.

0voto

Kozyarchuk Punkte 19479

Es spart mir Zeit, denn wenn ich TDD-Code ausführe, funktioniert er in der Regel einfach, wenn es um die Integration geht, so dass ich keine quälenden Stunden mit der Fehlersuche verbringen muss.

Es gibt mir auch Selbstvertrauen, wenn ich mich mit anderen Entwicklern unterhalte, die behaupten, die von mir entwickelte API habe Fehler.

0voto

asjo Punkte 3004

Wenn Sie eine kritische Masse an Tests erreichen, ist ein netter Nebeneffekt oft, dass, wenn Sie dabei sind, einen Fehler einzuführen, dieser wahrscheinlich dazu führt, dass ein Test fehlschlägt, selbst wenn die Tests nicht direkt gegen den neuen, fehlerhaften Code gerichtet sind, den Sie schreiben.

So werden Sie auf den Fehler aufmerksam gemacht, bevor Sie ihn festschreiben, und können dann Tests für ihn schreiben und ihn sofort beheben.

(Das gilt natürlich nur, wenn Sie Tests haben, die nicht "nur" sehr eng gefasste Test-ein-Ding-only-Tests sind, aber ich denke, das ist häufiger der Fall als nicht).

0voto

blizpasta Punkte 2594

Gute Unit-Tests, die eine ausreichende Abdeckung bieten, lassen Sie nachts besser schlafen.

Wenn Sie Assertions verwenden, können Sie potenzielle Fehler herausfinden, die von den Unit-Tests übersehen werden (manchmal ist das vielleicht nicht gut genug), und Sie können die sogar besser in der Nacht.

0voto

James Camfield Punkte 1616

Ich bin gerade dabei zu versuchen, auf den Zug aufzuspringen. Arbeitskollegen tun es bereits, bevor sie eine Zeile funktionalen Code geschrieben haben. Ich schreibe immer noch ein komplettes Programm, bevor ich es überhaupt durch das Hauptprogramm laufen lassen habe, geschweige denn einen Unit-Test gemacht habe :/

Ich bin mir sicher, dass ich am Ende ankommen werde. Aber im Moment bin ich gesundheitlich angeschlagen, weil ich 90% meines Lebens mit Fehlersuche verbringe :(

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X