U sredu 5. marta, u Svečanoj sali Fakulteta Tehničkih nauka u Novom Sadu, održao se devetnaesti po redu DaFED. Prisutnima je na temu Test Driven Developmenta (TDD) svoje praktične savete preneo Boban Mikšin, partner i CTO kompanije Vega-IT Sourcing.
U sredu 5. marta, u Svečanoj sali Fakulteta Tehničkih nauka u Novom Sadu, održao se devetnaesti po redu DaFED. Prisutnima je na temu Test Driven Developmenta (TDD) svoje praktične savete preneo Boban Mikšin, partner i CTO kompanije Vega-IT Sourcing.
Otvarajući predavanje zanimljivim primerom izrade ćupova na predmetu Vajarstvo, Boban je posetiocima dočarao poentu ranog uvođenja testova u proces izrade gotovog proizvoda. Takođe, sa prisutnima je podelio realan primer iz prakse, gde je kao zadati projekat sa fiksnim rokom uz primenu TDD-a od samog starta projekat na kraju rezultovao sa prvim uploadom na staging bez i jednog baga.
Šta je potrebno da bi ste ovladali ovom veštinom?
TDD kate ili jednostavni primeri koji vas polako uvode u problem i teraju da inkrementalno pišete deo svake funkcionalnosti kroz testove, omogućavaju developerima koji se prvi put sreću sa ovim pristupom da lakše i brže savladaju materiju. Kako Mikšin kaže, da bi ste ovladali ovom tehnikom potrebno je svega pola sata dnevno, tokom perioda od mesec dana, ističući pritom da je poenta u doslednosti i predanosti.
Boban je prisutnima predstavio sajt koji je i njemu samom pomogao da savlada osnove TDD-a.
Cyber-dodjo – sajt na kome se nalaze TDD kate koje omogućavaju čak i početnicima da se upoznaju sa osnovama TDD-a i počnu da ih primenjuju u svom radu sa lakoćom. TDD kate na ovom sajtu sadrže detaljan opis funkcija (imena promenljivih, procedura, itd.) koje developer treba da napiše i time forsira developera da se fokusira na sam problem.
Zašto je dobro koristiti TDD?
Ukoliko postoje i dobro su napisani, testovi eliminišu potrebu da se prilikom izrade koda dešavaju situacije gde određeni moduli moraju da se menjaju kako bi funkcionisali u okviru celine. Često to bude više modula i javi se lančana reakcija, gde promena u jednom modulu zahteva promene i u ostalim modulima – što dovodi do povećanja vremena potrebnog za završetak projekta. TDD-om se ovaj slučaj sprečava.
Primena Test Driven Development metodologije u procesu izrade projekta nije određena njegovom veličinom, već je preporuka da se koristi na projektima svih veličina.
TDD menja ne samo način uvođenja i pisanja testova nego i način razmišljanja i pisanja produkcionog koda:
- Prvo implementirajte osnovni/idealan slučaj, pa onda “pokrijte” sve granične slučajeve.
- Ukoliko se odlučite da primenite TDD, pišite sve testove ili nemojte koristiti TDD. Polovično pisanje testova je samo iracionalno potrošeno vreme.
- Kod integracionih testova vrlo je bitno definisati testove koji su nezavisni od bilo kojih drugih. Postavka je bitna i treba da sadrži sve ono što treba da se unese u bazu a neophodno je da bi se test izvršio.
Na kraju, Boban je istakao kako je praksa ključan i neophodan faktor kako bi se pisali dobri testovi.
Ukoliko niste bili u mogućnosti da prisustvujete DaFED-u, kompletan snimak predavanja možete pogledati na zvaničnoj DaFED Youtube stranici.
[youtube]http://www.youtube.com/watch?v=TFSYJFe-SbU[/youtube]