Frage

Ich lese immer wieder von Menschen, die „testinfiziert“ sind, was bedeutet, dass sie nicht nur TDD „bekommen“, sondern auch nicht ohne TDD leben können.Sie haben sozusagen eine „Verjüngungskur“ erlebt.Die Frage ist, wie komme ich dazu?

War es hilfreich?

Lösung

Der Sinn einer „Testinfektion“ liegt unter anderem darin, dass Sie TDD ausreichend genutzt und die Erfolge ausreichend gesehen haben Sie möchten nicht ohne programmieren.Sobald Sie einen Zyklus durchlaufen haben, in dem Sie zuerst Tests schreiben, dann programmieren und umgestalten und sehen, wie die Anzahl Ihrer Fehler sinkt und Ihr Code dadurch besser wird, wird es nicht nur zur zweiten Natur, wie Zxaos sagte, es fällt Ihnen auch schwer, weiterzumachen zurück zu Code First.Dies ist eine Testinfektion.

Andere Tipps

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

Stattdessen brauchen Sie eine echte persönliche Erfolgsgeschichte.

Hier ist wie.Holen Sie sich Code aus einem Kernmodul, Code, der nicht von externen Systemen oder zu vielen anderen Unterprogrammen abhängt.Es spielt keine Rolle, wie komplex oder einfach die Routine ist.

Dann fangen Sie an, Unit-Tests dafür zu schreiben.(Ich gehe davon aus, dass Sie eine xUnit oder ähnliches für Ihre Sprache haben.) Seien Sie wirklich aufdringlich 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 koreanischen Zeichen und Steuerzeichen und Arabisch von rechts nach links sowie Anführungszeichen, umgekehrten Schrägstrichen, Punkten und anderen Dingen, die dazu neigen, Dinge kaputt zu machen, wenn sie nicht maskiert werden.

Was Sie finden werden ist....Käfer!Zuerst denken Sie vielleicht, dass diese Fehler nicht wichtig sind – Sie sind noch nicht auf diese Probleme gestoßen, Ihr Code würde dies wahrscheinlich nie tun usw.usw..Aber ich habe die Erfahrung gemacht, dass man erstaunt sein wird, wie viele kleine Probleme es gibt, wenn man weiter voranschreitet.Irgendwann wird es schwer, das zu glauben keiner dieser Bugs werden immer ein Problem verursachen.

Außerdem hat man das großartige Gefühl, etwas wirklich, wirklich gut gemacht zu haben.Wir wissen, dass Code nie perfekt und selten frei von Fehlern ist. Deshalb ist es schön, wenn wir so viele Tests durchgeführt haben, dass wir wirklich zuversichtlich sind.Selbstvertrauen 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, fügen eine Funktion hinzu oder überarbeiten Code, und etwas, das Sie tun, führt dazu, dass ein Komponententest unterbrochen wird."Hä?", werden Sie sagen, ohne zu verstehen, warum die neue Änderung überhaupt für den fehlerhaften Test relevant war.Dann wirst du es finden und Erleuchtung finden.Wegen dir Ich wusste es wirklich nicht dass Sie den Code gebrochen haben und die Tests Sie gerettet haben.

Halleluja!

Informieren Sie sich zunächst über TDD und beginnen Sie dann mit der Integration in Ihren Workflow.Wenn Sie die Methoden ausreichend nutzen, werden Sie feststellen, dass sie zur zweiten Natur werden und Sie beginnen, alle Ihre Entwicklungsaufgaben innerhalb dieses Rahmens zu gestalten.

Beginnen Sie außerdem mit der Verwendung des J-Unit- (oder X-Unit-)Frameworks für die Sprache Ihrer Wahl.

Ein Wort: üben!Die Durchführung von TDD ist mit einem gewissen Mehraufwand verbunden, und der Weg, ihn zu überwinden, besteht darin, zu üben und sicherzustellen, dass Sie Tools verwenden, die den Prozess unterstützen.Sie müssen die Werkzeuge wie Ihre Westentasche erlernen.Sobald Sie die Tools erlernt haben, die mit dem Prozess, den Sie lernen, einhergehen, wird es Klick machen und Sie werden zunächst fließend Tests schreiben können, um den Code herauszuspülen.Dann sind Sie „testinfiziert“.

ICH antwortete eine ähnliche Frage vor einiger Zeit.Vielleicht möchten Sie es auch ausprobieren.Ich erwähne einige Tools und erkläre das Erlernen von TDD.Von diesen Tools sind Resharper und die Auswahl eines guten Mocking-Frameworks für die Durchführung von TDD von entscheidender Bedeutung.Ich kann es nicht betonen, dass ich diese Tools erlernen muss, damit sie mit dem Test-Framework harmonieren, das Sie häufig verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top