“Bende Çalışıyor”dan “Her Yerde Çalışıyor”a: Bir Junior Developer’ın Test ile Tanışma Hikayesi
Bilgisayar Mühendisliği / Computer Science bölümünden mezun olmak harika bir his… yaklaşık 5 dakika boyunca.
Sonra gerçek hayat başlıyor.
İlk işine junior developer olarak giriyorsun, editörü açıyorsun, kod yazıyorsun, çalıştırıyorsun… ve çalışıyor. Güzel his. Hatta biraz gurur bile.
Sonra başka biri çalıştırıyor.
…ve bozuluyor.
Gerçek dünyaya hoş geldin.
Kod Yazmak Yetmiyor Olduğunu Anladığın An
Üniversitede başarı genelde “doğru çıktı” almak demekti. Program bir kere çalıştı mı, iş bitmiş sayılıyordu. Kimse özellikle kodunu kırmaya çalışmıyordu.
Ama gerçek dünyada? İnsanlar kodunu kırar. İsteyerek değil—ama olur.
Beklemediğin yerlere tıklarlar.
Garip veriler girerler.
Yavaş internet kullanırlar.
Her şeyi “yanlış” sırayla yaparlar.
İşte o zaman fark ediyorsun: kod yazmak işin sadece yarısı. Onun her zaman çalışmasını sağlamak diğer yarısı.
Tester Gibi Düşünmek
Bir noktadan sonra şu soruyu sormayı bırakıyorsun:
“Kodum çalışıyor mu?”
Onun yerine şunu sormaya başlıyorsun:
“Bu nasıl bozulur?”
İşte asıl fark burada.
Şunları düşünmeye başlıyorsun:
- “Bu değer null gelirse ne olur?”
- “API yavaşsa ne olur?”
- “Kullanıcı buna 10 kere basarsa?”
Kısacası kendi kodunun en büyük eleştirmeni oluyorsun—ve bu iyi bir şey.

Kendi Kodunu İlk Kez Sen Kırdığında
Her junior’ın yaşadığı bir an var.
Bir feature yazıyorsun. Kusursuz çalışıyor. Sonra küçük bir edge-case deniyorsun… ve sistem çöküyor.
İlk başta sinir bozucu geliyor. Ama gerçek öğrenme tam burada başlıyor.
Çünkü artık sadece kod yazmıyorsun—davranışı anlamaya başlıyorsun.
Test Türleri
Basit ve net gidelim:
Unit Test
Kendi yazdığın küçük parçaları test ediyorsun.
“Bu fonksiyon gerçekten düşündüğüm gibi mi çalışıyor?”
Integration Test
Parçaları birleştiriyorsun… ve işler karışıyor.
API çalışıyor, database çalışıyor ama birlikte? Sorun çıkıyor.
End-to-End (E2E) Test
Kendini kullanıcı yerine koyuyorsun.
Tıklıyorsun, yazıyorsun, geziyorsun.
“Her şey düzgün akıyor mu?”
Manual Test
Aslında en underrated olanı.
Uygulamanı normal bir insan gibi kullanmak bile bug yakalatır.
Performance Test
Uygulaman güzel çalışıyor… ta ki 1000 kişi aynı anda girene kadar.
İşte o zaman gerçek performans ortaya çıkıyor.
Bug Gerçeği
Kimse başta söylemiyor ama gerçek şu:
Bug’lar normaldir. Sürekli vardır.
Amaç onları tamamen yok etmek değil (bu imkansız).
Amaç onları erken yakalamak.
Çünkü kullanıcı gördüyse… iş işten geçmiştir.
Junior’ların Yaptığı Klasik Hatalar
Dürüst olalım:
- “Bende çalışıyor” → efsanevi son söz
- Sadece happy-path test etmek
- Edge-case’lerden kaçmak
- “Test yazmaya zaman yok” demek (aslında var, sadece farkında değilsin)
Bunları yapacaksın. Herkes yapıyor.
Önemli olan fark edip geliştirmek.

Seni Gerçekten Geliştiren Şey
Daha fazla kod yazmak değil.
Şunlar:
- Kendi hatanı kendin yakalamak
- Neden bozulduğunu anlamak
- Debug etmeye alışmak
- Biraz yavaşlayıp düşünmek
Test seni buna zorlar.
Son Söz
Junior developer olmak biraz kaotik. Sürekli öğreniyorsun, bozuyorsun, düzeltiyorsun ve tekrar ediyorsun.
Ama erken kazanman gereken bir alışkanlık varsa, o da şu:
Sadece kod yazma—kodunu sorgula.
Çünkü iyi developer kod yazandır.
Harika developer ise yazdığı kodun her durumda çalışmasını sağlayandır.
Aradaki fark?
Test.

