← Back to list

Birim Testi (Unit Test) Neden Gereklidir?

Yazılım geliştirirken en sık karşılaşılan sorunlardan biri, kodun bir yerini güncellerken farkında olmadan başka bir işlevi bozmaktır…

Funda Ördek in Türkçe Yayın · 2026-07-19 10:11 · 1 claps · 1.6 min read
#unit-testing #software-development #software-engineering #software-testing
Open on Medium ↗

Birim Testi (Unit Test) Neden Gereklidir?

Yazılım geliştirirken en sık karşılaşılan sorunlardan biri, kodun bir yerini güncellerken farkında olmadan başka bir işlevi bozmaktır. Geliştirme aşamasında manuel olarak yapılan kontroller o anlık durumu kurtarsa da, proje büyüdükçe her senaryoyu elle denemek imkansız hale gelir.

En basit tanımıyla birim testi; yazdığımız bir fonksiyonun, verdiğimiz farklı girdilere (parametrelere) her koşulda doğru cevabı verip vermediğini otomatik olarak ölçen küçük kontrol kodlarıdır.

Birim Testi Yazmanın Pratik Faydaları

  • Kod Değişikliklerini Doğrulamak: Mevcut kod üzerinde düzenleme (refactoring) yapıldığında veya yeni bir özellik eklendiğinde, yaptığınız bu değişikliğin projedeki diğer özellikleri bozup bozmadığını tek bir test komutu çalıştırarak saniyeler içinde anlayabilirsiniz.
  • Hata Tespit Süresini Kısaltmak: Hataların canlı ortama taşınmadan, henüz geliştirme aşamasındayken fark edilmesini sağlar. Bu da hata çözme (debugging) sürelerini önemli ölçüde azaltır.
  • Tasarım Kalitesini Artırmak: Bir fonksiyona test yazmakta zorlanıyorsanız, o fonksiyon genellikle çok fazla sorumluluk üstlenmiş veya sıkı sıkıya bağımlı (tightly coupled) tasarlanmış demektir. Test yazmak, kodu daha modüler ve okunabilir hale getirmeye zorlar.

Kod Örneği ve Analizi

Konuyu somutlaştırmak için, e-ticaret sitelerinde sıkça kullanılan bir senaryoyu ele alalım: Sepetteki ürünlerin toplam tutarını hesaplayan ve belirli bir limitin üzerine indirim uygulayan bir fonksiyon yazacağız ve ardından bu fonksiyonu test edeceğiz.

1. Uygulama Kodu (cart.js)

Buradaki ana mantık, gelen ürün dizisini dönerek toplam fiyatı bulmak ve eğer toplam 500 TL veya üzerindeyse %10 indirim yapmaktır.

2. Test Kodu (cart.test.js)

Yazdığımız bu fonksiyonu test ederken Jest kütüphanesini kullanıyoruz. Sadece uygulamanın doğru çalıştığı anı değil, hata yapabileceğimiz tüm ihtimalleri (boş veri gelmesi veya tam sınırda kalınması gibi) ayrı ayrı senaryolaştırıyoruz:

Kodun Test Edilme Mantığı: Yazdığımız testlerdeki expect(...) kısmı fonksiyonu çalıştırıp sonucu alır, .toBe(...) kısmı ise bizim beklediğimiz doğru cevaptır. Test aracı (Jest) bu iki değeri karşılaştırır. Eğer eşleşiyorsa test geçer, eşleşmiyorsa fonksiyonun mantığında bir hata olduğunu bize bildirir.

Sonuç

Birim testleri, yazılımın uzun vadeli bakımını kolaylaştıran teknik bir gerekliliktir. Projenin başında test yazmak ek bir zaman maliyeti gibi görünse de, ilerleyen süreçte manuel kontrollerin getireceği zaman kayıplarını ve olası canlı ortam hatalarını engeller.


메타데이터
post_id
c1064da76dab
slug
birim-testi-unit-test-neden-gereklidir-c1064da76dab
url
https://medium.com/@fundaordek/birim-testi-unit-test-neden-gereklidir-c1064da76dab
canonical_url
https://medium.com/@fundaordek/birim-testi-unit-test-neden-gereklidir-c1064da76dab
author_url
https://medium.com/@fundaordek
status
ok
fetched_at
2026-07-21 11:16:06