2008-09-06 11 views

Antwort

14

Teil des Punktes der "Test infiziert" ist, dass Sie TDD genug verwendet haben und die Erfolge genug gesehen haben, dass Sie nicht ohne es codieren möchten. Wenn Sie erst einmal einen Zyklus von Tests geschrieben haben, dann werden Ihre Bug-Codes codiert, refactoriert und angezeigt, und Ihr Code wird dadurch besser. Es wird nicht nur zur zweiten Natur, wie Zxaos sagte, Sie haben es schwer Zurück zu Code zuerst. Dies wird Test-infiziert.

3

Erfahren Sie, wie TDD gestartet wird, und beginnen Sie dann, es in Ihren Workflow zu integrieren. Wenn Sie die Methoden ausreichend verwenden, werden Sie feststellen, dass sie zur zweiten Natur geworden sind und Sie beginnen, alle Ihre Entwicklungsaufgaben innerhalb dieses Rahmens zu gestalten.

Beginnen Sie auch mit dem J-Unit- (oder X-Unit-) Framework für Ihre Sprache Ihrer Wahl.

14

Sie haben bereits über TDD gelesen; mehr zu lesen wird dich nicht begeistern.

Stattdessen brauchen Sie eine echte persönliche Erfolgsgeschichte.

Hier ist wie. Schnappen Sie sich Code von einem Kernmodul, Code, der nicht von externen Systemen oder zu vielen anderen Unterprogrammen abhängig ist. Egal wie komplex oder einfach die Routine ist.

Beginnen Sie dann mit dem Schreiben von Komponententests dagegen. (Ich nehme an, Sie haben eine xUnit oder ähnliches für Ihre Sprache.) Seien Sie wirklich unausstehlich mit den Tests - testen Sie jeden Grenzfall, testen Sie max-int und min-int, testen Sie Nullen, testen Sie Strings und Listen mit Millionen von Elementen, Testen Sie Zeichenfolgen mit Koreanisch und Steuerzeichen und Recht-nach-Links-Arabisch und Anführungszeichen und Backslashes und Punkte und andere Dinge, die dazu neigen, Dinge zu brechen, wenn sie nicht maskiert werden.

Was Sie finden, ist .... Bugs! Am Anfang magst du denken, dass diese Fehler nicht wichtig sind - du bist noch nicht auf diese Probleme gestoßen, dein Code würde das wahrscheinlich niemals tun, usw. etc. Aber meine Erfahrung ist, wenn du weiter nach vorne schiebst, wirst du erstaunt sein bei der Anzahl der kleinen Probleme. Schließlich wird es schwer zu glauben, dass keine dieser Bugs jemals ein Problem verursachen.

Plus erhalten Sie ein tolles Gefühl der Erfüllung mit etwas wirklich, wirklich gut gemacht. Wir wissen, dass Code nie perfekt und selten frei von Fehlern ist, also ist es schön, wenn wir so viele Tests beendet haben, dass wir uns wirklich sicher fühlen. Vertrauen ist ein schönes Gefühl.

Schließlich denke ich, dass das letzte Ereignis, das die Liebe auslösen wird, Wochen oder Monate später passieren wird. Vielleicht beheben Sie einen Fehler oder fügen eine Funktion hinzu oder refactoring etwas Code, und etwas, das Sie tun, wird einen Komponententest brechen. "Hä?" Sie werden sagen, nicht zu verstehen, warum die neue Änderung sogar für den gebrochenen Test relevant war. Dann wirst du es finden und Erleuchtung finden. Weil Sie wirklich nicht wussten, dass Sie Code zu brechen, und die Tests Sie gespeichert haben.

Halleluja!

1

Ein Wort, üben! Es gibt einige Overhead mit TDD tun und die Art und Weise zu überwinden ist zu üben und stellen Sie sicher, dass Sie Werkzeuge verwenden, um den Prozess zu unterstützen. Sie müssen die Werkzeuge wie die Rückseite Ihrer Hand erlernen. Sobald Sie die Werkzeuge kennen gelernt haben, die Sie mit dem Prozess, den Sie gerade lernen, kombinieren, klicken Sie darauf und Sie werden fließend mit den Tests beginnen, um den Code zu löschen. Dann werden Sie "Test infiziert".

I answered eine Frage ähnlich wie vor einer Weile. Vielleicht möchten Sie es auch überprüfen. Ich erwähne einige Tools und erkläre, TDD zu lernen. Aus diesen Tools sind Resharper und die Auswahl eines guten Rahmenwerkes wichtig für TDD. Ich kann nicht betonen, dass Sie diese Tools lernen, um mit dem Test-Framework, das Sie verwenden, zu gehen.