Test Driven Development (TDD) Nedir? Test Driven Development diğer adlarıyla Test First Development olarak adlandırılır. TDD, test bazlı bir yazılım geliştirme yöntemidir. Bu yöntem, basit ve kısa adımlarla, önceden tasarlanmış senaryoları hızlı bir şekilde koda dökmeyi hedeflemektedir. Bunun yanında bu yöntemin pek çok avantajı da geliştirme sırasında fark edilebilir, ancak bunlara yazının ilerleyen kısımlarında değinmek istiyorum. Test Driven Development’ın dışarıdan adını ilk duyduğunuzda geliştirdiğiniz yazılımı test etme ile ya da yazılım ekibindeki Tester arkadaşlarla alakalı olduğunu düşünebilirsiniz fakat gerçekte geliştirilmiş yazılımı test etmekten ziyade onu geliştirirken kullanılan yöntemidir. Kısaca tanımlarsak kodu yazmadan önce testlerini yazıyoruz ardından bu testleri geçecek kodu yazıyoruz.TDD bu şekilde devam eden bir yazılım geliştirme yöntemidir.Bu testleri kim yazacak? Tabi ki kodu geliştiren yazılımcılar yani biz. Yeni bir fonksiyon ya da geliştirmeyi tanımlamak için fail eden otomatik test yazma tekniği büyük ya da küçük birçok firmanın sundukları servislerin kalitesini arttırmak ve geliştirme yapmak için mükemmel yöntemlerden biridir.
Test Driven Development (TDD) Neden Kullanılır? Doğru ve bilinçli uygulanan TDD sayesinde, projelerin başarı oranlarının ciddi artışlar gösterdiği ispat edilmiştir. TDD nin getirdiği iş yükü, sağladığı kazancın yanında önemsenmeyecek kadar küçüktü
Test Driven Development (TDD) Nasıl Oluşturulur? Test kodunu yaz, Test kodunu derle, (bu aşamada kodun derlenemiyor olması gerekmektedir. Çünkü test kodunda yazdığımız hiç bir şeyi aslında henüz tanımlanmadı) Test kodunun derlenmesine yetecek kadar kod yazıp kodu derle, Testleri çalıştır ve testlerin başarısız olduğunu gör, Sadece testlerin başarılı olmasını sağlayacak kadar tanım yap, Testleri tekrar çalıştır ve başarılı olduğundan emin ol, Kodun açıklayıcı olması ve tekrarlanmaması için gerekli düzenlemeleri yap, Bir sonraki adım için başa dön. İlk yazılan testler patlar, Sonra bu patlayan testleri düzeltmek için uygulamaya iş yapan sınıflar eklenir. Ve süreç bu testlerin elden geçirilmesiyle (refactoring) devam eder. Bu iş döngü şeklinde devam eder ve gider.
Test Driven Development (TDD) nin Avantajlar Nedir? Yeni eklenen kodlar, ya da değiştirilen kodlarda mevcut kodların işlevlerinin bozulmaması. Daha hızlı yazılım geliştirme Çok daha az hata içeren kod Daha kaliteli kod Hataların daha çabuk tespiti - Basit ,karmaşıklık içermeyen kod
Test Driven Development (TDD) Dezavantajları Nedir? Test Driven Development (TDD) Dezavantajı yeterli tecrübe yok ise çok fazla vakit kaybına neden olabilirsiniz.
Teşekkürler Orhan YENER