BT Sözlüğü › Programlama › Özellik tabanlı test

Özellik tabanlı test

Programlama Svenska → Güncellendi: 2026-10-11

Her girdi için geçerli olması gereken değişmezleri (özellikleri) yazarsınız; kütüphane yüzlerce rastgele girdi üretip onları bozmaya çalışır.

Haskell için QuickCheck ile doğdu (Claessen ve Hughes, 1999). Klasik örnekler: reverse(reverse(xs)) == xs, sort(xs).length == xs.length, encode(decode(x)) == x. Başarısızlık olduğunda küçültme (shrinking) girdiyi hatayı yeniden üreten en küçük hale indirir.

Yaygın kütüphaneler: Hypothesis (Python), fast-check (JS), proptest (Rust), ScalaCheck, jqwik. Elle yazılmış birim testlerin kaçırdığı hataları, özellikle uç durumları (boş liste, negatif sayılar, unicode) bulur. Örnek tabanlı testlerin yerini almaz, onları tamamlar.

← Sözlüğe dön