Birim Testi Nedir?
İngilizce: Unit Testing
Yayın: · Son güncelleme:
Birim Testi Nedir? Kısaca
Birim testi (unit test), bir yazılımın en küçük test edilebilir parçasının, genelde tek bir fonksiyon ya da metodun, diğer bileşenlerden bağımsız olarak doğru çalışıp çalışmadığını kontrol eden otomatik testtir.

Birim testi nedir?
Birim testi, koddaki tek bir parçayı yalıtarak dener. Veritabanına, internete ya da başka servislere bağlanmaz. Yalnız "bu girdiyi verirsem bu çıktıyı alır mıyım" sorusunu sorar.
Hızlıdır. Yüzlerce birim testi birkaç saniyede çalışabilir, bu yüzden geliştiriciler onları her değişiklikten sonra çalıştırır.
Örnek bir birim testi
Bir fonksiyonun KDV dahil fiyat hesapladığını düşünün. Fonksiyon fiyatı ve oranı alıp toplamı döndürüyor. Varsayımsal olarak 100 TL ve yüzde 20 oranla çağrıldığında 120 TL dönmesi gerekir.
Python'da bunun testi şöyle olabilir:
def test_kdv_dahil_fiyat():
assert kdv_dahil(100, 20) == 120
İyi bir test seti yalnız normal durumu değil, sınır durumlarını da dener: sıfır fiyat, negatif değer, çok büyük sayılar. Dış bir servise bağlanan bir kod parçası test edilecekse o servis yerine sahte bir nesne, yani mock kullanılır.
İyi birim testinin kuralları
Her test tek bir şeyi kontrol etsin. Testin adı neyi doğruladığını anlatsın; test1 yerine bos_sepette_toplam_sifirdir gibi.
Testler birbirine bağlı olmamalı. Hangi sırayla çalışırsa çalışsın aynı sonucu vermeli. Python için pytest, JavaScript için Jest, Java için JUnit yaygın araçlardır. Kodu yazarken test etmesi zor bir fonksiyonla karşılaşıyorsanız, bu genelde fonksiyonun çok fazla iş yaptığının işaretidir.
Sıkça Sorulan Sorular
Unit test ile entegrasyon testi arasındaki fark nedir?
Unit test tek bir parçayı diğerlerinden yalıtarak dener. Entegrasyon testi ise birden fazla parçanın, örneğin uygulama ile veritabanının, birlikte doğru çalışıp çalışmadığını kontrol eder.
Her fonksiyon için birim testi yazmak gerekir mi?
Şart değildir. Önce iş kuralı içeren, hesaplama yapan ve sık değişen kodlara öncelik verin. Yalnız bir değeri başka yere aktaran basit kodlar için test yazmak çoğu zaman az değer üretir.
İlgili terimler
İlgili yazılar
Kendi Bilgisayarında Ücretsiz Yapay Zekâ Sistemi Kur: Ekran Kartı, İşlemci ve RAM ile Adım Adım
Kendi bilgisayarında ücretsiz ve limitsiz bir yapay zekâ sistemi kurmak mümkün: Ollama ya da LM Studio ile dil modeli, Continue ile kod asistanı, ComfyUI ya da Forge ile görsel üretim. Belirleyici olan ekran kartının belleğidir (VRAM); 8 GB'lık kartta 7-8B modeller rahat çalışır, kart yoksa işlemci ve RAM ile daha yavaş çalışır.
