UNIT TESTING: AN INTRODUCTION TO THE JUNIT FRAMEWORK EĞİTİMİ

JUnit 5 ile birim teste sağlam giriş

JUnit Platform mimarisi, @Test ve yaşam döngüsü, temel assertion'lar ve ilk test takımı

Unit Testing: An Introduction to the JUnit Framework Eğitimi, Java geliştiricilerine birim testi JUnit 5 ile sıfırdan öğretir. Program JUnit Platform, Jupiter ve Vintage mimarisini, Maven ve Gradle ile kurulumu, @Test ile test yazmayı, yaşam döngüsü kancaları…

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

Eğitim Hakkında

JUnit 5 mimarisi ve kurulumundan yaşam döngüsü, assertion ve ilk gerçek test takımına

Unit Testing: An Introduction to the JUnit Framework Eğitimi, Java geliştiricilerine birim testi JUnit 5 ile sıfırdan öğretir. Katılımcılar JUnit Platform, Jupiter ve Vintage'dan oluşan modüler mimariyi, Maven ve Gradle ile kurulumu, @Test ile ilk testi, @BeforeEach ve @AfterAll gibi yaşam döngüsü anotasyonlarını, temel assertion'ları, @DisplayName kullanımını ve okunur test adlandırmayı öğrenir. Eğitim gerçek bir sınıf için baştan sona birim test takımı yazmayla tamamlanır.

Süre ve Format

4 Gün. Her gün dört modül; her kavram IntelliJ ve Maven ortamında canlı kodlama ve küçük test yazma alıştırmalarıyla işlenir.

Seviye

Orta Seviye — Java geliştiricileri için JUnit 5 mimarisi, yaşam döngüsü ve temel birim test yazımına giriş programı

Öğrenme Metodu

Her kavram basit ve gerçek sınıflar üzerinde canlı kodlanır; katılımcılar sıfırdan kendi testlerini yazarak adım adım pekiştirir.

Neden Bu Eğitim?

🌱Sağlam temel atın

Birim testin ne olduğunu ve JUnit 5 mimarisini kavrayarak doğru alışkanlıklarla güçlü bir test temeli oluşturursunuz.

🧪İlk testinizi yazın

@Test ve assertion'larla ilk çalışan testinizi yazar, kırmızı-yeşil döngüsünü deneyimleyerek güven kazanırsınız.

🔄Güvenle değiştirin

Birim testlerle korunan kodu, hataları erken yakalayan bir güvenlik ağıyla korkmadan yeniden düzenlemeyi öğrenirsiniz.

Anahtar Konular

junit eğitimijunit 5 kursubirim test eğitimijava unit testjunit giriştest yazma eğitimiassertequalsjunit yaşam döngüsübeforeeachjunit maven kurulum
“İyi yazılmış ilk birim test, yalnızca bir hatayı yakalamaz; ekibe güvenle değişiklik yapma cesaretini kazandıran bir güvenlik ağı kurar.”

Ön Koşullar

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

1
Java temelleri

Sınıf, metot, nesne ve temel veri tipleriyle basit Java kodu yazabilmek eğitimi takip etmek için gereklidir.

2
IDE kullanımı

IntelliJ IDEA veya Eclipse'te proje oluşturup kod çalıştırabilmek alıştırmaları yapmak için yeterlidir.

3
Maven veya Gradle

Temel düzeyde Maven ya da Gradle proje yapısına aşinalık bağımlılık ekleme adımlarını kolaylaştırır.

4
OOP kavramları

Kapsülleme ve metot dönüş değeri gibi nesne yönelimli kavramlar test edilecek davranışı anlamaya yardımcı olur.

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ı birim testin ne olduğunu ve değerini kavrar, JUnit Platform, Jupiter ve Vintage mimarisini anlar ve Maven ya da Gradle ile projeye JUnit 5'i kurup ilk testini çalıştırır.
Modül 1
Birim Test Nedir ve Neden Önemli
  • Birim testin tanımı ve test piramidindeki yeri
  • Manuel test ile otomatik testin karşılaştırılması
  • Hataları erken yakalamanın maliyet avantajı
  • Testin yaşayan dokümantasyon olarak değeri
  • Birim, entegrasyon ve uçtan uca test ayrımı
  • İyi bir birim testin temel özellikleri (FIRST)
Modül 2
JUnit 5 Modüler Mimarisi
  • JUnit Platform, Jupiter ve Vintage modülleri
  • Platform'un test motorlarını çalıştırma rolü
  • Jupiter'in yeni programlama modelini sunması
  • Vintage ile JUnit 4 testlerinin çalıştırılması
  • JUnit 4 ve 5 arasındaki temel farklar
  • Mimarinin genişletilebilirliğe katkısı
Modül 3
Maven ve Gradle ile Kurulum
  • junit-jupiter bağımlılığının pom.xml'e eklenmesi
  • Gradle build.gradle test yapılandırması
  • useJUnitPlatform ile motorun etkinleştirilmesi
  • src/test/java test dizin yapısının kurulması
  • Bağımlılık sürüm yönetimi (BOM) kullanımı
  • Kurulumun doğrulanması için küçük test
Modül 4
İlk Test ve IDE Entegrasyonu
  • İlk test sınıfı ve @Test metodunun yazılması
  • assertEquals ile ilk doğrulamanın yapılması
  • IDE'de testi çalıştırma ve yeşil bar görme
  • Başarısız testte kırmızı bar ve hata okuma
  • Test sonucu ve yığın izinin yorumlanması
  • Kırmızı-yeşil-refactor döngüsüne ilk bakış
Günün hedefiKatılımcı @Test ile test metotları yazar, @BeforeEach, @AfterEach, @BeforeAll ve @AfterAll ile kurulum ve temizlik kancalarını kullanır ve test örneği yaşam döngüsünü kavrar.
Modül 1
@Test ve Test Metodu Yazımı
  • @Test anotasyonuyla test metodu işaretleme
  • Test metodunun geçerli imza kuralları
  • Her testin bağımsız ve tek sorumlu olması
  • Arrange-Act-Assert (AAA) düzeni
  • Tek davranışı sınayan odaklı test yazımı
  • Testin hata durumunda net mesaj vermesi
Modül 2
Kurulum ve Temizlik Kancaları
  • @BeforeEach ile her testten önce kurulum
  • @AfterEach ile her testten sonra temizlik
  • @BeforeAll ile sınıf başına tek kurulum
  • @AfterAll ile sınıf sonu kaynak serbest bırakma
  • static gereksinimi ve çalışma sırası
  • Ortak kurulum kodunun tekrarının önlenmesi
Modül 3
Test Örneği Yaşam Döngüsü
  • Her test için yeni örnek oluşturulması (PER_METHOD)
  • Testler arası durum paylaşımının engellenmesi
  • Test izolasyonunun güvenilirliğe katkısı
  • Alan başlatmanın @BeforeEach'te yapılması
  • Durum sızıntısı (test smell) riskinin önlenmesi
  • Tekrarlanabilir ve bağımsız test tasarımı
Modül 4
@DisplayName ve @Disabled
  • @DisplayName ile okunur test başlığı verme
  • Boşluklu ve açıklayıcı test adlarının yazımı
  • @Disabled ile testin geçici olarak kapatılması
  • Devre dışı bırakma gerekçesinin belirtilmesi
  • Atlanan testin raporda ayrı görünmesi
  • Kapatılan testlerin unutulmamasının yönetimi
Günün hedefiKatılımcı assertEquals, assertTrue ve assertNull gibi temel assertion'ları kullanır, assertAll ile çoklu doğrulama yapar ve assertThrows ile beklenen istisnaları test etmeyi öğrenir.
Modül 1
Değer Tabanlı Assertion'lar
  • assertEquals ve assertNotEquals kullanımı
  • Beklenen ve gerçek değer sırası kuralı
  • float ve double karşılaştırmada delta payı
  • Nesne eşitliğinde equals yönteminin etkisi
  • assertArrayEquals ile dizi karşılaştırması
  • Başarısızlıkta beklenen/gerçek farkının okunması
Modül 2
Mantıksal ve Referans Assertion'lar
  • assertTrue ve assertFalse ile koşul kontrolü
  • assertNull ve assertNotNull kullanımı
  • assertSame ve assertNotSame referans kontrolü
  • fail ile kasıtlı başarısızlık tetikleme
  • Anlamlı başarısızlık mesajı ekleme
  • Lambda ile mesajın tembel (lazy) üretimi
Modül 3
assertAll ile Gruplu Doğrulama
  • assertAll ile birden çok iddianın birlikte kontrolü
  • İlk hatada durmadan tüm hataların raporlanması
  • Nesnenin birden çok alanını birlikte doğrulama
  • Gruplamanın test okunabilirliğine katkısı
  • Bağımsız iddiaların tek testte toplanması
  • assertAll'ın uygun kullanım sınırları
Modül 4
assertThrows ile İstisna Testi
  • assertThrows ile beklenen istisnanın yakalanması
  • Fırlatılan istisna türünün doğrulanması
  • İstisna mesajının kontrol edilmesi
  • assertDoesNotThrow ile istisnasızlık kontrolü
  • İstisna fırlatılmamasının hata sayılması
  • Hata senaryolarının birim testle kapsanması
Günün hedefiKatılımcı iyi test adlandırma ve AAA düzenini uygular, @Nested ve @Tag ile temel organizasyonu kavrar ve gerçek bir sınıf için baştan sona bakımı kolay bir test takımı yazar.
Modül 1
İyi Test Adlandırma
  • Metot adında davranış ve beklentiyi belirtme
  • Girdi-koşul-sonuç kalıbıyla adlandırma
  • @DisplayName ile okunur açıklama verme
  • Test adının dokümantasyon değeri
  • Belirsiz ve genel adlardan kaçınma
  • Ekip içinde tutarlı adlandırma standardı
Modül 2
AAA Düzeni ve Okunur Test
  • Arrange-Act-Assert bölümlerinin ayrılması
  • Hazırlık, eylem ve doğrulamanın netleştirilmesi
  • Tek testte tek davranışın sınanması
  • Gereksiz mantık ve dallanmadan kaçınma
  • Test kodunun da bakımlı tutulması
  • Okunur testin yaşayan belge olması
Modül 3
Temel Test Organizasyonu
  • @Nested ile ilişkili testlerin gruplanmasına giriş
  • @Tag ile testlerin kategorilere ayrılması
  • Test sınıfı ve paket düzeninin planlanması
  • Üretim sınıfıyla test sınıfının eşlenmesi
  • Hızlı ve yavaş testlerin ayrıştırılması
  • Test takımının düzenli büyütülmesi
Modül 4
Gerçek Bir Test Takımı Yazma
  • Basit bir servis sınıfının test edilmesi
  • Mutlu yol ve sınır durumlarının kapsanması
  • Geçersiz girdi ve istisna senaryolarının testi
  • Kurulum kancalarıyla tekrarın azaltılması
  • Test takımının okunur ve bakımlı kurgulanması
  • Testlerin birlikte çalıştırılıp gözden geçirilmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Birim test mantığı

Birim testin ne olduğunu, test piramidindeki yerini ve iyi bir testin özelliklerini kavrayarak doğru temeli kurarsınız.

✅
JUnit 5 mimarisi

Platform, Jupiter ve Vintage modüllerinin rolünü anlar, JUnit 4 ile farkları ayırt edersiniz.

✅
Kurulum yetkinliği

Maven ve Gradle projelerine JUnit 5'i doğru bağımlılık ve yapılandırmayla kurup testleri çalıştırırsınız.

✅
Test yazımı

@Test ile odaklı test metotları yazar, AAA düzeniyle okunur ve bağımsız testler kurgularsınız.

✅
Yaşam döngüsü

@BeforeEach, @AfterEach, @BeforeAll ve @AfterAll kancalarıyla kurulum ve temizliği doğru yönetirsiniz.

✅
Temel assertion'lar

assertEquals, assertTrue, assertNull ve assertAll ile değer, mantık ve çoklu doğrulamaları güvenle yazarsınız.

✅
İstisna testi

assertThrows ve assertDoesNotThrow ile beklenen istisnaları ve hata senaryolarını birim testle kapsarsınız.

✅
İlk test takımı

Gerçek bir sınıf için okunur adlandırma ve organizasyonla baştan sona bakımı kolay bir test takımı yazarsınız.

Kimler İçin Uygundur?

  • Birim teste yeni başlayan Java geliştiricileri
  • test kültürünü ekibine kazandırmak isteyen yazılımcılar
  • stajyer
  • junior geliştiriciler ile JUnit 4'ten 5'e geçiş yapan ekipler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Birim teste yeni başlayan Java geliştiricileri, stajyer ve junior yazılımcılar, test kültürünü ekibine kazandırmak isteyenler ve JUnit 4'ten 5'e geçen ekipler için uygundur. Temel Java bilgisi yeterlidir; test deneyimi gerekmez.
İleri anotasyonlar eğitiminden farkı nedir?
Bu giriş eğitimi @Test, yaşam döngüsü ve temel assertion'larla sıfırdan birim test yazmayı öğretir. İleri anotasyonlar eğitimi ise bu temeli varsayarak parametreli test, koşullu çalıştırma ve özel uzantı geliştirme gibi ileri konulara odaklanır.
JUnit öğrenmek için ne bilmem gerekir?
Temel Java bilgisi, yani sınıf ve metot yazabilmek ve bir IDE'de kod çalıştırabilmek yeterlidir. Eğitim JUnit 5 kurulumunu ve ilk testi sıfırdan gösterir; önceden test deneyimi beklenmez. Mockito gibi ek kütüphaneler bu eğitimin kapsamı dışındadır.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Tüm kavramlar IntelliJ ve Maven ortamında basit, gerçek sınıflar üzerinde canlı kodlama ve test yazma alıştırmalarıyla işlenir. Program yüz yüze veya online yapılabilir ve kuruma göre uyarlanı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, JUnit 5 ile birim testi sıfırdan gerçek kod üzerinde uygulamalı kazandırmaya odaklanır ve kuruma özel 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. Unit Testing: An Introduction to the JUnit Framework Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 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 TemelleriVirtual IIBA İş Analistleri ve İş Birimleri için Yazılım Test Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Virtual IIBA İş Analistleri ve İş Birimleri için Yazılım Test Eğitimi

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

İş analistleri ve iş birimleri için kod gerektirmeyen yazılım test eğitimi: kabul kriteri, UAT planlama, Gherkin BDD ve iş odaklı hata raporlama. Online.

Detayları Gör →
Yazılım Test TemelleriYazılım Test Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Yazılım Test Eğitimi

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

Kapsamlı yazılım test eğitimi: test ilkeleri, STLC, kara/beyaz kutu tasarım teknikleri, test yönetimi, hata döngüsü ve araçlar. ISTQB temelli, online.

Detayları Gör →
Yazılım Test TemelleriYazılım Test Uzmanlığı Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Yazılım Test Uzmanlığı Eğitimi

5 günUzmanOnline / Yüz Yüze / Hibrit

İleri yazılım test uzmanlığı eğitimi: risk tabanlı strateji, ileri tasarım, otomasyon mimarisi, performans ve güvenlik testi, TMMi süreç iyileştirme. Online.

Detayları Gör →
Yazılım Test TemelleriYazılım Testleri Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Yazılım Testleri Eğitimi

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

Yazılım test türleri eğitimi: birim, entegrasyon, sistem, kabul, performans, güvenlik, regresyon, API ve mobil testler ile doğru test seçimi. Online.

Detayları Gör →
Yazılım Test TemelleriTemel Yazılım Testi Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Temel Yazılım Testi Eğitimi

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

Test yaşam döngüsü, test seviyeleri, denklik bölümleme ve sınır değer teknikleri, hata yaşam döngüsü ve etkili hata raporlamayla temel yazılım testi eğitimi.

Detayları Gör →
Yazılım Test TemelleriTest Driven Development (TDD) Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Test Driven Development (TDD) Eğitimi

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

Kırmızı-yeşil-refactor döngüsü, birim test yazımı, test doubles, bağımlılık enjeksiyonu ve güvenli refactoring ile uygulamalı Test Driven Development eğitimi.

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