Test Driven Development

vom 01.04.2009, 20:30 Uhr

Test Driven Development?

Kenne ich
1
50%
Richte ich mich nach
1
50%
Unnötig
0
Keine Stimmen
 
Abstimmungen insgesamt : 2

An alle Programmierer von euch eine Frage. Wer von euch betreibt Test Driven Development, wie sind eure Erfahrungen damit, wie konsequent seid ihr?

Test Driven Development ist eine Strategie, etwas zu programmieren, dabei geht man folgendermaßen vor. Üblicherweise erstellt man für alle Klassen, die man später schreiben möchte, erst einmal Interfaces. Dies sollte man ja eh eigentlich immer tun, wenn man etwas programmiert und die Möglichkeit der Interfaces gegeben sind. Diese Interfaces füllt man mit allen nötigen Methodenköpfen.

Als zweiten Schritt erstellt man sich sogenannte Unit Tests, diese Tests werden pro Klasse geschrieben und testen, ob die Instanzen der abgeleiteten Klassen (des Interfaces) das leisten, was sie leisten sollen. Zum Beispiel hat man ein Interface ICalculator, dieses soll eine Summe berechnen. Nun erstellt man sich einen Unit Test TestCalculator, dieser überprüft die Methode Calculate und wenn diese Methode nicht den korrekten Wert der Berechnung ausgibt, so wird eine Exception geworfen, während man das Programm kompiliert, man stellt so sicher, dass fehlerhafte Programme nicht kompiliert werden.

Meine Erfahrung mit anderen Programmieren und auch selber ist, dass man oft die Tests vernachlässigt. Unter anderem, weil es anscheinend Mehrarbeit benötigt. Führt man die Tests aber durch, so erübrigt sich oftmals einige Zeit an Debbuging, die man sonst hätte aufbringen müssen, das rentiert sich durchaus nach eigener Erfahrung. Wenn man nicht direkt vor Erstellen von Klassen Tests erstellt, so ist es wenigstens ratsam, danach solche Tests zu erstellen, um seine bereits erstellten Klassen zu testen.

Eine sinnvolle "Erweiterung" des TDD ist das Behaviour Driven Development, welches das Verhalten des Programmes vor der Entwicklung festlegt und überprüft. In diesem Kontext gibt es auch Richtlinien, wie Tests zu nennen sind, damit sie sinnvoll zu lesen sind.

Meine Frage darum erstmal an euch, kennt ihr dieses Konzept, findet ihr es sinnvoll? Entwickelt ihr nach diesem Schema?

» Xelluloid » Beiträge: 119 » Talkpoints: -1,01 » Auszeichnung für 100 Beiträge



Ähnliche Themen

Weitere interessante Themen

^