Şirketler
Yapay Zeka AkademiVideo EğitimlerEtkinliklerTeknik Testlerİş İlanlarıKomünite
Unit Test Nasıl Yazılır? Örneklerle Rehber

Unit Test Nasıl Yazılır? Örneklerle Rehber

Unit test nedir ve nasıl yazılır? Python ve pytest örnekleriyle birim test yazma adımlarını, test senaryolarını ve unit test ile integration test arasındaki farkları öğren.
Techcareer.net
Techcareer.net
●
27.10.2026
●
4 Dakika

Unit test, yazılımın küçük ve bağımsız parçalarının beklenen şekilde çalışıp çalışmadığını kontrol etmeyi sağlar. Peki, unit test nasıl yazılır ve hangi durumlarda kullanılır? Bu rehberde birim testlerin temel mantığını, test yazma adımlarını ve farklı programlama dillerinden örnekleri öğreneceksin.

Unit Test Nedir?

Unit test (birim testi), bir yazılımın tek bir fonksiyon, metot veya sınıf gibi küçük bir bölümünün davranışını doğrulayan test türüdür. Amaç, ilgili parçanın belirli girdiler karşısında beklenen çıktıyı üretip üretmediğini kontrol etmektir.

Örneğin, iki sayıyı toplayan bir fonksiyonun doğru sonucu döndürdüğünü test edebilirsin. Fonksiyonun 3 ve 5 girdileri için 8 sonucunu üretmesi bekleniyorsa unit test bu davranışı otomatik olarak doğrulayabilir.

Birim testler, hataların erken fark edilmesine ve kod değişikliklerinin mevcut işlevleri bozup bozmadığının anlaşılmasına yardımcı olur. Böylece yazılımın bakımını yapmak ve yeni özellikler eklemek kolaylaşabilir.

Unit Test Ne İşe Yarar?

Birim testler, yazılım geliştirme sürecinde kodun doğruluğunu kontrol etmek için kullanılır. Özellikle sık güncellenen projelerde, daha önce çalışan bir özelliğin yeni bir değişiklik nedeniyle bozulup bozulmadığını anlamayı kolaylaştırır.

Unit testlerin başlıca faydaları şunlardır:

  • Hataları erken tespit etmek: Bir fonksiyondaki beklenmeyen davranış, test çalıştırıldığında fark edilebilir.
  • Kod değişikliklerini güvenle yapmak: Yeni özellikler eklerken mevcut davranışların korunup korunmadığı kontrol edilebilir.
  • Kod kalitesini desteklemek: Test edilebilir kod yazmak, sorumlulukların daha açık tanımlanmasını teşvik eder.
  • Dokümantasyona katkı sağlamak: Testler, bir fonksiyonun belirli koşullarda nasıl davranması gerektiğini örneklerle gösterir.
  • Tekrarlanan kontrolleri otomatikleştirmek: Aynı senaryoları her değişiklikte elle kontrol etme ihtiyacını azaltır.

Unit testler tek başına bütün yazılım hatalarını bulamaz. Veritabanı, servisler ve farklı bileşenler arasındaki etkileşimleri doğrulamak için entegrasyon testleri gibi başka test türlerine de ihtiyaç duyulabilir.

Unit Test Nasıl Yazılır?

Birim testi yazarken önce test edeceğin fonksiyonun görevini ve beklenen davranışını belirlemelisin. Ardından farklı girdiler için beklenen sonuçları tanımlayarak bunları otomatik kontrol eden testler oluşturabilirsin.

Unit test yazma sürecini şu adımlarla ilerletebilirsin:

  • Test edilecek birimi belirle: Tek bir fonksiyon veya metodun davranışına odaklan.
  • Test senaryolarını oluştur: Normal girdilerin yanı sıra boş, hatalı veya sınır değerleri de düşün.
  • Test kodunu yaz: Fonksiyonu çalıştır ve elde edilen sonucu beklenen değerle karşılaştır.
  • Testleri çalıştır: Testlerin başarılı olup olmadığını kontrol et.
  • Hataları düzelt ve tekrar test et: Kodda değişiklik yaptıktan sonra testleri yeniden çalıştır.

Test kodunun anlaşılır ve bağımsız olması önemlidir. Bir testin sonucunun başka bir testin çalışmasına bağlı olması, hataların tespitini zorlaştırabilir.

Python ile Unit Test Nasıl Yazılır? Örnek

Python, birim testlere başlamak için kullanılabilecek dillerden biridir. Python'ın yerleşik unittest modülünün yanı sıra daha sade bir söz dizimi sunan pytest kütüphanesi de tercih edilebilir. Aşağıdaki örnekte pytest kullanarak basit bir toplama fonksiyonunu test edeceğiz.

Öncelikle calculator.py adlı dosyada test edeceğimiz fonksiyonu oluşturalım:

def topla(a, b):    return a + b

Ardından aynı proje klasöründe test_calculator.py adlı bir dosya oluşturup test kodunu yazalım:

from calculator import topladef test_topla():    assert topla(3, 5) == 8

Buradaki assert ifadesi, fonksiyonun sonucunun beklenen değerle aynı olup olmadığını kontrol eder. Sonuç 8 ise test başarılı olur. Farklı bir sonuç dönerse test başarısız olarak raporlanır.

pytest henüz kurulu değilse terminal üzerinden şu komutla kurabilirsin:

pip install pytest

Testleri çalıştırmak için proje klasöründe şu komutu kullan:

pytest

Test başarılı olduğunda pytest, ilgili testin geçtiğini raporlar. Böylece fonksiyonun belirlediğin senaryodaki davranışını otomatik olarak doğrulamış olursun.

Unit Test Yazarken Hangi Senaryolar Test Edilmelidir?

Yalnızca standart girdileri kontrol etmek, fonksiyonun bütün davranışlarını doğrulamak için yeterli olmayabilir. Gerçek kullanımda karşılaşılabilecek farklı durumları da değerlendirmek gerekir.

Örneğin, bir indirim hesaplama fonksiyonu için şu senaryoları düşünebilirsin:

  • Normal durum: 1.000 TL tutarındaki ürüne %10 indirim uygulanması.
  • Sınır değer: İndirim oranının %0 olması.
  • Üst sınır: İndirim oranının %100 olması durumunda beklenen davranış.
  • Geçersiz girdi: Negatif indirim oranı verildiğinde uygun bir hata oluşması.
  • Özel durum: Ürün fiyatının sıfır olması.

Bu senaryolar, fonksiyonun yalnızca doğru sonuç üretmesini değil, beklenmeyen girdileri nasıl ele aldığını da kontrol etmene yardımcı olur. Beklenen davranışlar, uygulamanın gereksinimlerine göre belirlenmelidir.

Unit Test Yazarken Nelere Dikkat Edilmelidir?

İyi bir birim testi yalnızca çalışan bir test değildir. Aynı zamanda anlaşılır, güvenilir ve gerektiğinde kolayca güncellenebilir olmalıdır.

Bunun için aşağıdaki noktalara dikkat edebilirsin:

  • Tek bir davranışa odaklan: Testin neyi doğruladığı açık olmalı.
  • Anlamlı isimler kullan: Test adı, kontrol edilen durumu mümkün olduğunca açıklamalı.
  • Testleri birbirinden bağımsız tut: Bir testin sonucu diğer testlerin çalışma sırasına bağlı olmamalı.
  • Beklenen sonuçları doğru belirle: Testin gerçekten hatalı kodu yakalayabildiğinden emin ol.
  • Dış bağımlılıkları sınırla: Birim testi, mümkün olduğunca veritabanı veya harici servisler gibi bileşenlerden bağımsız çalışmalı.

Ayrıca her satır için test yazmak yerine, kritik iş kurallarına ve hata oluşma ihtimali yüksek davranışlara öncelik vermelisin. Test kapsamı kadar testlerin niteliği de önemlidir.

Unit Test ile Integration Test Arasındaki Fark Nedir?

Unit test ve integration test, yazılımın doğruluğunu kontrol etmek için kullanılan farklı test türleridir. Temel fark, test edilen kapsamdır.

Birim testi tek bir bileşenin davranışını izole şekilde kontrol ederken entegrasyon testi birden fazla bileşenin birlikte doğru çalışıp çalışmadığını inceler. Örneğin, bir fiyat hesaplama fonksiyonunu test etmek unit test kapsamındadır. Bu fonksiyonun veritabanından alınan ürün bilgileriyle birlikte çalışmasını kontrol etmek ise entegrasyon testi gerektirebilir.

Bu iki test türü birbirinin alternatifi değildir. Yazılımın farklı seviyelerde doğrulanmasını sağlayarak birbirlerini tamamlarlar.

Unit test yazmayı öğrenmek, kodun davranışını daha iyi anlamana ve değişiklikleri daha güvenli yönetmene yardımcı olur. Küçük fonksiyonlarla başlayabilir, farklı senaryoları test edebilir ve testlerini geliştirme sürecinin düzenli bir parçası haline getirebilirsin.


Daha Fazla

Yazılım Dokümantasyonu Nasıl Yazılır? İyi Bir README Rehberi

Yazılım Dokümantasyonu Nasıl Yazılır? İyi Bir README Rehberi

Yazılım dokümantasyonu nasıl yazılır? İyi bir README dosyasının nasıl hazırlanacağını, hangi bölümleri içermesi gerektiğini ve Markdown ile dokümantasyon oluşturma adımlarını keşfet.
27.10.2026
●
6 Dakika
TECHCAREER
Hakkımızda
techcareer.net
Yapay Zeka Yetkinlik Akademisi
SOSYAL MEDYA
LinkedinTwitterInstagramYoutubeFacebook

tr

en

Tüm hakları saklıdır
© Copyright 2026
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu olarak 31/08/2024 – 30/08/2027 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 26/07/2024 tarih ve 16398069 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26