# (TDD) Test Driven Development



## java freak (7. Nov 2012)

Hallo liebe Forum Gemeinde was denkt ihr wer sollte in TDD die Tests schreiben?

Scenario 1 
Ein Entwickler der die Tests schreibt und dann nach dazu die passende Lösung entwickelt.

Oder Scenario 2

Sollte der Testschreiber eine andere Person sein wie zum Beispiel der Arbeitskollege der dann nicht die Lösung entwickelt.

Was denkt ihr? Welche Erfahrungen habt ihr gemacht?  

PS: Written by an HTC PHONE


----------



## maki (7. Nov 2012)

Per definition schreibt der Entwickler bei TDD die Tests.

PS: Written by a HUMAN


----------



## Andgalf (7. Nov 2012)

Hier muss man unterscheiden zwischen TDD und Tests first.

TDD ist ein evolutionärer Prozess .... es geht darum in kleinen Zyklen (Red,Green,Refactor) den Quelltext suxessiv zu entwickeln. Hier schreibt üblicherweise die gleiche Person sowohl Test als auch den produktiven Quellcode. (Ausnahmen währen hier "Spielchen" wie TDD Pingpong wobei das eher als PairProgramming durchgeführt wird)

Beim Tests first Ansatz sieht das anders aus, da hier erst alle Tests geschrieben werden und im Nachgang dann die Features implementiert werden, wäre es hier denkbar und u.U sogar sinnvoll, dass jemand anderes die Tests schreibt.
Beispiele für solche Tests first Ansätze sind Feature Driven Development oder Behaviour Driven Development. Manche sprechen hier auch von Outside In Development.


----------



## java freak (7. Nov 2012)

Danke für die schnelle antwort.:toll::toll: Es war mein fehler ich hatte TDD immer nur mit PairProgramming in zusammenhang gebracht weil wir es grade so lernen sollen.


----------



## bygones (8. Nov 2012)

was auch nicht schlecht ist ;-) sowohl PP als auch TDD, gemeinsam ists besser und macht mehr Spass


----------



## java freak (10. Nov 2012)

Auch wenn ich mich schon ein paar Tage jetzt mit TDD auseinander gesetzt habe so wirklich eine bekanntes Softwareprodukt wo TDD als Entwicklung Methode eingesetzt kenne ich jetzt immer noch nicht 
Ich habe viele Quellen gefunden wo beschrieben wird wie man TDD einsetzt und welche Vor und Nachteile daraus entstehen.

Aber real live Beispiele habe ich bisher nicht gefunden.;(

Habt ihr vielleicht Quellen oder schon ein paar Artikel gelesen wo Unternehmen darüber berichten wie TDD ihren Entwicklung Prozeß positive wie negative beeinflußt hat? Und welches Resultat/Softwareprodukt daraus entstand ist.

Danke und Grüße Java Freak


----------



## Gonzo17 (12. Nov 2012)

Hast du schon "Growing Object Oriented Software Guided By Tests" gelesen? Da wird meiner Meinung nach sehr gut gezeigt, wie es funktionieren kann, sogar mit einem schönen Beispiel. Zusätzlich zu TDD wird da auch ATDD angerissen, was sehr nützlich sein kann, wenn man nicht weiß, wie man die Idee von TDD nicht nur auf kleinste Teile, sondern die ganze Entwicklung überträgt.


----------



## maki (12. Nov 2012)

Musst richtig suchen, "success stories" zB. in Kombinatin mit "eXtreme Programming" und/oder "agile".
TDD gehört zu XP (eXtreme Programming) und funktioniert am besten in Kombination mit den anderen Praktiken aus XP.


----------

