TDD (Test-Driven Development – Teste Dayalı Geliştirme), çok kısa bir gelişim döngüsüne dayalı bir tasarım mühendisliği sürecidir. Yazılım geliştirmeye yönelik bir TDD yaklaşımı, herhangi bir işlevsel kod yazılmadan önce gereksinimlerin veya tasarımın kapsamlı bir şekilde gözden geçirilmesini gerektirir. Geliştirme süreci, test örneği yazılarak başlar. Daha sonrasında kodlar test edilir ve test geçilene kadar kodlar iyileştirilir. Yazılım mühendisliğine yönelik bir TDD yaklaşımının avantajları arasında daha hızlı geri bildirim, yüksek kabul oranı, daha düşük proje kapsamı ve gereğinden fazla mühendislik, müşteri odaklı ve yinelenen süreçler, modüler, esnek ve sürdürülebilir kodlar yer alır.
Eğitmen eşliğinde gerçekleştirilen bu üç günlük eğitim, etkili bir uygulama için gerekli olan tüm adımları içeren TDD hakkında ayrıntılı bilgileri sağlar. Katılımcılar, Birim Testleri (Unit Tests), Kullanıcı Hikayeleri (User Stories), Tasarım, Kod İyileştirme, Çerçeveler hakkında bilgi alırlar ve bunları mevcut çözümlere nasıl uygulayabileceklerini öğrenirler. Ayrıca; kod bağımlılıkları, akış gereksinimleri ve sorunların erken tespiti gibi konuların etkilerini de ele alır. Bu, uygulamalı laboratuvar çalışmalarını içeren etkileşimli bir eğitimdir. Bu eğitimden en iyi şekilde yararlanılabilmesi için katılımcıların bu etkinliklere tam katılım göstermeleri önerilir. Bu eğitim, geliştiricilerin ve ekiplerin kodların tüm yaşam döngüsü boyunca kaliteli uygulama sürdürülebilirliği oluşturabilmeleri için ihtiyaç duydukları becerileri gösterir.
Bu eğitimde neler öğreneceksiniz?
- Birim Testi ilkeleri ve uygulamaları
- Yazılım geliştirme ve testi süreçlerinde Birim Testlerinin önemi
- Etkili Birim Testleri yazma
- Etkili birim testleri özellikleri
- “Test edilen sistemi” izole etmek için sahte nesneleri kullanma
- Kodların etkili bir şekilde iyileştirilmesi
- İlk önce test et ve TDD yaklaşımlarının faydaları
- TDD yaklaşımının başarılı bir şekilde kabul edilmesine yardımcı olacak teknikler ve uygulamalar
- TDD’yi daha geliştirmek için Kabul Testi ve Davranışa Dayalı Geliştirmeyi (Acceptance Testing and Behavior Driven Development) kullanma