4 Stimmen

TDD, Was sind Ihre Techniken für die Suche nach guten Tests?

Ich schreibe eine einfache Web-App mit Linq to Sql als meine Datenschicht, wie ich Linq2Sql sehr mag. Ich habe in letzter Zeit ein wenig über DDD und TDD gelesen und wollte es ausprobieren.

In erster Linie fällt mir auf, dass Linq2Sql und DDD nicht so gut zusammenpassen. Mein anderes Problem ist die Suche nach Tests, ich finde es tatsächlich sehr schwer, gute Tests zu definieren, so wollte ich fragen, Was ist Ihre besten Techniken für die Entdeckung guter Testfälle.

5voto

BobbyShaftoe Punkte 27949

Nun, die Standardinterpretation von TDD besagt, dass die Tests Antrieb Ihre Entwicklung. Sie beginnen also im Wesentlichen mit dem Test. Er wird fehlschlagen, und Sie werden so lange Code schreiben, bis der Test bestanden ist. Es hängt also von Ihren Anforderungen ab, wie auch immer Sie diese zusammenstellen wollen. Sie entscheiden, was Ihre Anwendung/Funktion tun muss, schreiben den Test und programmieren dann, bis er erfolgreich ist. Natürlich gibt es noch viele andere Techniken, aber dies ist nur eine kurze Beschreibung dessen, was typischerweise in der TDD-Welt gedacht wird.

5voto

Rajat Arya Punkte 76

Die Erkennung von Testfällen ist eher eine Kunst als eine Wissenschaft. Es gibt jedoch einfache Richtlinien:

  • Kodex, von dem Sie wissen, dass er anfällig / schwach / bruchgefährdet ist
  • Verfolgen Sie das Benutzerszenario (was Ihr Benutzer tun wird) und sehen Sie, wie es Ihren Code berühren wird (oft bedeutet dies Debugging, manchmal Profiling, und manchmal bedeutet es einfach, über das Szenario nachzudenken) - welche Punkte in Ihrem Code vom Benutzer berührt werden, sind die höchste Priorität, um Tests zu schreiben.
  • Während Ihrer eigenen Entwicklung haben Sie Tests durchgeführt, die zu Fehlern geführt haben, die Sie gefunden haben - schreiben Sie Tests, um zu vermeiden, dass sich der Code mit demselben Verhalten wieder zurückentwickelt.

Es gibt mehrere Bücher darüber, wie man Testfälle schreibt, aber wenn Sie nicht in einem großen Unternehmen arbeiten, das dokumentierte Testfälle verlangt, ist es am besten, wenn Sie sich alle Teile Ihres Codes überlegen, die Sie nicht mögen (die nicht "rein" sind), und sicherstellen, dass Sie diese Module gründlich testen können.

0 Stimmen

Thx, ich denke, die Einrichtung der häufigsten Anwendungsfälle sollte mir sehr helfen

1voto

philant Punkte 32877

Denken Sie an . Lesen Sie den Code. Fragen Sie sich: Kann dieser Zeiger hier z.B. niemals NULL sein? Was passiert, wenn diese Methode vor der Initialisierung aufgerufen wird?

Keine Vermutungen anstellen wie z.B. " diese Datei wird immer vorhanden sein ". Test.

Denken Sie an Randfälle, Grenzen, negative Werte, Überläufe ...

Käfer werden oft nach Clustern gruppiert. Sieh dich um, wenn du einen findest. Suchen Sie auch an anderen Orten nach der gleichen Art von Wanzen.

1voto

mouviciel Punkte 64583

Richten Sie Ihre Aufmerksamkeit auf das eigentliche Ziel der Prüfung: Das Finden von Fehlern.

Seien Sie kreativ bei der Vorstellung, was Ihr Programm zum Scheitern bringen könnte.

Ihre Tests müssen Fehler finden, nicht bestätigen, dass Ihr Programm in Ordnung ist.

0voto

Esteban Araya Punkte 28454

Ich schreibe regelmäßig Tests für APIs von Drittanbietern. Auf diese Weise weiß ich, wenn die API aktualisiert wird, ob ich etwas kaputt machen werde oder nicht.

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