( szeim | 2018. 02. 28., sze – 05:38 )

Szvsz a TDD néhány lépését mindenki feltalálta már valamilyen formában. Valszeg már akkor, amikor a basic előtt pötyögött.

Emberünk ül a gép előtt. "Működik? Nem. És így? Nem. És amúgy? Igen. Fasza, mi a következő feladat?"

A nagy többség úgy programozik, hogy próbálgatja a lehetséges megoldásokat, és amikor talált egyet akkor örül.

A TDD szerintem ennek a folyamatnak a részletes, gép által ismételhető leírása.

Azaz ha a fenti "Működik?" elé odarakod, hogy "Szeretném, hogy a cucc így és így viselkedjen, ezekre a paraméterekre" és ezt a mini specifikációt le is kódolod első lépésként, akkor TDD-zel.

Vagyis a projectnek egy idő után lesz egy jó hosszú specifikáció-gyűjteménye, ami minden buildkor ellenőrizve van. Gép által, nem pedig egy demotivált fejlesztő/tesztelő által.

Az meg hogy unit teszt/integrációs teszt ebből a szempontból lényegtelen.

Azt szokták mondani hogy ezeket a mini-specifikációkat (teszteket) és magát a kódot ne ugyanaz az ember írja. Ezáltal nem lesz a tesztekbe olyan beleértve, ami a kód (objektum) belső működése. Ez az, amit még nem láttam hosszútávon működni. :)