TEST DRIVEN DEVELOPMENT & JAVA & JUNIT EĞİTİMİ

Önce testi yazın, sonra kodu rahatça değiştirin

Red-Green-Refactor döngüsü, JUnit 5, Mockito, AssertJ, parametreli testler, test double'lar ve test edilebilir tasarım üç günde uygulamalı işlenir

Java TDD eğitimi; Red-Green-Refactor, JUnit 5, AssertJ, Mockito, test edilebilir tasarım, kata çalışmaları, JaCoCo kapsama ve mutation testing ile kalite ölçümünü işler.

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

Eğitim Hakkında

Java'da TDD pratiği ve JUnit ile test otomasyonu

Eğitim, test güdümlü geliştirmeyi Java ve JUnit 5 ile uygulamalı öğretir. Red-Green-Refactor döngüsü, birim test yapısı (Arrange-Act-Assert), AssertJ ile okunur doğrulamalar, parametreli ve dinamik testler, Mockito ile mock, stub ve spy, bağımlılık enjeksiyonuyla test edilebilir tasarım, kata çalışmaları, JaCoCo ile kapsama ve mutation testing ile test kalitesi ölçümü ele alınır.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün TDD Döngüsü ve JUnit 5; 2. gün Mock'lar ve Tasarım; 3. gün Gerçekçi Uygulama ve Kalite Ölçümü.

Seviye

Orta Seviye — TDD döngüsü, JUnit 5, Mockito, AssertJ ve test edilebilir Java tasarımı

Öğrenme Metodu

Katılımcılar kata çalışmaları ve eşli programlama ile TDD döngüsünü uygular; son gün bir alan modelini sıfırdan TDD ile geliştirir.

Neden Bu Eğitim?

🔴Red-Green-Refactor

Test, kod, iyileştirme döngüsünü disiplinle uygulayarak küçük adımlarla ilerlersiniz.

🎭Doğru Test Double

Mock, stub ve spy farkını bilir, aşırı mock kullanımından kaçınırsınız.

📊Test Kalitesi

Kapsama ve mutation testing ile testlerin gerçekten hata yakalayıp yakalamadığını ölçersiniz.

Anahtar Konular

tdd eğitimitest driven development javajunit 5mockitoassertjred green refactorparametreli testjacocomutation testing pitjava birim test
“Test, tasarımın ilk müşterisidir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java bilgisi

Sınıf, arayüz, koleksiyon ve lambda ifadelerine hakimiyet gerekir.

2
Maven veya Gradle

Bağımlılık ekleme ve testi komut satırından çalıştırma bilinmelidir.

3
Git

Temel commit ve branch işlemleri faydalıdır.

4
Ortam

JDK 17 ve IntelliJ IDEA kurulu olmalıdır.

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 döngüsünü kata ile uygular ve JUnit 5 özelliklerini kullanır.
Modül 1
TDD Temelleri
  • Red-Green-Refactor döngüsünün adımları
  • Test önce yazmanın tasarıma etkisi
  • Üç TDD yasası (Uncle Bob)
  • FizzBuzz katası ile ilk döngü
  • Sahte uygulama (fake it) ve üçgenleme
  • TDD'nin uygun olmadığı durumlar
Modül 2
JUnit 5 Temelleri
  • @Test, @BeforeEach, @AfterEach, @BeforeAll
  • Jupiter, Platform ve Vintage mimarisi
  • assertEquals, assertThrows, assertAll
  • @DisplayName ve @Nested ile düzenleme
  • @Disabled ve etiketleme (@Tag)
  • Maven Surefire ile testleri çalıştırma
Modül 3
Okunur Testler
  • Arrange-Act-Assert / Given-When-Then yapısı
  • AssertJ ile akıcı doğrulamalar
  • Koleksiyon ve istisna doğrulamaları
  • Test adlandırma kuralları
  • Tek davranış, tek test ilkesi
  • Test veri üreticileri (Test Data Builder)
Modül 4
Parametreli Testler
  • @ParameterizedTest ve @ValueSource
  • @CsvSource ve @CsvFileSource
  • @MethodSource ile karmaşık veri
  • @EnumSource kullanımı
  • @TestFactory ile dinamik testler
  • Sınır değer ve eşdeğerlik sınıfı analizi
Günün hedefiKatılımcı bağımlılıkları taklit eder ve test edilebilir sınıflar tasarlar.
Modül 1
Test Double Türleri
  • Dummy, stub, fake, mock, spy ayrımı
  • Mockito ile mock oluşturma
  • when/thenReturn ve doThrow
  • verify ve çağrı sayısı doğrulaması
  • ArgumentCaptor ile parametre yakalama
  • Aşırı mock kullanımı kokuları
Modül 2
Bağımlılık Tasarımı
  • Constructor injection ile test edilebilirlik
  • Zaman ve rastgelelik için Clock soyutlaması
  • Statik bağımlılıkları sarmalama
  • Arayüz ayrımı ve küçük sorumluluk
  • Hexagonal mimaride test sınırları
  • Legacy koda test için seam açma
Modül 3
Refactoring
  • Kod kokuları ve refactoring katalogu
  • Testlerle güvence altında yeniden yapılandırma
  • Extract method ve Extract class
  • Tekrarın giderilmesi (DRY) ve soyutlama dengesi
  • Testin kendisini refactor etme
  • Test kodunda bakım yükü
Modül 4
Kata Çalışmaları
  • String Calculator katası
  • Bowling Game katası
  • Roman Numerals katası
  • Eşli programlama ve ping-pong TDD
  • Kata sonrası geri bildirim
  • Günlük pratik alışkanlığı
Günün hedefiKatılımcı bir alan modelini TDD ile geliştirir ve test kalitesini ölçer.
Modül 1
Alan Modeli TDD
  • Sipariş ve indirim kuralları domain'i
  • Kabul kriterlerinden teste dönüşüm
  • Önce iç kısım, sonra dış kısım (inside-out)
  • Değer nesneleri ve değişmezlik
  • Doğrulama kurallarının test edilmesi
  • Hesaplama sınır durumları
Modül 2
Katmanlı Testler
  • Test piramidi ve oranlar
  • Spring Boot'ta @WebMvcTest ve @DataJpaTest
  • Testcontainers ile veritabanı
  • Sözleşme ve entegrasyon testi farkı
  • Testlerin hızlı kalması
  • Flaky test teşhisi
Modül 3
Kalite Ölçümü
  • JaCoCo ile satır ve dal kapsaması
  • Kapsama yanılgıları
  • PIT ile mutation testing
  • Hayatta kalan mutant analizi
  • Test kokularının bulunması
  • Kapsama hedefinin anlamlı belirlenmesi
Modül 4
Süreç ve Ekip
  • CI'da testleri çalıştırma
  • Pull request'te test beklentisi
  • BDD ve Cucumber'a kısa bakış
  • TDD'yi ekibe yayma stratejisi
  • Legacy projede kademeli geçiş
  • Kapanış değerlendirmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
TDD Döngüsü

Red-Green-Refactor adımlarını küçük adımlarla uygulayabilirsiniz.

✅
JUnit 5 Kullanımı

Nested, parametreli ve dinamik testler yazabilirsiniz.

✅
AssertJ

Okunur ve akıcı doğrulamalar kurabilirsiniz.

✅
Mockito

Mock, stub ve spy'ı doğru yerde kullanabilirsiniz.

✅
Test Edilebilir Tasarım

Constructor injection ve soyutlamalarla test edilebilir kod yazabilirsiniz.

✅
Refactoring

Testlerin koruması altında güvenli yeniden yapılandırma yapabilirsiniz.

✅
Kata Pratiği

Kata çalışmalarıyla TDD refleksi geliştirebilirsiniz.

✅
Kalite Ölçümü

JaCoCo ve PIT ile test kalitesini değerlendirebilirsiniz.

Kimler İçin Uygundur?

  • Java ile geliştirme yapan
  • test yazma alışkanlığı edinmek veya TDD'yi ekibine yaymak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile geliştirme yapan, test yazma alışkanlığı edinmek veya TDD'yi ekibine yaymak isteyen geliştiriciler için uygundur.
TDD'yi hiç denemedim, katılabilir miyim?
Evet; kata çalışmalarıyla sıfırdan başlanır ve adım adım ilerlenir.
Spring bilgisi gerekli mi?
Gerekli değildir; Spring'e dair testler yalnızca son gün kısa bir bölümde gösterilir.
JUnit 4 kullanan projeler için faydalı mı?
Evet; Vintage motoruyla geçiş ve JUnit 4'ten 5'e farklar anlatılır.
Sertifika verilir mi?
Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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 & Java & JUnit Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.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

Java ve JVMJava Certified Foundations Associate: Math & Random Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Math & Random Classes Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java Foundations: Math ve Random Sınıfları eğitimi: Math.abs, pow, sqrt, round, floor, ceil, hypot, trigonometri, Math.random, java.util.Random, seed, nextInt,.

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Object-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Object-oriented Programming Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java Foundations: Nesne Yönelimli Programlama eğitimi: Kapsülleme, kalıtım, super, polimorfizm, override, soyut sınıf, arayüz, Object sınıfı, equals ve hashCode

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi

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

JDBC Batch İşlemleri ve Transaction Yönetimi eğitimi: addBatch, executeBatch, setAutoCommit, commit, rollback, Savepoint, izolasyon seviyeleri, deadlock, bağlan

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Interacting with Databases using RowSets Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Interacting with Databases using RowSets Eğitimi

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

JDBC RowSet ile Veritabanı Etkileşimi eğitimi: RowSetFactory, JdbcRowSet, CachedRowSet, WebRowSet, XML dışa aktarma, RowSetListener, bağlantısız çalışma ve acce

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Joining & Filtering Data with RowSets Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Joining & Filtering Data with RowSets Eğitimi

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

JDBC RowSet ile Join ve Filtreleme eğitimi: JoinRowSet.addRowSet, setMatchColumn, FilteredRowSet, Predicate arayüzü, join türleri, sıralama ve SQL JOIN ile perf

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