Numexpedia Yazılım

Yazılımda Birim Testi Nedir?

Birim testi, bir programın en küçük parçalarının (genellikle tek bir fonksiyonun) beklenen sonucu verip vermediğini otomatik olarak denetleyen kısa kod parçasıdır.

4 dk okuma 2026-10-23

Bir programı her değiştirdiğinde her şeyi elle denemek hem yorucu hem de güvenilmezdir. Birim testi, programın küçük parçalarını otomatik olarak deneyen kod parçasıdır.

"Birim" ne demek?

Birim, tek başına denetlenebilen en küçük kod parçasıdır; çoğu zaman bir fonksiyondur. Birim testi o fonksiyona belirli girdiler verir ve sonucun beklenenle aynı olup olmadığına bakar.

Basit bir örnek

Denetlenecek fonksiyon:

function indirimliFiyat(fiyat, oran) {
  return fiyat - fiyat * oran;
}

Onun testi (Node.js'in yerleşik test aracıyla):

const test = require('node:test');
const assert = require('node:assert');

test('yüzde 10 indirim', () => {
  assert.strictEqual(indirimliFiyat(200, 0.1), 180);
});

test('indirim yoksa fiyat aynı kalır', () => {
  assert.strictEqual(indirimliFiyat(200, 0), 200);
});

Testler çalıştırıldığında her biri ya geçer ya da kalır. Kalan test, neyin bozulduğunu hemen gösterir.

Neden yazılır?

  • Değişiklik güveni: kodu değiştirdiğinde eski davranışın bozulmadığını saniyeler içinde görürsün.
  • Hatayı erken yakalamak: hata kullanıcıya ulaşmadan, yazıldığı anda bulunur.
  • Belge görevi: testler, fonksiyonun nasıl kullanılacağını ve ne döndürmesi gerektiğini örnekle anlatır.

İyi bir birim testi

  • Tek bir şeyi sınar ve adı neyi sınadığını söyler.
  • Hızlıdır: yüzlercesi birkaç saniyede biter.
  • Bağımsızdır: başka bir testin sonucuna, internete ya da gerçek veritabanına bağlı değildir.
  • Sınır durumlarını da dener: sıfır, boş liste, çok büyük sayı gibi.

Birim testi her şeyi kanıtlamaz

Birim testleri parçaların doğru çalıştığını gösterir; parçaların birlikte doğru çalıştığını göstermez. Bunun için entegrasyon testleri ve gerçek kullanıcı akışını deneyen uçtan uca testler de gerekir.

Test yazmak ilk başta yavaşlatıyor gibi görünür; ama bir projede ikinci ve üçüncü değişiklikte kazandırdığı zaman bunu fazlasıyla öder.

#test#birim testi#unit test#kalite#yazılım