Selamlar,
İş ilanlarında sürek TDD(Test Driven Development) süreçlerine hakim, TDD(Test Driven Development) bilen gibi şartlar görüyorum. Ayrıca girdiğim bir kaç mülakatta da bu soruyla karşılaştım. Bu TDD diye bahsedilen şey nedir? Açıklayabilir misiniz?
TDD yazılım geliştirirken bir metodoloji olarak karşımıza çıkar. Geleneksel yöntem geliştirilecek yazılımın ne iş yapacağını belirledikten sonra o yazılım yazılır, sonrasında nasıl test edileceği belirlenir ve test yapılır.
TDD yaklaşımında yazılımın ne iş yapacağını belirlerken ayrıca bu yazılımın nasıl test edileceği de belirlenir. Yazılımın normal kodu yazılmadan önce test kodları yazılır ki bu şekilde aslında kesin olarak ne iş yapacağı da belirlenmiş olur. Sonrasında testler çalıştırılır ve haliyle bütün testler patlar sonra da bir bakıma oyun oynar gibi yaklaşarak patlayan testler kodu gerçekleştirilerek düzeltilmeye çalışır.
Bize ne gibi bir fayda sağlar?