Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

test-driven_development [2010/10/24 15:43]
Christian Mann angelegt
test-driven_development [2010/10/24 15:46] (aktuell)
Christian Mann
Zeile 1: Zeile 1:
-== XP-Praktik ("Testing") ==+== Vorgehen, bei dem die gesamte Entwicklung von (kleinteiligen) Tests vorangetrieben wird. ==
-Eine [[Extreme Programming|XP]]-Regel besagt, dass bei der Bearbeitung einer [[Task Card]] zuerst ein Test erstellt wird (d.h. es wird nicht nur der Testfall definiert, sondern auch der Code zu seiner Durchführung geschrieben!), damit das Entwicklerpaar auch sicher weiß, was es denn eigentlich zu erledigen hat (nämlich den Test...)+Test-driven Development arbeitet in drei Phasen: 
 +  * Red (= Der Testfall steht, aber läuft nicht durch) 
 +  * Green (= Der Testfall läuft -- irgendwie -- durch) 
 +  * Refactor (= und nun das ganze bitte noch in schön...)
-Unter dem Titel Test-driven Development kann dies dann soweit gehen, dass das gesamte Design stets von (sehr kleinen) Testschritten "vorangetrieben" wird.+Die zweite Phase bringt den Test "irgendwie" an's laufen, die primitivste & einfachste Lösung ist gerade recht! Das kann auch bedeuten, ich füge das erwartete Ergebnis "hart verdrahtet" in meinen Code ein... aber dann baue ich mir noch einen Testfall, und die Lösung klappt nicht mehr => Refactoring ist angesagt. 
 + 
 +Refactoring bedeutet hier im wesentlichen: "Don't Repeat Yourself!" 
 + 
 +Alle Code-Verdoppelungen werden ausgemerzt -- d.h. z.B. auch die Verdoppelung des erwarteten Ergebnisses in Test einerseits und (erstem) getestetem Code andererseits :-) 
 + 
 +---- 
 + 
 +Zu Details siehe: 
 + 
 +Kent Beck "Test-Driven Development" (Addison-Wesley 2003)
 
test-driven_development.txt · Zuletzt geändert: 2010/10/24 15:46 von Christian Mann
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki