UNIT TESTING: ASSERTIONS & ASSUMPTIONS IN JUNIT EĞİTİMİ

Doğru assertion ile anlamlı testler

assertEquals'tan assertAll, assertThrows ve assertTimeout'a, varsayımlar ve AssertJ/Hamcrest

Unit Testing: Assertions & Assumptions in JUnit Eğitimi, JUnit 5'in doğrulama yeteneklerini derinlemesine işler. Program assertEquals ve assertSame gibi temel assertion'ları, assertAll ile gruplu doğrulamayı, assertThrows ile istisna testini, assertTimeout il…

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

Eğitim Hakkında

Temel assertion kataloğundan grup, istisna ve zaman iddialarına ve varsayımlara

Unit Testing: Assertions & Assumptions in JUnit Eğitimi, JUnit 5'in doğrulama yeteneklerini derinlemesine işler. Katılımcılar assertEquals, assertTrue ve assertSame gibi temel assertion'ları, assertAll ile gruplu doğrulamayı, assertThrows ile istisna testini ve assertTimeout ile süre sınırını öğrenir. Ayrıca assumeTrue ve assumingThat ile varsayımları, Hamcrest ve AssertJ ile akıcı iddiaları ve okunur hata mesajlarını kavrar. Eğitim doğru iddia seçimiyle tamamlanır.

Süre ve Format

4 Gün. Her gün dört modül; her iddia türü gerçek testler üzerinde canlı kodlama ve hata mesajı okuma alıştırmalarıyla işlenir.

Seviye

Orta Seviye — JUnit 5 assertion kataloğunu, grup/istisna/zaman iddialarını ve varsayımları derinlemesine işleyen program

Öğrenme Metodu

Her assertion ve varsayım gerçek testler üzerinde canlı kodlanır; katılımcılar hatalı testlerin mesajlarını okuyup düzelterek pekiştirir.

Neden Bu Eğitim?

🎯Doğru iddiayı seçin

Her senaryoya uygun assertion'ı seçerek testin niyetini netleştirir ve başarısızlıkta anlaşılır mesajlar üretirsiniz.

🧵Hata tanısını hızlandırın

assertAll ve okunur mesajlarla bir testin tüm sorunlarını tek seferde görür, tanı süresini önemli ölçüde kısaltırsınız.

🔀Varsayımları yönetin

Varsayımlarla uygun olmayan ortamlarda testleri başarısızlık yerine iptal ederek takımı yanıltan kırmızıları önlersiniz.

Anahtar Konular

junit assertion eğitimiassertequals kullanımıassertthrowsasserttimeoutjunit assumptionsassumetrueassertj eğitimihamcrest matcherjunit iddiabirim test doğrulama
“Bir testin değeri geçtiğinde değil, başarısız olduğunda ortaya çıkar; doğru seçilmiş bir iddia, hatayı bir bakışta anlaşılır kılar.”

Ön Koşullar

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

1
JUnit temeli

@Test ile basit test yazabilmek ve testleri çalıştırabilmek bu eğitimi takip etmek için gereklidir.

2
Java bilgisi

Nesne eşitliği, equals ve lambda ifadeleri gibi temel Java kavramlarına hakimiyet örnekleri kolaylaştırır.

3
İstisna kavramı

Java'da istisna fırlatma ve yakalamayı bilmek assertThrows konularını kavramayı kolaylaştırır.

4
IDE kullanımı

Testleri IDE'de çalıştırıp hata çıktısını okuyabilmek alıştırmaları yapmak için yeterlidir.

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ı assertEquals, assertTrue, assertNull ve assertSame gibi temel assertion'ları doğru kullanır, float karşılaştırmada delta payını ve okunur başarısızlık mesajı yazmayı öğrenir.
Modül 1
Değer Eşitliği İddiaları
  • assertEquals ve assertNotEquals kullanımı
  • Beklenen-gerçek (expected-actual) sıra kuralı
  • Nesne eşitliğinde equals yönteminin rolü
  • float ve double için delta toleransı
  • assertArrayEquals ile dizi karşılaştırması
  • assertIterableEquals ile koleksiyon eşitliği
Modül 2
Mantıksal ve Boolean İddialar
  • assertTrue ile koşulun doğruluğunu sınama
  • assertFalse ile olumsuz koşul kontrolü
  • Karmaşık koşulun anlamlı iddiaya dönüştürülmesi
  • fail ile kasıtlı başarısızlık tetikleme
  • Mantıksal iddiada okunabilirlik tuzakları
  • Koşul yerine spesifik iddia tercih etme
Modül 3
Referans ve Null İddiaları
  • assertNull ve assertNotNull kullanımı
  • assertSame ve assertNotSame referans kontrolü
  • Eşitlik (equals) ile özdeşlik (==) farkı
  • Null döndüren metotların sınanması
  • Önbellek ve singleton'da referans doğrulama
  • Uygun iddia türünün bilinçli seçimi
Modül 4
Başarısızlık Mesajları
  • İddialara açıklayıcı mesaj parametresi ekleme
  • Lambda ile mesajın tembel (lazy) üretimi
  • Varsayılan beklenen/gerçek çıktısının okunması
  • Mesajın hata tanısını hızlandırması
  • Gereksiz ve yanıltıcı mesajlardan kaçınma
  • Mesaj ile test niyetinin netleştirilmesi
Günün hedefiKatılımcı assertAll ile çoklu doğrulamayı, assertThrows ve assertDoesNotThrow ile istisna testini, assertTimeout ile süre sınırını ve assertLinesMatch ile çok satırlı çıktı karşılaştırmasını öğrenir.
Modül 1
assertAll ile Gruplu Doğrulama
  • assertAll ile bağımsız iddiaların toplanması
  • İlk hatada durmadan tüm hataların raporlanması
  • Bir nesnenin çok alanının birlikte doğrulanması
  • Grup başlığıyla (heading) hata bağlamı verme
  • İç içe assertAll ile iddiaların kümelenmesi
  • Bağımlı iddialarda assertAll'dan kaçınma
Modül 2
İstisna İddiaları
  • assertThrows ile beklenen istisnayı yakalama
  • Dönen istisna nesnesi üzerinde doğrulama
  • İstisna türü, mesaj ve neden kontrolü
  • assertDoesNotThrow ile istisnasızlık sınaması
  • Yanlış türde istisnanın testle yakalanması
  • İstisna fırlatılmamasının hata sayılması
Modül 3
Zaman Aşımı İddiaları
  • assertTimeout ile kod bloğuna süre sınırı
  • assertTimeoutPreemptively ile erken kesme
  • İki timeout yaklaşımının davranış farkı
  • Süre aşımında anlamlı başarısızlık üretimi
  • Thread yönetimi ve preemptive riskleri
  • @Timeout anotasyonuyla farkın bilinmesi
Modül 4
assertLinesMatch ve Özel Durumlar
  • assertLinesMatch ile çok satırlı çıktı kontrolü
  • Regex ve hızlı ileri (fast-forward) desenleri
  • Log ve konsol çıktısının esnek karşılaştırması
  • Beklenen satır desenlerinin tanımlanması
  • Katı eşitlik yerine desen tabanlı doğrulama
  • Çıktı testlerinin kırılganlığını azaltma
Günün hedefiKatılımcı assumeTrue ve assumeFalse ile ön koşulları kontrol eder, assumingThat ile koşullu doğrulama yapar ve varsayımla başarısızlık arasındaki farkı kavrayarak ortama bağlı testleri yönetir.
Modül 1
Varsayım Kavramı ve İptal
  • Varsayımın (assumption) amaç ve mantığı
  • Varsayım karşılanmayınca testin iptal edilmesi
  • İptal (aborted) ile başarısızlık (failed) farkı
  • Raporda atlanan testin ayrı görünmesi
  • Takımı yanıltan gereksiz kırmızıların önlenmesi
  • Varsayımın uygun kullanım senaryoları
Modül 2
assumeTrue ve assumeFalse
  • assumeTrue ile ön koşul doğruysa devam etme
  • assumeFalse ile koşul yanlışsa devam etme
  • Ortam değişkenine göre testin iptali
  • İşletim sistemi veya profile göre varsayım
  • Varsayım mesajıyla iptal gerekçesi verme
  • Varsayımın testin başında konumlandırılması
Modül 3
assumingThat ile Koşullu Doğrulama
  • assumingThat ile yalnızca koşulda iddia çalıştırma
  • Testin geri kalanının her durumda sürmesi
  • Kısmi senaryoların tek testte ele alınması
  • assumeTrue ile assumingThat arasındaki fark
  • Koşullu iddianın okunabilirliğe etkisi
  • Aşırı koşullu testin bölünmesi gerekliliği
Modül 4
Ortama Bağlı Test Stratejisi
  • Varsayım ile koşullu çalıştırma anotasyonu seçimi
  • CI ve yerel ortam farklarının yönetimi
  • Dış servise bağlı testlerin güvenli iptali
  • Platforma özgü davranışların test edilmesi
  • Atlanan testlerin görünür ve takip edilir olması
  • Varsayımların aşırı kullanımından kaçınma
Günün hedefiKatılımcı Hamcrest matcher'larını ve AssertJ akıcı iddialarını kullanır, özel assertion'lar tasarlar ve gerçek senaryolarda en okunur ve anlamlı iddia yaklaşımını seçmeyi öğrenir.
Modül 1
Hamcrest ile Matcher Tabanlı İddia
  • assertThat ile matcher tabanlı doğrulama
  • is, equalTo ve not gibi temel matcher'lar
  • hasItem ve contains ile koleksiyon kontrolü
  • Matcher'ların okunur hata mesajı üretmesi
  • Matcher bileşimiyle karmaşık koşul kurma
  • Hamcrest'in uygun kullanım alanları
Modül 2
AssertJ ile Akıcı İddialar
  • assertThat ile akıcı (fluent) zincirleme iddia
  • isEqualTo, contains ve hasSize kullanımı
  • Nesne ve koleksiyonların derin karşılaştırması
  • İstisna için assertThatThrownBy kullanımı
  • extracting ile alanların seçilip sınanması
  • SoftAssertions ile tüm hataların toplanması
Modül 3
Özel ve Okunur İddialar
  • Tekrarlayan kontrolün özel iddiaya alınması
  • Alan (domain) odaklı özel assertion tasarımı
  • Özel matcher ve AssertJ eklentisi yazma
  • İddia yardımcılarıyla tekrarın azaltılması
  • Testin niyetini yansıtan okunur iddia
  • Aşırı soyutlamadan kaçınma dengesi
Modül 4
Doğru İddia Seçimi ve Uygulama
  • Senaryoya göre JUnit, Hamcrest veya AssertJ seçimi
  • Katı eşitlik ile esnek desen arasında denge
  • İddia ve varsayımın birlikte kullanımı
  • Gerçek bir sınıfın okunur iddialarla test edilmesi
  • Hata mesajı kalitesine göre iddia iyileştirme
  • Test takımının iddia tutarlılığının gözden geçirilmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Assertion kataloğu

assertEquals, assertTrue, assertNull ve assertSame gibi iddiaları her senaryoya doğru türü seçerek kullanırsınız.

✅
Okunur mesajlar

İddialara açıklayıcı mesajlar ekleyip lambda ile tembel üreterek başarısızlıkta hata tanısını hızlandırırsınız.

✅
Gruplu doğrulama

assertAll ile bağımsız iddiaları toplar, ilk hatada durmadan bir testin tüm sorunlarını tek seferde görürsünüz.

✅
İstisna iddiaları

assertThrows ve assertDoesNotThrow ile istisna türü, mesaj ve neden zincirini ayrıntılı doğrularsınız.

✅
Zaman aşımı testi

assertTimeout ve assertTimeoutPreemptively ile kod bloklarına süre sınırı koyar, yavaş davranışı yakalarsınız.

✅
Varsayım yönetimi

assumeTrue, assumeFalse ve assumingThat ile ortama bağlı testleri başarısızlık yerine iptal ederek yönetirsiniz.

✅
Hamcrest ve AssertJ

Hamcrest matcher'ları ve AssertJ akıcı iddialarıyla daha okunur, derin ve esnek doğrulamalar yazarsınız.

✅
Doğru iddia seçimi

Her senaryoda en okunur ve anlamlı iddia yaklaşımını seçerek testlerin niyetini netleştirip bakımını kolaylaştırırsınız.

Kimler İçin Uygundur?

  • JUnit ile test yazmaya başlamış Java geliştiricileri
  • test okunabilirliğini
  • hata tanısını iyileştirmek isteyen ekipler ve doğru assertion seçimi konusunda derinleşmek isteyen test mühendisleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
JUnit ile test yazmaya başlamış Java geliştiricileri, test okunabilirliğini ve hata tanısını iyileştirmek isteyen ekipler ve doğru iddia seçiminde derinleşmek isteyen test mühendisleri için uygundur. Temel JUnit deneyimi ön koşuldur.
JUnit'e giriş eğitiminden farkı nedir?
Giriş eğitimi @Test, yaşam döngüsü ve assertion'lara genel bir bakış verir. Bu program ise doğrudan doğrulamaya odaklanır: tüm assertion kataloğu, grup, istisna ve zaman iddiaları, varsayımlar ve Hamcrest ile AssertJ gibi üçüncü parti kütüphaneler derinlemesine işlenir.
Varsayım (assumption) ile assertion farkı nedir?
Assertion başarısız olunca test başarısız (failed) sayılır. Varsayım ise karşılanmazsa test başarısız olmaz, iptal (aborted) edilip atlanır. Varsayımlar, testin yalnızca uygun ortamda anlamlı olduğu durumlarda kullanılır. Eğitimde assumeTrue ve assumingThat uygulamalı işlenir.
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. Her iddia türü gerçek testler üzerinde canlı kodlama ve hatalı testlerin mesajını okuyup düzeltme 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 assertion ve varsayımlarını gerçek testler ü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: Assertions & Assumptions in JUnit 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 TemelleriSoftware Testing Cycle: Agile Testing Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Software Testing Cycle: Agile Testing Eğitimi

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

Çevik test eğitimi: Scrum'da test, agile test quadrantları, otomasyon piramidi, TDD, ATDD, BDD, kullanıcı hikayesi testi ve sürekli test. Online ve kurumsal.

Detayları Gör →
Yazılım Test TemelleriSoftware Testing Foundation : Black-box & White-box Testing Techniques Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Software Testing Foundation : Black-box & White-box Testing Techniques Eğitimi

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

ISTQB temel seviye test tasarım teknikleri: denklik paylaşımı, sınır değer analizi, karar tablosu, durum geçiş, dal kapsaması ve deneyim temelli test uygulamalı

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

Software Testing Foundation : Risk & Defect Management Eğitimi

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

ISTQB temel seviye risk ve kusur yönetimi: risk analizi, risk temelli test, kusur yaşam döngüsü, kusur raporu, severity-priority ve kök neden analizi uygulamalı

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

Software Testing Foundation : Static Testing Eğitimi

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

ISTQB temel seviye statik test: inceleme türleri, inceleme süreci ve rolleri, walkthrough, inspection, statik analiz araçları ve CI entegrasyonu uygulamalı.

Detayları Gör →
Yazılım Test TemelleriSoftware Testing Foundation : Test Management Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Software Testing Foundation : Test Management Eğitimi

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

ISTQB temel seviye test yönetimi: test organizasyonu, test stratejisi, test planı, giriş-çıkış kriterleri, kestirim, izlenebilirlik ve yönetim araçları uygulama

Detayları Gör →
Yazılım Test TemelleriSoftware Testing Foundation : Test Monitoring & Control Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Software Testing Foundation : Test Monitoring & Control Eğitimi

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

ISTQB temel seviye test izleme ve kontrol: test metrikleri, ilerleme ve kusur göstergeleri, raporlar, panolar, metrik yorumlama ve kontrol eylemleri uygulamalı.

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