Feb 10, 2023
Bu yazımda sizlere yazılım dünyasında son yıllarda çokça ön plana çıkan Test-Driven Development kavramından bahsedeceğim.
Son yıllarda birçok firmanın (özellikle global firmaların birçoğunun) tercih ettiği TDD'yi Türkçe'ye Test Odaklı Geliştirme olarak çevirebiliriz. TDD, ilk olarak testlerin daha sonra da kodların yazıldığı bir geliştirme metodolojisidir ve genelde geleneksel olarak kodlamaya alışmış birisinin (benim gibi 😊) adapte olmakta zorlandığı bir yaklaşımdır.
Cevabı aslında çok basit, ilk başta test'leri yazarken aslında sadece daha sonrasında yazacağımız kodların doğruluğunu kontrol etmek için yazmıyoruz. Aynı zamanda, elimizdeki projenin tasarımını ve mimarisini dolaylı yoldan elde etmiş oluyoruz, projeden ve yazacağımız kodlardan tam olarak ne beklediğimizi tanımlıyoruz.
TDD genellikle "Red-Green-Refactor" döngüsünü takip eder ve altı farklı adımı vardır. Şimdi "red-green-refactor" ne anlama geliyor ona ve altı adıma bakalım.
- Test yazın.
- Yazılan test'in başarısız olduğunda emin olmak için çalıştırın. (RED)
- Tek bir test'in başarılı bir şekilde çalışacak hale getirin. (GREEN)
- Yazılan mevcut tüm testleri başarılı bir hale getirin.
- Kodlarınızda iyileştirme/temizleme yapın. refactor edin. (REFACTOR)
- Tekrar edin.
image: developer.ibm.com
NOT: TDD'ye alternatif olarak, Behavior-Driven Development gibi farklı geliştirme metodolojileri de vardır. Dilerseniz onlarada göz atabilirsiniz.
TDD'yi; kodlamaya başlamadan önce projenin tasarımını ve mimarisini ortaya çıkaran, daha basit ve güvenli şekilde kod yazmamızı sağlayan bir kavram olarak özetleyebiliriz. TDD yaklaşımı ile birlikte programlamada belki sıklıkla duyduğumuz "Keep it Simple" yaklaşımına uygun olarak geliştirme yapabiliriz.
featured image: pixabay.com - stokpic