🚨 Gerçek Hayat Sorunları
Gerçek Hayat Sorunları: Hata mesajı okumak, doktorun semptomdan teşhise gitmesi gibidir: ateş (kırmızı test) tek başına hastalığı söylemez — doktor ateşin YANINDAKİ bulgulara bak
Hata mesajı okumak, doktorun semptomdan teşhise gitmesi gibidir: ateş (kırmızı test) tek başına hastalığı söylemez — doktor ateşin YANINDAKİ bulgulara bakar (boğaz mı ağrıyor, öksürük mü var?). Gauge + Selenium yığınında da aynı hata rengi (FAIL) en az dört farklı katmandan gelebilir: Gauge çekirdeği (plugin eksik), spec-kod eşleşmesi (step bulunamadı), Selenium (element bulunamadı) veya senin locator deposun (anahtar yanlış). Peki neden hataları ezberlemek yerine KATMANINI teşhis etmeyi öğreniyoruz? Çünkü mesajlar sürümden sürüme değişir ama katman mimarisi değişmez: "hangi katman konuşuyor?" sorusuna cevap verebilen QA, hiç görmediği hatayı da çözer. Java karşılaştırması: stack trace okumayı bilen geliştirici Caused by zincirinin EN ALTINA iner — yüzeydeki exception çoğu zaman asıl sebebin ambalajıdır; Gauge'de de "Step failed" yüzeydir, altındaki gerçek exception'a inmen gerekir. QA bağlamındaki gerçek maliyet şudur: teşhis edilemeyen flaky hata "testi 3 kez koştur, geçerse merge et" kültürünü doğurur — bu noktada test suite artık kalite kapısı değil, ritüeldir. Aşağıdaki 8 hata, sahada en sık karşılaşacağın senaryolardır; her birinde önce mesajı, sonra katmanını, sonra kalıcı çözümü öğren.
🎬 Bir FAIL'in Katman Teşhisi
Bir doktorun ateşten teşhise gittiği gibi, sen de tek bir kırmızı renkten (FAIL) dört olası katmana inen bir teşhis yolculuğunu izleyeceksin.
Katman 1 — Gauge Çekirdeği: hata "Failed to start gauge API" mı diyor? Bu, bir plugin'in eksik olduğu anlamına gelir — koşum daha BAŞLAMADAN kırılmıştır.
Katman 2 — Spec-Step Eşleşmesi: hata "Step implementation not found" mu diyor? Spec cümlesi ile @Step metni KARAKTER KARAKTER eşleşmiyor demektir.
Katman 3 — Selenium/Element: hata NoSuchElementException veya StaleElementReferenceException mi? Locator yanlış, zamanlama sorunu ya da DOM yeniden render olmuş olabilir.
Katman 4 — Locator Deposu: sorun @FindBy veya JSON deposunda yanlış bir anahtar/değer mi? IllegalArgumentException fırlıyorsa mesajdaki "mevcut anahtarlar" listesine bak.
Final — doğru katman teşhis edilince kalıcı çözüm NETLEŞİR: plugin kurulur, spec cümlesi düzeltilir, wait eklenir veya JSON anahtarı düzeltilir. Teşhis edilemeyen hata "3 kez koştur, geçerse merge et" ritüelini doğurur — bu noktada suite artık kalite kapısı değildir.
Stack Trace'te Kök Nedene İnme
En üstteki exception'a güvenme
Yüzeydeki hata çoğu zaman asıl sebebin AMBALAJIDIR — "Step failed" gibi genel bir mesajdan ibaret olabilir.
"Caused by:" satırlarını takip et
Java stack trace'i, her "Caused by:" ile bir katman daha içeri iner — bu zinciri aşağı doğru oku.
Zincirin EN ALTI gerçek nedendir