TEST DRIVEN DEVELOPMENT (TDD) EĞİTİMİ

Önce test yaz, sonra kod: TDD disiplini

Kırmızı-yeşil-refactor döngüsü, birim testler, test doubles ve sürekli refactoring

Test Driven Development (TDD) Eğitimi, kod yazmadan önce test yazma disiplinini uygulamalı kazandırır. Program kırmızı-yeşil-refactor döngüsünü, küçük adımlarla ilerlemeyi, Arrange-Act-Assert düzeniyle birim test yazımını, mock, stub ve fake test doubles'ları…

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Kırmızı-yeşil-refactor döngüsünden test doubles'a, refactoring'den sürdürülebilir tasarıma

Test Driven Development (TDD) Eğitimi, kod yazmadan önce test yazma disiplinini uygulamalı olarak kazandırır. Katılımcılar kırmızı-yeşil-refactor döngüsünü, küçük adımlarla ilerlemeyi ve testlerin tasarımı nasıl yönlendirdiğini öğrenir. Birim test yazımı, assertion stratejileri, test doubles (mock, stub, fake), bağımlılıkların yönetimi ve sürekli refactoring ele alınır. Program, kata alıştırmaları ve gerçekçi bir uygulama senaryosuyla TDD'yi alışkanlığa dönüştürmeyi hedefler.

Süre ve Format

3 Gün. Her gün dört modül; kırmızı-yeşil-refactor döngüsü kata alıştırmaları ve canlı kodlamayla adım adım uygulamalı işlenir.

Seviye

Orta Seviye — Kırmızı-yeşil-refactor döngüsüyle test odaklı geliştirmeyi birim testler üzerinden uygulamalı öğreten program

Öğrenme Metodu

Her kavram küçük kata alıştırmalarıyla canlı kodlanır; katılımcılar testi önce yazıp döngüyü tekrar ederek TDD refleksini kazanır.

Neden Bu Eğitim?

🔴Daha az hata

Önce test yazarak kodun beklenen davranışını baştan tanımlar, hataları üretim ortamına çıkmadan geliştirme anında yakalarsınız.

🧱Daha iyi tasarım

Testin yönlendirdiği geliştirme, gevşek bağlı ve kolay test edilebilir modüller üretmeye zorlayarak tasarım kalitesini yükseltir.

🛡️Güvenli değişiklik

Kapsamlı birim testler, refactoring ve yeni özellik eklerken kodu bozmadığınızdan emin olmanızı sağlayan bir güvenlik ağı kurar.

Anahtar Konular

tdd eğitimitest driven developmenttest odaklı geliştirmebirim test eğitimiunit test eğitimikırmızı yeşil refactormockito eğitimirefactoring eğitimiyazılım kalitesi eğitimitest doubles
“TDD testçilik değil bir tasarım disiplinidir; yazdığın her kırmızı test, kodun nasıl olması gerektiğini sana baştan söyler.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak bilgi ve deneyim alanları

1
Programlama deneyimi

Bir nesne yönelimli dilde sınıf, metot ve nesne kavramlarına aşinalık kata örneklerini takip etmeyi kolaylaştırır.

2
Birim test aşinalığı

JUnit veya benzeri bir çatıda temel bir test çalıştırmış olmak faydalıdır; zorunlu değildir, baştan ele alınır.

3
IDE kullanımı

Bir IDE'de kod yazma, çalıştırma ve hata ayıklama becerisi alıştırmaların hızını artırır.

4
Versiyon kontrolü

Git ile temel commit ve dal (branch) işlemlerine aşinalık küçük adımlarla ilerlemeyi destekler.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı TDD'nin felsefesini kavrar, kırmızı-yeşil-refactor döngüsünü uygular, ilk birim testlerini yazar ve küçük adımlarla ilerleyerek testin kodu nasıl yönlendirdiğini öğrenir.
Modül 1
TDD Felsefesi ve İlkeleri
  • TDD'nin tanımı ve klasik testten farkı
  • Önce test yazmanın tasarıma etkisi
  • TDD, ATDD ve BDD arasındaki ilişki
  • Testin yaşayan dokümantasyon olması
  • Üç kural (three rules of TDD) yaklaşımı
  • TDD hakkında yaygın yanlış anlamalar
Modül 2
Kırmızı-Yeşil-Refactor Döngüsü
  • Başarısız (kırmızı) testin önce yazılması
  • Testi geçiren en basit kodun yazılması
  • Yeşil adımda düzgün çalışmanın doğrulanması
  • Refactor adımında kodun iyileştirilmesi
  • Testlerin her adımda yeşil tutulması
  • Döngünün ritmini ve temposunu kurma
Modül 3
İlk Birim Testleri
  • Test çatısı kurulumu ve ilk test metodu
  • Arrange-Act-Assert (AAA) düzeni
  • assertEquals ve assertTrue kullanımı
  • Testlerin bağımsız ve tekrarlanabilir olması
  • Test ve metot adlandırma kuralları
  • Beklenen istisnaların (exception) test edilmesi
Modül 4
Küçük Adımlar ve Kata
  • Problemi küçük test adımlarına bölme
  • FizzBuzz katası ile döngünün uygulanması
  • Her testte yalnızca bir davranış doğrulama
  • Baby steps (küçük adım) disiplini
  • Yeşilden yeşile hızlı geri bildirim
  • Kata tekrarıyla refleksin pekiştirilmesi
Günün hedefiKatılımcı test doubles türlerini ayırt eder, mock ve stub kullanarak bağımlılıkları izole eder, bağımlılık enjeksiyonuyla test edilebilir tasarım kurar ve harici sistemleri testten ayırmayı öğrenir.
Modül 1
Test Doubles Türleri
  • Dummy, stub ve fake nesnelerin tanımı
  • Mock ve spy arasındaki temel fark
  • Durum (state) ve davranış (behavior) doğrulama
  • Hangi durumda hangi double'ın seçileceği
  • Gerçek nesne ile double arasında denge
  • Aşırı mock kullanımının getirdiği riskler
Modül 2
Mock Çatısıyla Çalışma
  • Bir mock çatısının (Mockito) kurulumu
  • Metot davranışının stub ile tanımlanması
  • Çağrıların doğrulanması (verify) işlemi
  • Argüman eşleştiricilerin (matchers) kullanımı
  • İstisna fırlatan davranışların taklit edilmesi
  • Çağrı sırası ve sayısının doğrulanması
Modül 3
Bağımlılık Enjeksiyonu
  • Sıkı bağımlılığın test edilebilirliğe etkisi
  • Kurucu (constructor) ile bağımlılık enjeksiyonu
  • Arayüzlere programlama (DIP) ilkesi
  • Bağımlılıkların dışarıdan verilmesi
  • Test edilebilir sınıf tasarımı
  • SOLID ilkelerinin TDD ile ilişkisi
Modül 4
Harici Sistemlerin İzolasyonu
  • Veritabanı erişiminin testte izole edilmesi
  • HTTP ve servis çağrılarının taklit edilmesi
  • Zaman ve rastgelelik bağımlılığının yönetimi
  • Dosya ve ağ işlemlerinin soyutlanması
  • Hızlı ve kararlı birim testler yazma
  • Birim ve entegrasyon testi sınırının korunması
Günün hedefiKatılımcı testlerin güvencesiyle güvenli refactoring yapar, test kokularını giderir, TDD'yi gerçekçi bir senaryoda uçtan uca uygular ve bu disiplini günlük geliştirmeye taşımayı öğrenir.
Modül 1
Güvenli Refactoring
  • Refactoring'in tanımı ve amacı
  • Testlerin güvenlik ağı olarak kullanılması
  • Metot çıkarma (extract method) tekniği
  • Tekrarlı kodun (duplication) giderilmesi
  • Değişken ve metot yeniden adlandırma
  • Küçük ve sık commit ile ilerleme
Modül 2
Test ve Kod Kokuları
  • Kırılgan (fragile) testlerin nedenleri
  • Yavaş çalışan testlerin iyileştirilmesi
  • Aşırı birbirine bağlı testlerin ayrıştırılması
  • Anlamsız test adlarının düzeltilmesi
  • Test kodunun da bakım gerektirmesi
  • Testlerin okunabilir tutulması ilkeleri
Modül 3
TDD ile Yazılım Tasarımı
  • Emergent (ortaya çıkan) tasarım kavramı
  • Testin sınıf sorumluluklarını netleştirmesi
  • Basit tasarım (simple design) kuralları
  • Over-engineering'den (aşırı mühendislik) kaçınma
  • YAGNI ve KISS ilkelerinin uygulanması
  • Testlerin tasarım geri bildirimi olarak okunması
Modül 4
Uçtan Uca TDD Uygulaması
  • Gerçekçi bir iş kuralının TDD ile geliştirilmesi
  • Testlerden başlayarak özelliğin tamamlanması
  • Bağımlılıkların double'larla izole edilmesi
  • Refactoring ile tasarımın iyileştirilmesi
  • Test kapsamının (coverage) değerlendirilmesi
  • TDD'nin günlük iş akışına taşınması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
TDD döngüsü

Kırmızı-yeşil-refactor döngüsünü akıcı biçimde uygulayarak önce test, sonra kod yazma disiplinini alışkanlığa dönüştürürsünüz.

✅
Birim test yazımı

Arrange-Act-Assert düzeniyle bağımsız, okunabilir ve tekrarlanabilir birim testleri yazmayı öğrenirsiniz.

✅
Küçük adımlar

Problemleri küçük test adımlarına bölerek hızlı geri bildirim alır ve her adımda sistemi çalışır durumda tutarsınız.

✅
Test doubles

Mock, stub ve fake nesneleri ayırt ederek bağımlılıkları izole eder ve davranış ile durum doğrulamayı uygularsınız.

✅
Test edilebilir tasarım

Bağımlılık enjeksiyonu ve arayüzlere programlama ile gevşek bağlı, kolay test edilebilir bir tasarım kurmayı öğrenirsiniz.

✅
Güvenli refactoring

Testlerin güvencesiyle kodu küçük ve kontrollü adımlarla iyileştirerek davranışı bozmadan tasarımı geliştirirsiniz.

✅
Temiz test kodu

Kırılgan ve yavaş testleri tanıyıp gidererek test kodunu da bakımı kolay ve okunabilir biçimde tutmayı öğrenirsiniz.

✅
Tasarım geri bildirimi

Testlerden gelen sinyalleri okuyarak sorumlulukları netleştirir ve basit tasarım ilkeleriyle aşırı mühendislikten kaçınırsınız.

Kimler İçin Uygundur?

  • TDD disiplinini öğrenmek isteyen yazılım geliştiriciler
  • kod kalitesini artırmak isteyen mühendisler
  • test kültürünü ekibine kazandırmak isteyen takım liderleri
  • otomasyon testçileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
TDD disiplinini öğrenmek isteyen yazılım geliştiriciler, kod kalitesini artırmak isteyen mühendisler ve test kültürünü ekibine taşımak isteyen takım liderleri için uygundur. Bir programlama dilinde temel deneyim önerilir.
TDD ile birim test yazmak aynı şey mi?
Hayır. Birim test, kodu yazdıktan sonra da yazılabilir; TDD ise testi koddan önce yazıp kırmızı-yeşil-refactor döngüsüyle tasarımı yönlendiren bir disiplindir. Bu eğitim testi önce yazma alışkanlığına ve bu döngüye odaklanır.
Hangi dil ve araçlar kullanılıyor?
Örnekler yaygın bir nesne yönelimli dil ve birim test çatısı üzerinden işlenir; bağımlılıkların izolasyonu için Mockito benzeri bir mock çatısı kullanılır. Kavramlar diğer dillere ve test çatılarına kolayca uyarlanabilir.
Bu eğitim Agile Technical Tester TDD eğitiminden farkı nedir?
Bu program TDD'yi genel bir geliştirici disiplini olarak döngü, test doubles ve refactoring üzerinden ele alır. Agile Technical Tester TDD eğitimi ise ISTQB çevik test uzmanlığı bağlamında TDD, ATDD ve BDD'yi ekip süreçleri içinde konumlandırır.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Eğitim, TDD disiplinini kata alıştırmaları ve gerçekçi senaryolarla uygulamalı kazandırmaya odaklanır ve kuruma göre uyarlanabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Test Driven Development (TDD) Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Test TemelleriTester Foundation Level 4.0: Software Testing Basics Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Tester Foundation Level 4.0: Software Testing Basics Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ISTQB CTFL 4.0 temelli yazılım testi temelleri eğitimi: test kavramları, hata-kusur-arıza, yedi prensip, test süreci ve testçi psikolojisi. Sınava hazırlık.

Detayları Gör →
Yazılım Test TemelleriTester Foundation Level 4.0: Software Testing Processes Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Tester Foundation Level 4.0: Software Testing Processes Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ISTQB CTFL 4.0 test süreci eğitimi: test aktiviteleri, test planı, kestirim, strateji, giriş-çıkış kriterleri, izleme, kontrol, metrik ve raporlama.

Detayları Gör →
Yazılım Test TemelleriTester Foundation Level 4.0: Software Testing Risk & Defect Management Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Tester Foundation Level 4.0: Software Testing Risk & Defect Management Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ISTQB CTFL 4.0 risk ve kusur yönetimi eğitimi: risk tabanlı test, risk matrisi, kusur yaşam döngüsü, kusur raporu, önem-öncelik ve kusur metrikleri.

Detayları Gör →
Yazılım Test TemelleriTester Foundation Level 4.0: Software Testing Support Tools Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Tester Foundation Level 4.0: Software Testing Support Tools Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ISTQB CTFL 4.0 test araçları eğitimi: araç kategorileri, test otomasyonu, Selenium, JUnit, araç seçimi, CI/CD entegrasyonu ve getiri analizi.

Detayları Gör →
Yazılım Test TemelleriTester Foundation Level 4.0: Static Software Testing Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Tester Foundation Level 4.0: Static Software Testing Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ISTQB CTFL 4.0 statik test eğitimi: inceleme süreci, inceleme türleri, inceleme rolleri, statik analiz ve kod metrikleriyle erken kusur bulma.

Detayları Gör →
Yazılım Test TemelleriUnit Testing with Mocks: Creating Mocks & Verifying Behavior Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Unit Testing with Mocks: Creating Mocks & Verifying Behavior Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Birim testte mock eğitimi: test doubles, Mockito ile mock oluşturma, stubbing, argument matcher, verify ile davranış doğrulama ve anti-desenler.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn